From fb8dddf0f16a0a7a582fe832bf1091b00f4a02d9 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 23 Feb 2019 23:17:26 -0500 Subject: [PATCH 01/84] Decompiled sub_81C81D4 --- asm/pokenav.s | 41 ----------------------------------------- src/pokenav.c | 49 ++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 42 insertions(+), 48 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index d568f4281f..42fa188030 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,47 +5,6 @@ .text - - - - - thumb_func_start sub_81C81D4 -sub_81C81D4: @ 81C81D4 - push {r4-r7,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - ldr r1, =0x000008a4 - movs r0, 0x11 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C821C - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r5, 0 - bl sub_81C9160 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r7, 0 - bl sub_81C91AC - cmp r0, 0 - beq _081C821C - ldr r0, =sub_81C8254 - movs r1, 0x6 - bl sub_81C7078 - movs r0, 0x1 - b _081C821E - .pool -_081C821C: - movs r0, 0 -_081C821E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C81D4 - thumb_func_start sub_81C8224 sub_81C8224: @ 81C8224 push {lr} diff --git a/src/pokenav.c b/src/pokenav.c index d09c3da94b..1e712b1700 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -28,6 +28,18 @@ enum #define UNKNOWN_OFFSET 100000 +// Sizes based tentatively on loads and stores in sub_81C9160 +struct UnknownSubSubStruct_0203CF40 { + u16 unk0; + u16 unk2; + u16 unk4; + u16 unk6; + u8 unk8; + u8 unk9; + u16 unkA; + u16 unkC; +}; + struct UnknownSubStruct_0203CF40 { void (*unk0)(u32); @@ -39,7 +51,14 @@ struct UnknownSubStruct_0203CF40 struct Sprite *unk18; struct Sprite *unk1C[2]; struct Sprite *unk24[2]; - u8 tilemapBuffer[0x1000]; + u8 tilemapBuffer[0x800]; +}; + +struct UnknownSubStruct_81C81D4 +{ + u8 unk0[0x888]; + struct UnknownSubSubStruct_0203CF40 unk888; + u8 unk898[0xC]; }; #define SUBSTRUCT_COUNT 19 @@ -51,7 +70,7 @@ struct UnknownStruct_0203CF40 u16 mode; u16 fieldA; bool32 hasAnyRibbons; - struct UnknownSubStruct_0203CF40 *field10[SUBSTRUCT_COUNT]; + void *field10[SUBSTRUCT_COUNT]; }; extern u32 sub_81C9430(void); @@ -116,6 +135,9 @@ extern u32 sub_81D04B8(void); extern u32 sub_81D09F4(void); extern u32 sub_81CFA04(void); extern u32 sub_81CFE08(void); +extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void *a2, s32 a3); +extern u32 sub_81C9160(struct UnknownSubSubStruct_0203CF40 *a0, void *a1); +extern u32 sub_81C8254(s32); u32 sub_81C791C(s32 a0); bool32 sub_81C756C(u32 a0); @@ -760,7 +782,9 @@ bool32 CanViewRibbonsMenu(void) bool32 sub_81C76C4(void) { - struct UnknownSubStruct_0203CF40 *structPtr = AllocSubstruct(0, 0x82C); + struct UnknownSubStruct_0203CF40 *structPtr; + + structPtr = AllocSubstruct(0, sizeof(struct UnknownSubStruct_0203CF40)); if (structPtr == NULL) return FALSE; @@ -1422,12 +1446,23 @@ void sub_81C817C(struct Sprite *sprite) } } -/* -bool32 sub_81C81D4(const void *arg0, void *arg1, s32 arg3) +bool32 sub_81C81D4(const void *arg0, void *arg1, s32 arg2) { - struct UnknownSubStruct_0203CF40 *structPtr = AllocSubstruct(0x11, 0x8A4); + u32 v1; + struct UnknownSubStruct_81C81D4 *structPtr; + + structPtr = AllocSubstruct(0x11, sizeof(struct UnknownSubStruct_81C81D4)); if (structPtr == NULL) return FALSE; + + sub_81C9160(&structPtr->unk888, arg1); + + v1 = sub_81C91AC(structPtr, arg0, arg1, arg2); + if (v1 == 0) + return FALSE; + + sub_81C7078(sub_81C8254, 6); + return TRUE; } -*/ + From a7d2d986b234b870ae06555d2a64a1d7721b9556 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 23 Feb 2019 23:38:32 -0500 Subject: [PATCH 02/84] Decompiled two small functions, updated structs --- asm/pokenav.s | 26 -------------------------- src/pokenav.c | 24 +++++++++++++++++++----- 2 files changed, 19 insertions(+), 31 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index 42fa188030..e17cff2775 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,32 +5,6 @@ .text - thumb_func_start sub_81C8224 -sub_81C8224: @ 81C8224 - push {lr} - ldr r0, =sub_81C8254 - bl sub_81C7124 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C8224 - - thumb_func_start sub_81C8234 -sub_81C8234: @ 81C8234 - push {r4,lr} - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C8FE0 - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0x11 - bl FreeSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C8234 - thumb_func_start sub_81C8254 sub_81C8254: @ 81C8254 push {r4,lr} diff --git a/src/pokenav.c b/src/pokenav.c index 1e712b1700..ce8606f0d7 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -34,7 +34,7 @@ struct UnknownSubSubStruct_0203CF40 { u16 unk2; u16 unk4; u16 unk6; - u8 unk8; + u8 windowId; u8 unk9; u16 unkA; u16 unkC; @@ -56,7 +56,8 @@ struct UnknownSubStruct_0203CF40 struct UnknownSubStruct_81C81D4 { - u8 unk0[0x888]; + struct UnknownSubSubStruct_0203CF40 unk0; + u8 unkE[0x878]; struct UnknownSubSubStruct_0203CF40 unk888; u8 unk898[0xC]; }; @@ -78,6 +79,7 @@ extern void sub_81CAADC(void); extern u32 sub_81C99D4(void); extern void sub_8199D98(void); extern void sub_81C7D28(void); +extern void sub_81C8FE0(void); extern u32 sub_81C9298(void); extern u32 sub_81C941C(void); extern u32 sub_81C9924(void); @@ -434,14 +436,14 @@ bool32 sub_81C70D8(u32 a0) return FALSE; } -bool32 sub_81C7124(u32 a0) +bool32 sub_81C7124(u32 (*a0)(s32)) { s32 i; for (i = 0; i < NUM_TASKS; i++) { if (gTasks[i].isActive && (gTasks[i].func == sub_81C7170 || gTasks[i].func == sub_81C71E4) - && GetWordTaskArg(i, 1) == a0) + && (void *)GetWordTaskArg(i, 1) == a0) return TRUE; } return FALSE; @@ -740,7 +742,7 @@ void *AllocSubstruct(u32 index, u32 size) return gUnknown_0203CF40->field10[index] = Alloc(size); } -struct UnknownSubStruct_0203CF40 *GetSubstructPtr(u32 index) +void *GetSubstructPtr(u32 index) { return gUnknown_0203CF40->field10[index]; } @@ -1466,3 +1468,15 @@ bool32 sub_81C81D4(const void *arg0, void *arg1, s32 arg2) return TRUE; } +bool32 sub_81C8224(void) { + return sub_81C7124(sub_81C8254); +} + +void sub_81C8234(void) { + struct UnknownSubStruct_81C81D4 *structPtr; + + structPtr = GetSubstructPtr(0x11); + sub_81C8FE0(); + RemoveWindow(structPtr->unk0.windowId); + FreeSubstruct(0x11); +} \ No newline at end of file From 62589d7003946e04355a9a8c7e2f9088e88bffa7 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 24 Feb 2019 03:33:33 -0500 Subject: [PATCH 03/84] Decompiled more, ported asmdiff to powershell --- asm/pokenav.s | 197 -------------------------------------------------- asmdiff.ps1 | 4 + src/pokenav.c | 138 ++++++++++++++++++++++++++++++++--- 3 files changed, 132 insertions(+), 207 deletions(-) create mode 100644 asmdiff.ps1 diff --git a/asm/pokenav.s b/asm/pokenav.s index e17cff2775..73a3b8241f 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,203 +5,6 @@ .text - thumb_func_start sub_81C8254 -sub_81C8254: @ 81C8254 - push {r4,lr} - adds r4, r0, 0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081C82C0 - movs r0, 0x11 - bl GetSubstructPtr - adds r2, r0, 0 - cmp r4, 0x4 - bhi _081C82D6 - lsls r0, r4, 2 - ldr r1, =_081C827C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C827C: - .4byte _081C8290 - .4byte _081C829A - .4byte _081C82A4 - .4byte _081C82B8 - .4byte _081C82CC -_081C8290: - adds r0, r2, 0 - bl sub_81C82E4 - movs r0, 0 - b _081C82D8 -_081C829A: - adds r0, r2, 0 - bl sub_81C835C - movs r0, 0 - b _081C82D8 -_081C82A4: - ldr r1, =0x00000888 - adds r0, r2, r1 - adds r1, r2, 0 - bl sub_81C837C - movs r0, 0 - b _081C82D8 - .pool -_081C82B8: - bl sub_81C83E0 - cmp r0, 0 - beq _081C82C4 -_081C82C0: - movs r0, 0x2 - b _081C82D8 -_081C82C4: - bl sub_81C8ED0 - movs r0, 0x1 - b _081C82D8 -_081C82CC: - ldr r1, =0x00000888 - adds r0, r2, r1 - adds r1, r2, 0 - bl sub_81C8EF8 -_081C82D6: - movs r0, 0x4 -_081C82D8: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C8254 - - thumb_func_start sub_81C82E4 -sub_81C82E4: @ 81C82E4 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldrb r4, [r5, 0x1] - lsls r4, 12 - ldrh r0, [r5, 0x6] - orrs r4, r0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r5] - ldrh r2, [r5, 0x6] - movs r1, 0x11 - movs r3, 0x1 - bl sub_8199DF0 - ldrb r0, [r5] - ldrh r2, [r5, 0x6] - adds r2, 0x1 - movs r1, 0x44 - movs r3, 0x1 - bl sub_8199DF0 - ldrb r0, [r5] - adds r1, r5, 0 - adds r1, 0x88 - bl SetBgTilemapBuffer - ldrb r0, [r5] - movs r1, 0x20 - str r1, [sp] - str r1, [sp, 0x4] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldrb r0, [r5] - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldrb r0, [r5] - movs r1, 0 - movs r2, 0 - bl ChangeBgX - ldrb r0, [r5] - ldrb r1, [r5, 0x3] - lsls r1, 11 - movs r2, 0x2 - bl ChangeBgY - ldrb r0, [r5] - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C82E4 - - thumb_func_start sub_81C835C -sub_81C835C: @ 81C835C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - bl PutWindowTilemap - ldrb r0, [r4, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C835C - - thumb_func_start sub_81C837C -sub_81C837C: @ 81C837C - push {r4,r5,lr} - sub sp, 0x8 - adds r3, r0, 0 - adds r5, r1, 0 - ldrh r0, [r3, 0x2] - ldrh r4, [r3] - subs r2, r0, r4 - ldrh r0, [r3, 0x8] - cmp r2, r0 - ble _081C8392 - adds r2, r0, 0 -_081C8392: - ldr r0, [r3, 0x10] - ldr r3, [r3, 0xC] - movs r1, 0 - str r1, [sp] - str r5, [sp, 0x4] - adds r1, r4, 0 - bl sub_81C83AC - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C837C - - thumb_func_start sub_81C83AC -sub_81C83AC: @ 81C83AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, [sp, 0x10] - cmp r2, 0 - beq _081C83D6 - adds r0, r5, 0 - muls r0, r3 - adds r0, r4, r0 - str r0, [r1, 0x1C] - str r3, [r1, 0x18] - movs r0, 0 - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - str r5, [r1, 0x14] - ldr r0, [sp, 0xC] - str r0, [r1, 0x10] - ldr r0, =sub_81C83F0 - movs r1, 0x5 - bl sub_81C7078 -_081C83D6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C83AC - thumb_func_start sub_81C83E0 sub_81C83E0: @ 81C83E0 push {lr} diff --git a/asmdiff.ps1 b/asmdiff.ps1 new file mode 100644 index 0000000000..17a8cb8e8c --- /dev/null +++ b/asmdiff.ps1 @@ -0,0 +1,4 @@ +$objdump = Join-Path -Path "$($args[0])" -ChildPath "bin\objdump.exe" +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$($args[1])" --stop-address="$($args[2])" .\baserom.gba > .\baserom.dump +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$($args[1])" --stop-address="$($args[2])" .\pokeemerald.gba > .\pokeemerald.dump +Compare-Object (Get-Content .\baserom.dump) (Get-Content .\pokeemerald.dump) diff --git a/src/pokenav.c b/src/pokenav.c index ce8606f0d7..cb7e2463e7 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -28,18 +28,32 @@ enum #define UNKNOWN_OFFSET 100000 -// Sizes based tentatively on loads and stores in sub_81C9160 struct UnknownSubSubStruct_0203CF40 { - u16 unk0; - u16 unk2; + u8 bg; + u8 unk1; + u8 unk2; + u8 unk3; u16 unk4; u16 unk6; u8 windowId; u8 unk9; u16 unkA; u16 unkC; + u16 unkE; }; +struct UnknownSubSubStruct_81C81D4 { + u16 unk0; + u16 unk2; + u16 unk4; + u16 unk6; + u16 unk8; + u16 unkA; + u32 unkC; + u32 unk10; +}; + +// Generally at index 0. struct UnknownSubStruct_0203CF40 { void (*unk0)(u32); @@ -54,12 +68,18 @@ struct UnknownSubStruct_0203CF40 u8 tilemapBuffer[0x800]; }; +// Generally at index 0x11 (17) struct UnknownSubStruct_81C81D4 { struct UnknownSubSubStruct_0203CF40 unk0; - u8 unkE[0x878]; - struct UnknownSubSubStruct_0203CF40 unk888; - u8 unk898[0xC]; + u32 unk10; + u32 unk14; + u32 unk18; + u32 unk1C; + u8 unk20[0x68]; + u8 tilemapBuffer[0x800]; + struct UnknownSubSubStruct_81C81D4 unk888; + u8 unk898[0x6]; }; #define SUBSTRUCT_COUNT 19 @@ -138,9 +158,17 @@ extern u32 sub_81D09F4(void); extern u32 sub_81CFA04(void); extern u32 sub_81CFE08(void); extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void *a2, s32 a3); -extern u32 sub_81C9160(struct UnknownSubSubStruct_0203CF40 *a0, void *a1); -extern u32 sub_81C8254(s32); +extern u32 sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, void *a1); +extern u32 sub_81C83E0(void); +extern void sub_81C8ED0(void); +extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); +extern u32 sub_81C83F0(s32); +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct_81C81D4 *a5); +void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubStruct_81C81D4 *a1); +void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); +void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); +u32 sub_81C8254(s32); u32 sub_81C791C(s32 a0); bool32 sub_81C756C(u32 a0); bool32 sub_81C76C4(void); @@ -1468,15 +1496,105 @@ bool32 sub_81C81D4(const void *arg0, void *arg1, s32 arg2) return TRUE; } -bool32 sub_81C8224(void) { +bool32 sub_81C8224(void) +{ return sub_81C7124(sub_81C8254); } -void sub_81C8234(void) { +void sub_81C8234(void) +{ struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); sub_81C8FE0(); RemoveWindow(structPtr->unk0.windowId); FreeSubstruct(0x11); +} + +u32 sub_81C8254(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + sub_81C82E4(structPtr); + return 0; + case 1: + sub_81C835C(&structPtr->unk0); + return 0; + case 2: + sub_81C837C(&structPtr->unk888, structPtr); + return 0; + case 3: + if (sub_81C83E0()) + { + return 2; + } + else + { + sub_81C8ED0(); + return 1; + } + case 4: + sub_81C8EF8(&structPtr->unk888, &structPtr->unk0); + return 4; + default: + return 4; + } +} + +void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0) +{ + u16 v1 = (a0->unk0.unk1 << 12) | a0->unk0.unk6; + // TODO: When #553 is merged, use a PALETTE_NUM_TO_FILL_VALUE(1) macro here... + sub_8199DF0(a0->unk0.bg, 0x11, a0->unk0.unk6, 1); + // ...and PALETTE_NUM_TO_FILL_VALUE(4) here. + sub_8199DF0(a0->unk0.bg, 0x44, a0->unk0.unk6 + 1, 1); + SetBgTilemapBuffer(a0->unk0.bg, a0->tilemapBuffer); + FillBgTilemapBufferRect_Palette0(a0->unk0.bg, v1, 0, 0, 32, 32); + ChangeBgY(a0->unk0.bg, 0, 0); + ChangeBgX(a0->unk0.bg, 0, 0); + ChangeBgY(a0->unk0.bg, a0->unk0.unk3 << 11, 2); + CopyBgTilemapBufferToVram(a0->unk0.bg); +} + +void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0) +{ + // TODO: When #553 is merged, use a PALETTE_NUM_TO_FILL_VALUE(1) macro here. + FillWindowPixelBuffer(a0->windowId, 0x11); + PutWindowTilemap(a0->windowId); + CopyWindowToVram(a0->windowId, 1); +} + +void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubStruct_81C81D4 *a1) +{ + s32 v1; + s32 v2; + + // TODO: Clean this up. + v1 = a0->unk2 - a0->unk0; + v2 = a0->unk8; + if (v1 > a0->unk8) + v1 = v2; + sub_81C83AC(a0->unk10, a0->unk0, v1, a0->unkC, 0, a1); +} + +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct_81C81D4 *a5) +{ + if (a2 == 0) + return; + + a5->unk1C = a0 + a1 * a3; + a5->unk18 = a3; + a5->unk0.unkC = 0; + a5->unk0.unkE = a2; + a5->unk14 = a1; + a5->unk10 = a4; + sub_81C7078(sub_81C83F0, 5); } \ No newline at end of file From a25f4c75bc1c92e43f9077d505e57ed6f2def471 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 24 Feb 2019 04:33:58 -0500 Subject: [PATCH 04/84] Decompiled a weird function --- asm/pokenav.s | 105 -------------------------------------------------- src/pokenav.c | 66 +++++++++++++++++++++++++++++-- 2 files changed, 62 insertions(+), 109 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index 73a3b8241f..486158e295 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,111 +5,6 @@ .text - thumb_func_start sub_81C83E0 -sub_81C83E0: @ 81C83E0 - push {lr} - ldr r0, =sub_81C83F0 - bl sub_81C7124 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C83E0 - - thumb_func_start sub_81C83F0 -sub_81C83F0: @ 81C83F0 - push {r4-r7,lr} - sub sp, 0xC - adds r6, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r6, 0 - beq _081C8408 - cmp r6, 0x1 - beq _081C848C - b _081C849A -_081C8408: - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0xC] - adds r0, r1 - ldr r1, [r4, 0x10] - adds r5, r0, r1 - movs r0, 0xF - ands r5, r0 - ldr r0, [r4, 0x1C] - adds r7, r4, 0 - adds r7, 0x48 - ldr r2, [r4, 0x34] - adds r1, r7, 0 - bl _call_via_r2 - ldr r3, [r4, 0x38] - cmp r3, 0 - beq _081C8434 - ldrh r0, [r4, 0x8] - ldr r1, [r4, 0x14] - adds r2, r5, 0 - bl _call_via_r3 -_081C8434: - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x5] - lsls r2, r5, 4 - movs r3, 0x1 - orrs r2, r3 - str r2, [sp] - movs r2, 0xFF - str r2, [sp, 0x4] - str r6, [sp, 0x8] - adds r2, r7, 0 - movs r3, 0x8 - bl AddTextPrinterParameterized - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0xE] - cmp r0, r1 - bcc _081C847A - ldr r0, [r4, 0x38] - cmp r0, 0 - beq _081C846E - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - b _081C8476 -_081C846E: - ldrb r0, [r4, 0x8] - movs r1, 0x2 - bl CopyWindowToVram -_081C8476: - movs r0, 0 - b _081C849C -_081C847A: - ldr r0, [r4, 0x1C] - ldr r1, [r4, 0x18] - adds r0, r1 - str r0, [r4, 0x1C] - ldr r0, [r4, 0x14] - adds r0, 0x1 - str r0, [r4, 0x14] - movs r0, 0x3 - b _081C849C -_081C848C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C849A - movs r0, 0x2 - b _081C849C -_081C849A: - movs r0, 0x4 -_081C849C: - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C83F0 - thumb_func_start sub_81C84A4 sub_81C84A4: @ 81C84A4 push {lr} diff --git a/src/pokenav.c b/src/pokenav.c index cb7e2463e7..9db9f45a62 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -33,7 +33,8 @@ struct UnknownSubSubStruct_0203CF40 { u8 unk1; u8 unk2; u8 unk3; - u16 unk4; + u8 unk4; + u8 unk5; u16 unk6; u8 windowId; u8 unk9; @@ -76,7 +77,17 @@ struct UnknownSubStruct_81C81D4 u32 unk14; u32 unk18; u32 unk1C; - u8 unk20[0x68]; + u32 unk20; + u32 unk24; + u32 unk28; + u32 unk2C; + u32 unk30; + void (*unk34)(u32, char*); + void (*unk38)(u16, u32, u32); + u32 unk3C; + u32 unk40; + u32 unk44; + char unk48[0x40]; u8 tilemapBuffer[0x800]; struct UnknownSubSubStruct_81C81D4 unk888; u8 unk898[0x6]; @@ -159,11 +170,11 @@ extern u32 sub_81CFA04(void); extern u32 sub_81CFE08(void); extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void *a2, s32 a3); extern u32 sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, void *a1); -extern u32 sub_81C83E0(void); extern void sub_81C8ED0(void); extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); -extern u32 sub_81C83F0(s32); +u32 sub_81C83F0(s32); +u32 sub_81C83E0(void); void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct_81C81D4 *a5); void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubStruct_81C81D4 *a1); void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); @@ -1597,4 +1608,51 @@ void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct a5->unk14 = a1; a5->unk10 = a4; sub_81C7078(sub_81C83F0, 5); +} + +u32 sub_81C83E0(void) +{ + return sub_81C7124(sub_81C83F0); +} + +u32 sub_81C83F0(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + u32 v1; + + structPtr = GetSubstructPtr(0x11); + switch (a0) + { + case 0: + v1 = (structPtr->unk0.unkA + structPtr->unk0.unkC + structPtr->unk10) & 0xF; + structPtr->unk34(structPtr->unk1C, structPtr->unk48); + if (structPtr->unk38 != NULL) + // Accessing unk0.windowId as if it were a u16...? + // It's accessed as a u8 again in the very next line... + structPtr->unk38(*(u16*)(&structPtr->unk0.windowId), structPtr->unk14, v1); + + AddTextPrinterParameterized(structPtr->unk0.windowId, structPtr->unk0.unk5, structPtr->unk48, 8, (v1 << 4) | 1, 255, (void (*)(struct TextPrinterTemplate*, u16))a0); + + if (++structPtr->unk0.unkC >= structPtr->unk0.unkE) + { + if (structPtr->unk38 != NULL) + CopyWindowToVram(structPtr->unk0.windowId, 3); + else + CopyWindowToVram(structPtr->unk0.windowId, 2); + return 0; + } + else + { + structPtr->unk1C += structPtr->unk18; + structPtr->unk14++; + return 3; + } + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + else + return 4; + default: + return 4; + } } \ No newline at end of file From c03b13b855c08fd4380f4f87d148b17d0014dac9 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 25 Feb 2019 01:02:16 -0500 Subject: [PATCH 05/84] Decompiled more, got one NONMATCHING --- asm/pokenav.s | 134 ------------------------------------------ src/pokenav.c | 157 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 154 insertions(+), 137 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index 486158e295..95fde9d4f1 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,140 +5,6 @@ .text - thumb_func_start sub_81C84A4 -sub_81C84A4: @ 81C84A4 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, =0x00000888 - adds r0, r1 - ldrh r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C84A4 - - thumb_func_start sub_81C84C0 -sub_81C84C0: @ 81C84C0 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, =0x00000888 - adds r0, r1 - movs r3, 0 - ldrh r1, [r0] - ldrh r2, [r0, 0x8] - adds r1, r2 - ldrh r0, [r0, 0x2] - cmp r1, r0 - bge _081C84DC - movs r3, 0x1 -_081C84DC: - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C84C0 - - thumb_func_start sub_81C84E8 -sub_81C84E8: @ 81C84E8 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r4, r1, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r7, r0, 0 - ldr r0, =0x00000888 - adds r5, r7, r0 - cmp r6, 0 - bge _081C8524 - ldrh r1, [r5] - adds r0, r1, r6 - cmp r0, 0 - bge _081C850A - negs r6, r1 -_081C850A: - cmp r4, 0 - beq _081C854E - ldr r0, [r5, 0x10] - adds r1, r6 - negs r2, r6 - ldr r3, [r5, 0xC] - str r6, [sp] - str r7, [sp, 0x4] - bl sub_81C83AC - b _081C854E - .pool -_081C8524: - cmp r4, 0 - beq _081C854E - ldr r2, =gUnknown_0203CF44 - ldrh r1, [r5] - ldrh r0, [r5, 0x8] - adds r4, r1, r0 - str r4, [r2] - adds r0, r4, r6 - ldrh r1, [r5, 0x2] - cmp r0, r1 - blt _081C853C - subs r6, r1, r4 -_081C853C: - ldr r0, [r5, 0x10] - ldr r3, [r5, 0xC] - ldrh r1, [r5, 0x8] - str r1, [sp] - str r7, [sp, 0x4] - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_81C83AC -_081C854E: - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_81C8568 - ldrh r0, [r5] - adds r0, r6 - strh r0, [r5] - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C84E8 - - thumb_func_start sub_81C8568 -sub_81C8568: @ 81C8568 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r4] - bl GetBgY - str r0, [r4, 0x20] - lsls r1, r5, 12 - adds r0, r1 - str r0, [r4, 0x24] - cmp r5, 0 - ble _081C8584 - movs r0, 0x1 - b _081C8586 -_081C8584: - movs r0, 0x2 -_081C8586: - str r0, [r4, 0x30] - str r5, [r4, 0x2C] - ldr r0, =sub_81C85A0 - movs r1, 0x6 - bl sub_81C7078 - str r0, [r4, 0x28] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8568 - thumb_func_start sub_81C85A0 sub_81C85A0: @ 81C85A0 push {r4-r6,lr} diff --git a/src/pokenav.c b/src/pokenav.c index 9db9f45a62..16a67daf75 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -77,10 +77,10 @@ struct UnknownSubStruct_81C81D4 u32 unk14; u32 unk18; u32 unk1C; - u32 unk20; + s32 unk20; u32 unk24; u32 unk28; - u32 unk2C; + s32 unk2C; u32 unk30; void (*unk34)(u32, char*); void (*unk38)(u16, u32, u32); @@ -168,11 +168,13 @@ extern u32 sub_81D04B8(void); extern u32 sub_81D09F4(void); extern u32 sub_81CFA04(void); extern u32 sub_81CFE08(void); +extern u32 sub_81C85A0(s32); extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void *a2, s32 a3); extern u32 sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, void *a1); extern void sub_81C8ED0(void); extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); +void sub_81C8568(s32 a0, struct UnknownSubStruct_81C81D4 *a1); u32 sub_81C83F0(s32); u32 sub_81C83E0(void); void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct_81C81D4 *a5); @@ -445,7 +447,7 @@ const struct CompressedSpriteSheet gUnknown_0861FA64 = extern struct UnknownStruct_0203CF40 *gUnknown_0203CF40; extern u8 gUnknown_0203CF3C; extern const struct SpriteTemplate gUnknown_0861FB04; - +extern u32 gUnknown_0203CF44; // code u32 sub_81C7078(u32 (*func)(s32), u32 priority) { @@ -1655,4 +1657,153 @@ u32 sub_81C83F0(s32 a0) default: return 4; } +} + +bool32 sub_81C84A4(void) +{ + u16 v1; + s32 v2; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + + return structPtr->unk888.unk0 != 0; +} + +bool32 sub_81C84C0(void) +{ + struct UnknownSubSubStruct_81C81D4 *subPtr; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + subPtr = &structPtr->unk888; + + return subPtr->unk0 + subPtr->unk8 < subPtr->unk2; +} + + +#ifdef NONMATCHING +// This has some register renaming issues (r4, r5, and r6 are all switched around), and +// for some reason it's creating two copies of subPtr->unk0. +void sub_81C84E8(s32 a0, s32 a1) +{ + s32 v1; + struct UnknownSubSubStruct_81C81D4 *subPtr; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + subPtr = &structPtr->unk888; + + if (a0 < 0) + { + // This is where the issue is. subPtr->unk0 is being stored in r1 and then copied to + // r2... and then r2 is read for the if statement, r1 is read for the function call, + // and then both are clobbered as expected. Between those two uses, no writes to r1/r2 + // happen; it doesn't need to be duplicated/moved at all. + if (subPtr->unk0 + a0 < 0) + v1 = -1 * subPtr->unk0; + else + v1 = a0; + if (a1 != 0) + sub_81C83AC(subPtr->unk10, subPtr->unk0 + v1, v1 * -1, subPtr->unkC, v1, structPtr); + } + else if (a1 != 0) + { + + gUnknown_0203CF44 = subPtr->unk0 + subPtr->unk8; + if ((s32)(gUnknown_0203CF44) + a0 >= (s32)subPtr->unk2) + v1 = subPtr->unk2 - gUnknown_0203CF44; + else + v1 = a0; + + sub_81C83AC(subPtr->unk10, gUnknown_0203CF44, v1, subPtr->unkC, subPtr->unk8, structPtr); + // Needed to prevent GCC from combining the two sub_81C83AC calls. + asm(""); + } + else + { + v1 = a0; + } + + sub_81C8568(v1, structPtr); + subPtr->unk0++; +} +#else +NAKED +void sub_81C84E8(s32 a0, s32 a1) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + sub sp, 0x8\n\ + adds r6, r0, 0\n\ + adds r4, r1, 0\n\ + movs r0, 0x11\n\ + bl GetSubstructPtr\n\ + adds r7, r0, 0\n\ + ldr r0, =0x00000888\n\ + adds r5, r7, r0\n\ + cmp r6, 0\n\ + bge _081C8524\n\ + ldrh r1, [r5]\n\ + adds r0, r1, r6\n\ + cmp r0, 0\n\ + bge _081C850A\n\ + negs r6, r1\n\ +_081C850A:\n\ + cmp r4, 0\n\ + beq _081C854E\n\ + ldr r0, [r5, 0x10]\n\ + adds r1, r6\n\ + negs r2, r6\n\ + ldr r3, [r5, 0xC]\n\ + str r6, [sp]\n\ + str r7, [sp, 0x4]\n\ + bl sub_81C83AC\n\ + b _081C854E\n\ + .pool\n\ +_081C8524:\n\ + cmp r4, 0\n\ + beq _081C854E\n\ + ldr r2, =gUnknown_0203CF44\n\ + ldrh r1, [r5]\n\ + ldrh r0, [r5, 0x8]\n\ + adds r4, r1, r0\n\ + str r4, [r2]\n\ + adds r0, r4, r6\n\ + ldrh r1, [r5, 0x2]\n\ + cmp r0, r1\n\ + blt _081C853C\n\ + subs r6, r1, r4\n\ +_081C853C:\n\ + ldr r0, [r5, 0x10]\n\ + ldr r3, [r5, 0xC]\n\ + ldrh r1, [r5, 0x8]\n\ + str r1, [sp]\n\ + str r7, [sp, 0x4]\n\ + adds r1, r4, 0\n\ + adds r2, r6, 0\n\ + bl sub_81C83AC\n\ +_081C854E:\n\ + adds r0, r6, 0\n\ + adds r1, r7, 0\n\ + bl sub_81C8568\n\ + ldrh r0, [r5]\n\ + adds r0, r6\n\ + strh r0, [r5]\n\ + add sp, 0x8\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n\ + .syntax divided"); +} +#endif + +void sub_81C8568(s32 a0, struct UnknownSubStruct_81C81D4 *a1) +{ + a1->unk20 = GetBgY(a1->unk0.bg); + a1->unk24 = a1->unk20 + (a0 << 12); + if (a0 > 0) + a1->unk30 = 1; + else + a1->unk30 = 2; + a1->unk2C = a0; + a1->unk28 = sub_81C7078(sub_81C85A0, 6); } \ No newline at end of file From 2e789dbbdc18f56cba62aef51156d44136b20632 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 27 Feb 2019 02:11:45 -0500 Subject: [PATCH 06/84] Decompile another 7 functions --- asm/pokenav.s | 329 -------------------------------------------------- src/pokenav.c | 231 ++++++++++++++++++++++++++++++++++- 2 files changed, 226 insertions(+), 334 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index 95fde9d4f1..e2fb45851f 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,335 +5,6 @@ .text - thumb_func_start sub_81C85A0 -sub_81C85A0: @ 81C85A0 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0 - beq _081C85B8 - cmp r5, 0x1 - beq _081C85C4 - movs r0, 0x4 - b _081C862A -_081C85B8: - bl sub_81C83E0 - cmp r0, 0 - bne _081C8628 - movs r0, 0x1 - b _081C862A -_081C85C4: - movs r6, 0 - ldrb r0, [r4] - bl GetBgY - adds r5, r0, 0 - ldrb r0, [r4] - movs r1, 0x80 - lsls r1, 5 - ldr r2, [r4, 0x30] - lsls r2, 24 - lsrs r2, 24 - bl ChangeBgY - adds r1, r0, 0 - ldr r0, [r4, 0x30] - cmp r0, 0x2 - bne _081C85F8 - ldr r2, [r4, 0x24] - cmp r5, r2 - bgt _081C85F2 - ldr r0, [r4, 0x20] - cmp r5, r0 - bgt _081C860A -_081C85F2: - cmp r1, r2 - bgt _081C860A - b _081C860E -_081C85F8: - ldr r2, [r4, 0x24] - cmp r5, r2 - blt _081C8604 - ldr r0, [r4, 0x20] - cmp r5, r0 - blt _081C860A -_081C8604: - cmp r1, r2 - blt _081C860A - movs r6, 0x1 -_081C860A: - cmp r6, 0 - beq _081C8628 -_081C860E: - ldr r1, [r4, 0x2C] - ldrh r0, [r4, 0xA] - adds r0, r1 - movs r1, 0xF - ands r0, r1 - strh r0, [r4, 0xA] - ldrb r0, [r4] - adds r1, r2, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x4 - b _081C862A -_081C8628: - movs r0, 0x2 -_081C862A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C85A0 - - thumb_func_start sub_81C8630 -sub_81C8630: @ 81C8630 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - ldr r0, [r0, 0x28] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81C8630 - - thumb_func_start sub_81C8644 -sub_81C8644: @ 81C8644 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, =0x00000888 - adds r0, r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C8644 - - thumb_func_start sub_81C8658 -sub_81C8658: @ 81C8658 - push {lr} - bl sub_81C8644 - adds r1, r0, 0 - ldrh r0, [r1, 0x6] - cmp r0, 0 - beq _081C866E - subs r0, 0x1 - strh r0, [r1, 0x6] - movs r0, 0x1 - b _081C8686 -_081C866E: - bl sub_81C84A4 - cmp r0, 0 - bne _081C867A - movs r0, 0 - b _081C8686 -_081C867A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x1 - bl sub_81C84E8 - movs r0, 0x2 -_081C8686: - pop {r1} - bx r1 - thumb_func_end sub_81C8658 - - thumb_func_start sub_81C868C -sub_81C868C: @ 81C868C - push {lr} - bl sub_81C8644 - adds r2, r0, 0 - ldrh r1, [r2] - ldrh r3, [r2, 0x6] - adds r1, r3 - ldrh r0, [r2, 0x2] - subs r0, 0x1 - cmp r1, r0 - bge _081C86BA - ldrh r0, [r2, 0x8] - subs r0, 0x1 - cmp r3, r0 - bge _081C86B2 - adds r0, r3, 0x1 - strh r0, [r2, 0x6] - movs r0, 0x1 - b _081C86C8 -_081C86B2: - bl sub_81C84C0 - cmp r0, 0 - bne _081C86BE -_081C86BA: - movs r0, 0 - b _081C86C8 -_081C86BE: - movs r0, 0x1 - movs r1, 0x1 - bl sub_81C84E8 - movs r0, 0x2 -_081C86C8: - pop {r1} - bx r1 - thumb_func_end sub_81C868C - - thumb_func_start sub_81C86CC -sub_81C86CC: @ 81C86CC - push {r4,lr} - bl sub_81C8644 - adds r4, r0, 0 - bl sub_81C84A4 - adds r1, r0, 0 - cmp r1, 0 - beq _081C86F8 - ldrh r0, [r4] - ldrh r1, [r4, 0x8] - cmp r0, r1 - bcc _081C86EA - ldrh r0, [r4, 0x8] - b _081C86EC -_081C86EA: - ldrh r0, [r4] -_081C86EC: - negs r0, r0 - movs r1, 0x1 - bl sub_81C84E8 - movs r0, 0x2 - b _081C8706 -_081C86F8: - ldrh r0, [r4, 0x6] - cmp r0, 0 - bne _081C8702 - movs r0, 0 - b _081C8706 -_081C8702: - strh r1, [r4, 0x6] - movs r0, 0x1 -_081C8706: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C86CC - - thumb_func_start sub_81C870C -sub_81C870C: @ 81C870C - push {r4,lr} - bl sub_81C8644 - adds r4, r0, 0 - bl sub_81C84C0 - cmp r0, 0 - beq _081C8736 - ldrh r0, [r4] - ldrh r3, [r4, 0x8] - adds r2, r0, r3 - ldrh r1, [r4, 0x4] - subs r0, r1, r0 - cmp r2, r1 - bgt _081C872C - adds r0, r3, 0 -_081C872C: - movs r1, 0x1 - bl sub_81C84E8 - movs r0, 0x2 - b _081C8756 -_081C8736: - ldrh r0, [r4, 0x2] - ldrh r1, [r4, 0x8] - cmp r0, r1 - bcc _081C8744 - ldrh r1, [r4, 0x6] - ldrh r0, [r4, 0x8] - b _081C8748 -_081C8744: - ldrh r1, [r4, 0x6] - ldrh r0, [r4, 0x2] -_081C8748: - subs r0, 0x1 - cmp r1, r0 - bge _081C8754 - strh r0, [r4, 0x6] - movs r0, 0x1 - b _081C8756 -_081C8754: - movs r0, 0 -_081C8756: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C870C - - thumb_func_start sub_81C875C -sub_81C875C: @ 81C875C - push {lr} - bl sub_81C8644 - adds r1, r0, 0 - ldrh r0, [r1] - ldrh r1, [r1, 0x6] - adds r0, r1 - pop {r1} - bx r1 - thumb_func_end sub_81C875C - - thumb_func_start sub_81C8770 -sub_81C8770: @ 81C8770 - push {lr} - bl sub_81C8644 - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81C8770 - - thumb_func_start sub_81C877C -sub_81C877C: @ 81C877C - push {r4,lr} - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =0x0000089c - adds r1, r4, r0 - movs r0, 0 - str r0, [r1] - ldr r0, =sub_81C8870 - movs r1, 0x6 - bl sub_81C7078 - movs r1, 0x8A - lsls r1, 4 - adds r4, r1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C877C - - thumb_func_start sub_81C87AC -sub_81C87AC: @ 81C87AC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x11 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =0x00000888 - adds r1, r5, r0 - ldrh r0, [r1] - adds r0, r4 - movs r2, 0 - strh r0, [r1] - ldr r1, =0x0000089c - adds r0, r5, r1 - str r2, [r0] - ldr r0, =sub_81C8958 - movs r1, 0x6 - bl sub_81C7078 - movs r1, 0x8A - lsls r1, 4 - adds r5, r1 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C87AC - thumb_func_start sub_81C87F0 sub_81C87F0: @ 81C87F0 push {r4,lr} diff --git a/src/pokenav.c b/src/pokenav.c index 16a67daf75..9b315dc9ad 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -78,7 +78,7 @@ struct UnknownSubStruct_81C81D4 u32 unk18; u32 unk1C; s32 unk20; - u32 unk24; + s32 unk24; u32 unk28; s32 unk2C; u32 unk30; @@ -90,7 +90,8 @@ struct UnknownSubStruct_81C81D4 char unk48[0x40]; u8 tilemapBuffer[0x800]; struct UnknownSubSubStruct_81C81D4 unk888; - u8 unk898[0x6]; + u32 unk89C; + u32 unk8A0; }; #define SUBSTRUCT_COUNT 19 @@ -168,15 +169,17 @@ extern u32 sub_81D04B8(void); extern u32 sub_81D09F4(void); extern u32 sub_81CFA04(void); extern u32 sub_81CFE08(void); -extern u32 sub_81C85A0(s32); extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void *a2, s32 a3); extern u32 sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, void *a1); extern void sub_81C8ED0(void); extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); +extern u32 sub_81C8870(s32 a0); +extern u32 sub_81C8958(s32 a0); +u32 sub_81C85A0(s32); void sub_81C8568(s32 a0, struct UnknownSubStruct_81C81D4 *a1); u32 sub_81C83F0(s32); -u32 sub_81C83E0(void); +bool32 sub_81C83E0(void); void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct_81C81D4 *a5); void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubStruct_81C81D4 *a1); void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); @@ -1612,7 +1615,7 @@ void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct sub_81C7078(sub_81C83F0, 5); } -u32 sub_81C83E0(void) +bool32 sub_81C83E0(void) { return sub_81C7124(sub_81C83F0); } @@ -1806,4 +1809,222 @@ void sub_81C8568(s32 a0, struct UnknownSubStruct_81C81D4 *a1) a1->unk30 = 2; a1->unk2C = a0; a1->unk28 = sub_81C7078(sub_81C85A0, 6); +} + +u32 sub_81C85A0(s32 a0) +{ + s32 y; + s32 v1; + bool32 flag; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + if (sub_81C83E0() == FALSE) + return 1; + else + return 2; + case 1: + flag = FALSE; + y = GetBgY(structPtr->unk0.bg); + v1 = ChangeBgY(structPtr->unk0.bg, 0x1000, structPtr->unk30); + if (structPtr->unk30 == 2) + { + if ((y > structPtr->unk24 || y <= structPtr->unk20) && v1 <= structPtr->unk24) + { + flag = TRUE; + } + } + else + { + if ((y < structPtr->unk24 || y >= structPtr->unk20) && v1 >= structPtr->unk24) + { + flag = TRUE; + } + } + if (flag) + { + structPtr->unk0.unkA = (structPtr->unk0.unkA + structPtr->unk2C) & 0xF; + ChangeBgY(structPtr->unk0.bg, structPtr->unk24, 0); + return 4; + } + else + { + return 2; + } + default: + return 4; + } +} + +bool32 sub_81C8630(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return sub_81C70D8(structPtr->unk28); +} + +struct UnknownSubSubStruct_81C81D4 *sub_81C8644(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return &structPtr->unk888; +} + +u32 sub_81C8658(void) +{ + struct UnknownSubSubStruct_81C81D4 *structPtr; + structPtr = sub_81C8644(); + + // Using unk6 as a timer. + if (structPtr->unk6 != 0) + { + structPtr->unk6--; + return 1; + } + else + { + if (sub_81C84A4()) + { + sub_81C84E8(-1, 1); + return 2; + } + else + { + return 0; + } + } +} + +u32 sub_81C868C(void) +{ + struct UnknownSubSubStruct_81C81D4 *structPtr; + structPtr = sub_81C8644(); + + if (structPtr->unk0 + structPtr->unk6 < structPtr->unk2 - 1) + { + if (structPtr->unk6 < structPtr->unk8 - 1) + { + structPtr->unk6++; + return 1; + } + else if (!sub_81C84C0()) + { + return 0; + } + } + else + { + return 0; + } + sub_81C84E8(1, 1); + return 2; +} + +u32 sub_81C86CC(void) +{ + struct UnknownSubSubStruct_81C81D4 *structPtr; + s32 v1; + + structPtr = sub_81C8644(); + if (sub_81C84A4()) + { + if (structPtr->unk0 >= structPtr->unk8) + v1 = structPtr->unk8; + else + v1 = structPtr->unk0; + sub_81C84E8(v1 * -1, 1); + return 2; + } + else if (structPtr->unk6 != 0) + { + structPtr->unk6 = 0; + return 1; + } + else + { + return 0; + } +} + +u32 sub_81C870C(void) +{ + struct UnknownSubSubStruct_81C81D4 *structPtr; + structPtr = sub_81C8644(); + + if (sub_81C84C0()) + { + s32 v1; + s32 v2; + s32 v3; + v2 = structPtr->unk0 + structPtr->unk8; + v1 = structPtr->unk4 - structPtr->unk0; + if (v2 <= structPtr->unk4) + v1 = structPtr->unk8; + sub_81C84E8(v1, 1); + return 2; + } + else + { + s32 v1; + s32 v2; + if (structPtr->unk2 >= structPtr->unk8) + { + v1 = structPtr->unk6; + v2 = structPtr->unk8; + } + else + { + v1 = structPtr->unk6; + v2 = structPtr->unk2; + } + v2 -= 1; + if (v1 >= v2) + { + return 0; + } + else + { + structPtr->unk6 = v2; + return 1; + } + } +} + +u32 sub_81C875C(void) +{ + struct UnknownSubSubStruct_81C81D4 *structPtr; + structPtr = sub_81C8644(); + + return structPtr->unk0 + structPtr->unk6; +} + +u32 sub_81C8770(void) +{ + struct UnknownSubSubStruct_81C81D4 *structPtr; + structPtr = sub_81C8644(); + + return structPtr->unk0; +} + +void sub_81C877C(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk89C = 0; + structPtr->unk8A0 = sub_81C7078(sub_81C8870, 6); +} + +void sub_81C87AC(u16 a0) +{ + u16 temp; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + temp = structPtr->unk888.unk0; + temp += a0; + structPtr->unk888.unk0 = temp; + structPtr->unk89C = 0; + structPtr->unk8A0 = sub_81C7078(sub_81C8958, 6); } \ No newline at end of file From a71c563b10d6c3d200218f76688eeb45717296bc Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 15 Mar 2019 02:33:55 -0400 Subject: [PATCH 07/84] A few more functions decompiled --- asm/pokenav.s | 173 -------------------------------------------------- src/pokenav.c | 93 +++++++++++++++++++++++++-- 2 files changed, 87 insertions(+), 179 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index e2fb45851f..b89ea22baa 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,179 +5,6 @@ .text - thumb_func_start sub_81C87F0 -sub_81C87F0: @ 81C87F0 - push {r4,lr} - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =0x0000089c - adds r1, r4, r0 - movs r0, 0 - str r0, [r1] - ldr r0, =sub_81C8A28 - movs r1, 0x6 - bl sub_81C7078 - movs r1, 0x8A - lsls r1, 4 - adds r4, r1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C87F0 - - thumb_func_start sub_81C8820 -sub_81C8820: @ 81C8820 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - movs r1, 0x8A - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81C8820 - - thumb_func_start sub_81C8838 -sub_81C8838: @ 81C8838 - push {r4,lr} - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =0x00000888 - adds r2, r4, r0 - ldrh r0, [r4, 0x8] - ldrh r1, [r2] - ldrh r3, [r2, 0x6] - adds r1, r3 - ldrh r2, [r4, 0xA] - adds r2, r3 - movs r3, 0xF - ands r2, r3 - ldr r3, [r4, 0x38] - bl _call_via_r3 - ldrb r0, [r4, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8838 - - thumb_func_start sub_81C8870 -sub_81C8870: @ 81C8870 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x4 - bhi _081C894C - lsls r0, r5, 2 - ldr r1, =_081C8890 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C8890: - .4byte _081C88A4 - .4byte _081C88AC - .4byte _081C88D8 - .4byte _081C8918 - .4byte _081C8938 -_081C88A4: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C9008 -_081C88AC: - ldr r0, =0x0000089c - adds r5, r4, r0 - ldr r1, =0x0000088e - adds r0, r4, r1 - ldr r1, [r5] - ldrh r0, [r0] - cmp r1, r0 - beq _081C88C4 - adds r0, r4, 0 - movs r2, 0x1 - bl sub_81C8B70 -_081C88C4: - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] -_081C88CA: - movs r0, 0 - b _081C894E - .pool -_081C88D8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081C8942 - ldr r2, =0x0000089c - adds r0, r4, r2 - subs r2, 0xC - adds r1, r4, r2 - ldr r3, [r0] - ldrh r1, [r1] - cmp r3, r1 - beq _081C88FC - movs r0, 0x6 - b _081C894E - .pool -_081C88FC: - ldr r0, =0x0000088e - adds r1, r4, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _081C88CA - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r3, 0 - bl sub_81C8B70 - b _081C88CA - .pool -_081C8918: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081C8942 - ldr r2, =0x0000088e - adds r1, r4, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _081C894C - movs r1, 0 - bl sub_81C84E8 - b _081C88CA - .pool -_081C8938: - bl sub_81C8630 - adds r1, r0, 0 - cmp r1, 0 - beq _081C8946 -_081C8942: - movs r0, 0x2 - b _081C894E -_081C8946: - ldr r2, =0x0000088e - adds r0, r4, r2 - strh r1, [r0] -_081C894C: - movs r0, 0x4 -_081C894E: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C8870 - thumb_func_start sub_81C8958 sub_81C8958: @ 81C8958 push {r4,r5,lr} diff --git a/src/pokenav.c b/src/pokenav.c index 1912e7e571..6e7049ddf9 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -36,8 +36,7 @@ struct UnknownSubSubStruct_0203CF40 { u8 unk4; u8 unk5; u16 unk6; - u8 windowId; - u8 unk9; + u16 windowId; u16 unkA; u16 unkC; u16 unkE; @@ -173,18 +172,21 @@ extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void extern u32 sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, void *a1); extern void sub_81C8ED0(void); extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); -extern u32 sub_81C8870(s32 a0); extern u32 sub_81C8958(s32 a0); +extern u32 sub_81C8A28(s32 a0); +extern void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); +extern void sub_81C9008(struct UnknownSubStruct_81C81D4 *a0, u32 a1); -u32 sub_81C85A0(s32); +u32 sub_81C8870(s32 a0); +u32 sub_81C85A0(s32 a0); void sub_81C8568(s32 a0, struct UnknownSubStruct_81C81D4 *a1); -u32 sub_81C83F0(s32); +u32 sub_81C83F0(s32 a0); bool32 sub_81C83E0(void); void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct_81C81D4 *a5); void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubStruct_81C81D4 *a1); void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); -u32 sub_81C8254(s32); +u32 sub_81C8254(s32 a0); u32 sub_81C791C(s32 a0); bool32 sub_81C756C(u32 a0); bool32 sub_81C76C4(void); @@ -2027,4 +2029,83 @@ void sub_81C87AC(u16 a0) structPtr->unk888.unk0 = temp; structPtr->unk89C = 0; structPtr->unk8A0 = sub_81C7078(sub_81C8958, 6); +} + +void sub_81C87F0(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk89C = 0; + structPtr->unk8A0 = sub_81C7078(sub_81C8A28, 6); +} + +bool32 sub_81C8820(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return sub_81C70D8(structPtr->unk8A0); +} + +void sub_81C8838(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + struct UnknownSubSubStruct_81C81D4 *subStr; + structPtr = GetSubstructPtr(0x11); + subStr = &structPtr->unk888; + structPtr->unk38(structPtr->unk0.windowId, subStr->unk0 + subStr->unk6, (structPtr->unk0.unkA + subStr->unk6) & 0xF); + CopyWindowToVram(structPtr->unk0.windowId, 1); +} + +u32 sub_81C8870(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + u16 v1; + u32 v2; + + // Needed to fix a register renaming issue. + register u16* temp asm("r1"); + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + sub_81C9008(structPtr, 1); + // fall-through + case 1: + if (structPtr->unk89C != structPtr->unk888.unk6) + sub_81C8B70(&structPtr->unk0, structPtr->unk89C, 1); + + structPtr->unk89C++; + return 0; + case 2: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + if (structPtr->unk89C != structPtr->unk888.unk8) + return 6; + + if (structPtr->unk888.unk6 != 0) + sub_81C8B70(&structPtr->unk0, structPtr->unk89C, structPtr->unk888.unk6); + + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + temp = &structPtr->unk888.unk6; + v1 = *temp; + if (v1 == 0) + return 4; + + sub_81C84E8(v1, 0); + return 0; + case 4: + v2 = sub_81C8630(); + if (v2) + return 2; + + structPtr->unk888.unk6 = v2; + return 4; + default: + return 4; + } } \ No newline at end of file From 8cea949e6d7991d4101b58941a82c7f87538a847 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 15 Mar 2019 19:33:30 -0400 Subject: [PATCH 08/84] Move constant and EWRAM data into C. --- data/pokenav.s | 58 ------------ include/graphics.h | 7 ++ src/pokenav.c | 232 ++++++++++++++++++++++++++++++++++++++------- sym_ewram.txt | 10 +- 4 files changed, 206 insertions(+), 101 deletions(-) diff --git a/data/pokenav.s b/data/pokenav.s index cb5030b4ba..5847bca0d3 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -3,64 +3,6 @@ .section .rodata -gUnknown_0861FA6C:: @ 861FA6C - obj_tiles gPokenavLeftHeaderMainMenu_Gfx, 0x20, 3 - obj_tiles gPokenavLeftHeaderCondition_Gfx, 0x20, 1 - obj_tiles gPokenavLeftHeaderRibbons_Gfx, 0x20, 2 - obj_tiles gPokenavLeftHeaderMatchCall_Gfx, 0x20, 4 - obj_tiles gPokenavLeftHeaderHoennMap_Gfx, 0x20, 0 - obj_tiles gPokenavLeftHeaderHoennMap_Gfx, 0x40, 0 - -gUnknown_0861FA9C:: @ 861FA9C - .4byte gPokenavLeftHeaderParty_Gfx, 1 - .4byte gPokenavLeftHeaderSearch_Gfx, 1 - .4byte gPokenavLeftHeaderCool_Gfx, 4 - .4byte gPokenavLeftHeaderBeauty_Gfx, 1 - .4byte gPokenavLeftHeaderCute_Gfx, 2 - .4byte gPokenavLeftHeaderSmart_Gfx, 0 - .4byte gPokenavLeftHeaderTough_Gfx, 0 - -gUnknown_0861FAD4:: @ 861FAD4 - .2byte 0x0 - .2byte 0x8000 - .2byte 0x0 - .2byte 0x0 - -gUnknown_0861FADC:: - obj_image_anim_frame 0, 8 - obj_image_anim_frame 16, 8 - obj_image_anim_frame 32, 8 - obj_image_anim_frame 48, 8 - obj_image_anim_frame 64, 8 - obj_image_anim_frame 80, 8 - obj_image_anim_frame 96, 8 - obj_image_anim_frame 112, 8 - obj_image_anim_jump 0 - -gUnknown_0861FB00:: - .4byte gUnknown_0861FADC - -gUnknown_0861FB04:: @ 861FB04 - spr_template 0, 0, gUnknown_0861FAD4, gUnknown_0861FB00, NULL, gDummySpriteAffineAnimTable, sub_81C7CB4 - -gUnknown_0861FB1C:: - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x400 - .2byte 0x0 - -gUnknown_0861FB24:: - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x400 - .2byte 0x0 - -gUnknown_0861FB2C:: @ 861FB2C - spr_template 2, 1, gUnknown_0861FB1C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_0861FB44:: @ 861FB44 - spr_template 2, 2, gUnknown_0861FB24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - gUnknown_0861FB5C:: @ 861FB5C .incbin "graphics/pokenav/arrows_matchcall.gbapal" diff --git a/include/graphics.h b/include/graphics.h index c651268ca5..84d48691c1 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4019,6 +4019,13 @@ extern const u32 gPokenavLeftHeaderMainMenu_Gfx[]; extern const u32 gPokenavLeftHeaderCondition_Gfx[]; extern const u32 gPokenavLeftHeaderRibbons_Gfx[]; extern const u32 gPokenavLeftHeaderMatchCall_Gfx[]; +extern const u32 gPokenavLeftHeaderParty_Gfx[]; +extern const u32 gPokenavLeftHeaderSearch_Gfx[]; +extern const u32 gPokenavLeftHeaderCool_Gfx[]; +extern const u32 gPokenavLeftHeaderBeauty_Gfx[]; +extern const u32 gPokenavLeftHeaderCute_Gfx[]; +extern const u32 gPokenavLeftHeaderSmart_Gfx[]; +extern const u32 gPokenavLeftHeaderTough_Gfx[]; extern const u32 gPageInfoTilemap[]; extern const u32 gUnknown_08D98CC8[]; diff --git a/src/pokenav.c b/src/pokenav.c index 6e7049ddf9..5796eecd48 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -105,6 +105,13 @@ struct UnknownStruct_0203CF40 void *field10[SUBSTRUCT_COUNT]; }; +// Needed to match u32/u16 tag field difference. +struct CompressedSpritePalette_ +{ + const u32 *data; // LZ77 compressed palette data + u32 tag; +}; + extern u32 sub_81C9430(void); extern void sub_81CAADC(void); extern u32 sub_81C99D4(void); @@ -176,6 +183,7 @@ extern u32 sub_81C8958(s32 a0); extern u32 sub_81C8A28(s32 a0); extern void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); extern void sub_81C9008(struct UnknownSubStruct_81C81D4 *a0, u32 a1); +extern void sub_81C7CB4(struct Sprite* sprite); u32 sub_81C8870(s32 a0); u32 sub_81C85A0(s32 a0); @@ -425,7 +433,7 @@ const u8 gMenuButtonReminderColor[4] = 4, 1, 2, 0 }; -const struct CompressedSpriteSheet gUnknown_0861FA4C[] = +static const struct CompressedSpriteSheet sUnknown_0861FA4C[] = { { .data = gUnknown_0861F5B0, @@ -434,25 +442,194 @@ const struct CompressedSpriteSheet gUnknown_0861FA4C[] = } }; -const struct SpritePalette gUnknown_0861FA54[2] = +static const struct SpritePalette sUnknown_0861FA54[] = { { .data = gUnknown_0861F590, .tag = 0, }, + {} }; -const struct CompressedSpriteSheet gUnknown_0861FA64 = +static const struct CompressedSpriteSheet sUnknown_0861FA64 = { .data = gPokenavLeftHeaderHoennMap_Gfx, .size = 0xC00, .tag = 2 }; -extern struct UnknownStruct_0203CF40 *gUnknown_0203CF40; -extern u8 gUnknown_0203CF3C; -extern const struct SpriteTemplate gUnknown_0861FB04; -extern u32 gUnknown_0203CF44; +static const struct CompressedSpriteSheet sUnknown_0861FA6C[] = +{ + { + .data = gPokenavLeftHeaderMainMenu_Gfx, + .size = 0x20, + .tag = 3 + }, + { + .data = gPokenavLeftHeaderCondition_Gfx, + .size = 0x20, + .tag = 1 + }, + { + .data = gPokenavLeftHeaderRibbons_Gfx, + .size = 0x20, + .tag = 2 + }, + { + .data = gPokenavLeftHeaderMatchCall_Gfx, + .size = 0x20, + .tag = 4 + }, + { + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0x20, + .tag = 0 + }, + { + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0x40, + .tag = 0 + } +}; + +static const struct CompressedSpritePalette_ sUnknown_0861FA9C[] = +{ + { + .data = gPokenavLeftHeaderParty_Gfx, + .tag = 1 + }, + { + .data = gPokenavLeftHeaderSearch_Gfx, + .tag = 1 + }, + { + .data = gPokenavLeftHeaderCool_Gfx, + .tag = 4 + }, + { + .data = gPokenavLeftHeaderBeauty_Gfx, + .tag = 1 + }, + { + .data = gPokenavLeftHeaderCute_Gfx, + .tag = 2 + }, + { + .data = gPokenavLeftHeaderSmart_Gfx, + .tag = 0 + }, + { + .data = gPokenavLeftHeaderTough_Gfx, + .tag = 0 + } +}; + +static const struct OamData sUnknown_0861FAD4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, // FIXME: Use SPRITE_SHAPE + .x = 0, + .matrixNum = 0, + .size = 2, // FIXME: Use SPRITE_SIZE + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sUnknown_0861FADC[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(48, 8), + ANIMCMD_FRAME(64, 8), + ANIMCMD_FRAME(80, 8), + ANIMCMD_FRAME(96, 8), + ANIMCMD_FRAME(112, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sUnknown_0861FB00[] = +{ + sUnknown_0861FADC +}; + +static const struct SpriteTemplate sUnknown_0861FB04 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sUnknown_0861FAD4, + .anims = sUnknown_0861FB00, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81C7CB4 +}; + +static const struct OamData sUnknown_0861FB1C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sUnknown_0861FB24 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct SpriteTemplate sUnknown_0861FB2C = +{ + .tileTag = 2, + .paletteTag = 1, + .oam = &sUnknown_0861FB1C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate sUnknown_0861FB44 = +{ + .tileTag = 2, + .paletteTag = 2, + .oam = &sUnknown_0861FB24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +EWRAM_DATA u8 gUnknown_0203CF3C = 0; +EWRAM_DATA struct UnknownStruct_0203CF40 *gUnknown_0203CF40 = NULL; +EWRAM_DATA u32 gUnknown_0203CF44 = 0; + // code u32 sub_81C7078(u32 (*func)(s32), u32 priority) { @@ -1220,12 +1397,12 @@ void sub_81C7C28(void) u8 spriteId; struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - for (i = 0; i < ARRAY_COUNT(gUnknown_0861FA4C); i++) - LoadCompressedSpriteSheet(&gUnknown_0861FA4C[i]); + for (i = 0; i < ARRAY_COUNT(sUnknown_0861FA4C); i++) + LoadCompressedSpriteSheet(&sUnknown_0861FA4C[i]); - sub_81C795C(gUnknown_0861FA54); + sub_81C795C(sUnknown_0861FA54); structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); - spriteId = CreateSprite(&gUnknown_0861FB04, 220, 12, 0); + spriteId = CreateSprite(&sUnknown_0861FB04, 220, 12, 0); structPtr->unk18 = &gSprites[spriteId]; } @@ -1263,26 +1440,22 @@ void sub_81C7CE4(void) structPtr->unk18->subpriority = 0; } -extern const struct SpriteTemplate gUnknown_0861FB2C; -extern const struct SpriteTemplate gUnknown_0861FB44; -extern const struct CompressedSpriteSheet gUnknown_0861FA6C[]; - void sub_81C7D28(void) { s32 i, spriteId; struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - LoadCompressedSpriteSheet(&gUnknown_0861FA64); + LoadCompressedSpriteSheet(&sUnknown_0861FA64); AllocSpritePalette(1); AllocSpritePalette(2); for (i = 0; i < 2; i++) { - spriteId = CreateSprite(&gUnknown_0861FB2C, 0, 0, 1); + spriteId = CreateSprite(&sUnknown_0861FB2C, 0, 0, 1); structPtr->unk1C[i] = &gSprites[spriteId]; structPtr->unk1C[i]->invisible = TRUE; structPtr->unk1C[i]->pos2.x = i * 64; - spriteId = CreateSprite(&gUnknown_0861FB44, 0, 0, 2); + spriteId = CreateSprite(&sUnknown_0861FB44, 0, 0, 2); structPtr->unk24[i] = &gSprites[spriteId]; structPtr->unk24[i]->invisible = TRUE; structPtr->unk24[i]->pos2.x = i * 32; @@ -1318,12 +1491,12 @@ void sub_81C7E58(u32 arg0) return; structPtr = GetSubstructPtr(0); - tag = gUnknown_0861FA6C[arg0].tag; - size = GetDecompressedDataSize(gUnknown_0861FA6C[arg0].data); + tag = sUnknown_0861FA6C[arg0].tag; + size = GetDecompressedDataSize(sUnknown_0861FA6C[arg0].data); LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); - LZ77UnCompWram(gUnknown_0861FA6C[arg0].data, gDecompressionBuffer); + LZ77UnCompWram(sUnknown_0861FA6C[arg0].data, gDecompressionBuffer); RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + gUnknown_0861FA6C[arg0].size; + structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sUnknown_0861FA6C[arg0].size; if (arg0 == 4 || arg0 == 5) structPtr->unk1C[1]->pos2.x = 56; @@ -1331,15 +1504,6 @@ void sub_81C7E58(u32 arg0) structPtr->unk1C[1]->pos2.x = 64; } -// Needed to match u32/u16 tag field difference. -struct CompressedSpritePalette_ -{ - const u32 *data; // LZ77 compressed palette data - u32 tag; -}; - -extern const struct CompressedSpritePalette_ gUnknown_0861FA9C[]; - void sub_81C7F24(u32 arg0) { u32 size, tag; @@ -1347,10 +1511,10 @@ void sub_81C7F24(u32 arg0) if (arg0 >= 7) return; - tag = gUnknown_0861FA9C[arg0].tag; - size = GetDecompressedDataSize(gUnknown_0861FA9C[arg0].data); + tag = sUnknown_0861FA9C[arg0].tag; + size = GetDecompressedDataSize(sUnknown_0861FA9C[arg0].data); LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); - LZ77UnCompWram(gUnknown_0861FA9C[arg0].data, &gDecompressionBuffer[0x1000]); + LZ77UnCompWram(sUnknown_0861FA9C[arg0].data, &gDecompressionBuffer[0x1000]); RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)VRAM + 0x10800 + (GetSpriteTileStartByTag(2) * 32), size, 1); } diff --git a/sym_ewram.txt b/sym_ewram.txt index 361c0921f6..33f1ff5f2e 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -227,15 +227,7 @@ gPlayerFacingPosition: @ 203AB40 .include "src/pokemon_summary_screen.o" .include "src/unk_pokedex_area_screen_helper.o" .include "src/battle_pyramid_bag.o" - -gUnknown_0203CF3C: @ 203CF3C - .space 0x4 - -gUnknown_0203CF40: @ 203CF40 - .space 0x4 - -gUnknown_0203CF44: @ 203CF44 - .space 0x4 + .include "src/pokenav.o" gUnknown_0203CF48: @ 203CF48 .space 0x4 From bdc6ed1a985e17a25d4f551514f55ed9cf48ecab Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 16 Mar 2019 00:34:11 -0400 Subject: [PATCH 09/84] Decompiled two difficult functions Had do use a lot of `asm` directives for sub_81C8A28 to match. --- asm/pokenav.s | 254 -------------------------------------------------- src/pokenav.c | 140 +++++++++++++++++++++++++++- 2 files changed, 136 insertions(+), 258 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index b89ea22baa..5a38641995 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,260 +5,6 @@ .text - thumb_func_start sub_81C8958 -sub_81C8958: @ 81C8958 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C8972 - movs r0, 0x2 - b _081C8A22 -_081C8972: - cmp r5, 0x7 - bhi _081C8A1C - lsls r0, r5, 2 - ldr r1, =_081C8984 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C8984: - .4byte _081C89A4 - .4byte _081C89B4 - .4byte _081C89BE - .4byte _081C89D0 - .4byte _081C89DA - .4byte _081C89EC - .4byte _081C89F6 - .4byte _081C8A08 -_081C89A4: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - bl sub_81C8CB4 - b _081C8A20 - .pool -_081C89B4: - adds r0, r4, 0 - movs r1, 0 - bl sub_81C8DBC - b _081C8A20 -_081C89BE: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - movs r2, 0 - bl sub_81C8E54 - b _081C8A20 - .pool -_081C89D0: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C8DBC - b _081C8A20 -_081C89DA: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_81C8E54 - b _081C8A20 - .pool -_081C89EC: - adds r0, r4, 0 - movs r1, 0x2 - bl sub_81C8DBC - b _081C8A20 -_081C89F6: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - movs r2, 0x2 - bl sub_81C8E54 - b _081C8A20 - .pool -_081C8A08: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - movs r2, 0x3 - bl sub_81C8E54 - b _081C8A20 - .pool -_081C8A1C: - movs r0, 0x4 - b _081C8A22 -_081C8A20: - movs r0, 0 -_081C8A22: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C8958 - - thumb_func_start sub_81C8A28 -sub_81C8A28: @ 81C8A28 - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081C8AA6 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =0x00000888 - adds r6, r4, r0 - adds r2, r4, 0 - cmp r5, 0x6 - bls _081C8A4C - b _081C8B64 -_081C8A4C: - lsls r0, r5, 2 - ldr r1, =_081C8A60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C8A60: - .4byte _081C8A7C - .4byte _081C8A88 - .4byte _081C8AE8 - .4byte _081C8AFC - .4byte _081C8B14 - .4byte _081C8B34 - .4byte _081C8B5C -_081C8A7C: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_81C8D4C - movs r0, 0 - b _081C8B66 -_081C8A88: - ldr r1, =0x0000089c - adds r7, r4, r1 - ldr r0, [r7] - adds r1, r0, 0x1 - str r1, [r7] - movs r3, 0x89 - lsls r3, 4 - adds r0, r4, r3 - ldrh r0, [r0] - cmp r1, r0 - bge _081C8AB0 - adds r0, r2, 0 - movs r2, 0x1 - bl sub_81C8B70 -_081C8AA6: - movs r0, 0x2 - b _081C8B66 - .pool -_081C8AB0: - movs r0, 0 - str r0, [r7] - ldrh r0, [r6, 0x2] - ldrh r1, [r6, 0x8] - cmp r0, r1 - bhi _081C8AC6 - ldrh r0, [r6] - cmp r0, 0 - beq _081C8B52 - adds r4, r0, 0 - b _081C8AD4 -_081C8AC6: - ldrh r1, [r6] - ldrh r0, [r6, 0x8] - adds r4, r1, r0 - ldrh r1, [r6, 0x2] - cmp r4, r1 - ble _081C8B52 - subs r4, r1 -_081C8AD4: - negs r5, r4 - adds r0, r2, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_81C8B70 - strh r4, [r6, 0x6] - str r5, [r7] - movs r0, 0 - b _081C8B66 -_081C8AE8: - ldr r2, =0x0000089c - adds r0, r4, r2 - ldr r0, [r0] - movs r1, 0 - bl sub_81C84E8 - movs r0, 0 - b _081C8B66 - .pool -_081C8AFC: - bl sub_81C8630 - adds r1, r0, 0 - cmp r1, 0 - bne _081C8AA6 - ldr r3, =0x0000089c - adds r0, r4, r3 - str r1, [r0] -_081C8B0C: - movs r0, 0x1 - b _081C8B66 - .pool -_081C8B14: - ldr r0, [r6, 0x10] - ldrh r1, [r6] - ldr r3, =0x0000089c - adds r2, r4, r3 - ldr r2, [r2] - adds r1, r2 - ldr r3, [r6, 0xC] - str r2, [sp] - str r4, [sp, 0x4] - movs r2, 0x1 - bl sub_81C83AC - movs r0, 0 - b _081C8B66 - .pool -_081C8B34: - bl sub_81C83E0 - cmp r0, 0 - bne _081C8AA6 - ldr r0, =0x0000089c - adds r1, r4, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldrh r1, [r6, 0x2] - cmp r0, r1 - bge _081C8B0C - ldrh r6, [r6, 0x8] - cmp r0, r6 - bge _081C8B0C -_081C8B52: - movs r0, 0x9 - b _081C8B66 - .pool -_081C8B5C: - adds r0, r2, 0 - movs r1, 0 - bl sub_81C9008 -_081C8B64: - movs r0, 0x4 -_081C8B66: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C8A28 - thumb_func_start sub_81C8B70 sub_81C8B70: @ 81C8B70 push {r4-r7,lr} diff --git a/src/pokenav.c b/src/pokenav.c index 5796eecd48..7b9a6393a8 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -179,12 +179,16 @@ extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void extern u32 sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, void *a1); extern void sub_81C8ED0(void); extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); -extern u32 sub_81C8958(s32 a0); -extern u32 sub_81C8A28(s32 a0); extern void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); -extern void sub_81C9008(struct UnknownSubStruct_81C81D4 *a0, u32 a1); +extern void sub_81C9008(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1); extern void sub_81C7CB4(struct Sprite* sprite); +extern void sub_81C8CB4(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); +extern void sub_81C8DBC(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1); +extern void sub_81C8E54(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1, u32 a2); +extern void sub_81C8D4C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); +u32 sub_81C8A28(s32 a0); +u32 sub_81C8958(s32 a0); u32 sub_81C8870(s32 a0); u32 sub_81C85A0(s32 a0); void sub_81C8568(s32 a0, struct UnknownSubStruct_81C81D4 *a1); @@ -2233,7 +2237,7 @@ u32 sub_81C8870(s32 a0) switch (a0) { case 0: - sub_81C9008(structPtr, 1); + sub_81C9008(&structPtr->unk0, 1); // fall-through case 1: if (structPtr->unk89C != structPtr->unk888.unk6) @@ -2272,4 +2276,132 @@ u32 sub_81C8870(s32 a0) default: return 4; } +} + +u32 sub_81C8958(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + switch (a0) + { + case 0: + sub_81C8CB4(&structPtr->unk888, &structPtr->unk0); + break; + case 1: + sub_81C8DBC(&structPtr->unk0, 0); + break; + case 2: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0); + break; + case 3: + sub_81C8DBC(&structPtr->unk0, 1); + break; + case 4: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1); + break; + case 5: + sub_81C8DBC(&structPtr->unk0, 2); + break; + case 6: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2); + break; + case 7: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3); + break; + default: + return 4; + } + return 0; +} + +u32 sub_81C8A28(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + struct UnknownSubSubStruct_81C81D4 *subPtr888; + register struct UnknownSubSubStruct_0203CF40 *subPtr0 asm("r2"); + s32 v4; + + if (IsDma3ManagerBusyWithBgCopy()) + { + return 2; + } + + structPtr = GetSubstructPtr(0x11); + subPtr888 = &structPtr->unk888; + subPtr0 = &structPtr->unk0; + + switch (a0) + { + default: + return 4; + case 0: + sub_81C8D4C(subPtr888, subPtr0); + return 0; + case 1: + { + s32 v1; + s32 v2; + u32 *v3; + register s32 v4 asm("r5"); + + v3 = &structPtr->unk89C; + v1 = *v3 + 1; + *v3 = v1; + if (v1 < structPtr->unk888.unk8) + { + sub_81C8B70(subPtr0, v1, 1); + return 2; + } + + *v3 = 0; + if (subPtr888->unk2 <= subPtr888->unk8) + { + register u32 temp asm("r0"); + temp = subPtr888->unk0; + if (temp == 0) + return 9; + v2 = temp; + } + else + { + register s32 temp asm("r1"); + v2 = subPtr888->unk0 + subPtr888->unk8; + temp = (s32)subPtr888->unk2; + if (v2 <= temp) + return 9; + v2 -= temp; + } + v4 = v2 * -1; + sub_81C8B70(subPtr0, v4, v2); + subPtr888->unk6 = v2; + *v3 = v4; + return 0; + } + case 2: + sub_81C84E8(structPtr->unk89C, 0); + return 0; + case 3: + if (sub_81C8630()) + return 2; + + structPtr->unk89C = 0; + return 1; + case 4: + sub_81C83AC(subPtr888->unk10, subPtr888->unk0 + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, structPtr); + return 0; + case 5: + if (sub_81C83E0()) + return 2; + + v4 = ++structPtr->unk89C; + if (v4 >= subPtr888->unk2 || v4 >= subPtr888->unk8) + return 1; + return 9; + case 6: + sub_81C9008(subPtr0, 0); + return 4; + } } \ No newline at end of file From f4737874ef2308607cef97f61e8ae0a1ae05bdd8 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 16 Mar 2019 22:10:07 -0400 Subject: [PATCH 10/84] Made a new substruct for the substruct We must go deeper. --- asm/pokenav.s | 284 -------------------------------------------------- src/pokenav.c | 183 ++++++++++++++++++++++++-------- 2 files changed, 141 insertions(+), 326 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index 5a38641995..fee2fc91c5 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,290 +5,6 @@ .text - thumb_func_start sub_81C8B70 -sub_81C8B70: @ 81C8B70 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r0 - adds r7, r1, 0 - adds r6, r2, 0 - ldrb r0, [r0, 0x8] - movs r1, 0x7 - bl GetWindowAttribute - mov r10, r0 - mov r1, r9 - ldrb r0, [r1, 0x4] - lsls r3, r0, 6 - ldrh r0, [r1, 0xA] - adds r7, r0, r7 - movs r0, 0xF - ands r7, r0 - adds r0, r7, r6 - cmp r0, 0x10 - bgt _081C8BD4 - ldr r0, =0x11111111 - str r0, [sp] - adds r1, r7, 0 - muls r1, r3 - add r1, r10 - adds r2, r6, 0 - muls r2, r3 - lsrs r2, 2 - ldr r0, =0x001fffff - ands r2, r0 - movs r0, 0x80 - lsls r0, 17 - orrs r2, r0 - mov r0, sp - bl CpuFastSet - mov r1, r9 - ldrb r0, [r1, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - b _081C8C1E - .pool -_081C8BD4: - movs r2, 0x10 - subs r2, r7 - subs r0, r6, r2 - mov r8, r0 - ldr r1, =0x11111111 - str r1, [sp, 0x4] - add r0, sp, 0x4 - adds r1, r7, 0 - muls r1, r3 - add r1, r10 - muls r2, r3 - lsrs r2, 2 - ldr r5, =0x001fffff - ands r2, r5 - movs r4, 0x80 - lsls r4, 17 - orrs r2, r4 - str r3, [sp, 0xC] - bl CpuFastSet - ldr r0, =0x11111111 - str r0, [sp, 0x8] - add r0, sp, 0x8 - ldr r3, [sp, 0xC] - mov r2, r8 - muls r2, r3 - lsrs r2, 2 - ands r2, r5 - orrs r2, r4 - mov r1, r10 - bl CpuFastSet - mov r1, r9 - ldrb r0, [r1, 0x8] - movs r1, 0x2 - bl CopyWindowToVram -_081C8C1E: - subs r6, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r6, r0 - beq _081C8C40 - movs r5, 0xF - adds r4, r0, 0 -_081C8C2C: - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r1, r7, 0 - bl sub_81CBD48 - adds r7, 0x1 - ands r7, r5 - subs r6, 0x1 - cmp r6, r4 - bne _081C8C2C -_081C8C40: - mov r1, r9 - ldrb r0, [r1, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8B70 - - thumb_func_start sub_81C8C64 -sub_81C8C64: @ 81C8C64 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5, 0x8] - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - bl GetBgTilemapBuffer - adds r2, r0, 0 - ldrh r0, [r5, 0xA] - lsls r0, 6 - ldrb r1, [r5, 0x2] - adds r0, r1 - lsls r0, 1 - subs r0, 0x2 - adds r2, r0 - cmp r4, 0 - beq _081C8C98 - ldrb r0, [r5, 0x1] - lsls r0, 12 - ldrh r1, [r5, 0x6] - adds r1, 0x1 - b _081C8C9E -_081C8C98: - ldrb r0, [r5, 0x1] - lsls r0, 12 - ldrh r1, [r5, 0x6] -_081C8C9E: - orrs r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - strh r1, [r2] - adds r0, r2, 0 - adds r0, 0x40 - strh r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C8C64 - - thumb_func_start sub_81C8CB4 -sub_81C8CB4: @ 81C8CB4 - push {r4-r6,lr} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, =gUnknown_0861FBE4 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldrh r1, [r5] - ldr r0, [r5, 0xC] - muls r1, r0 - ldr r0, [r5, 0x10] - adds r0, r1 - adds r6, r4, 0 - adds r6, 0x48 - ldr r2, [r4, 0x34] - adds r1, r6, 0 - bl _call_via_r2 - ldrh r0, [r4, 0x8] - ldrh r1, [r5] - ldrh r2, [r4, 0xA] - ldr r3, [r4, 0x38] - bl _call_via_r3 - ldrb r0, [r4, 0x8] - ldrh r3, [r4, 0xA] - lsls r3, 20 - lsrs r3, 16 - ldrb r1, [r4, 0x4] - lsls r1, 3 - str r1, [sp] - movs r1, 0x10 - str r1, [sp, 0x4] - movs r1, 0x44 - movs r2, 0 - bl FillWindowPixelRect - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x5] - ldrh r3, [r4, 0xA] - lsls r3, 4 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - add r2, sp, 0xC - str r2, [sp] - movs r2, 0x1 - negs r2, r2 - str r2, [sp, 0x4] - str r6, [sp, 0x8] - movs r2, 0x8 - bl AddTextPrinterParameterized3 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C8C64 - ldrh r0, [r4, 0x8] - ldrh r3, [r4, 0xA] - lsls r3, 1 - ldrb r1, [r4, 0x4] - str r1, [sp] - movs r1, 0x2 - str r1, [sp, 0x4] - movs r1, 0x3 - movs r2, 0 - bl CopyWindowRectToVram - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8CB4 - - thumb_func_start sub_81C8D4C -sub_81C8D4C: @ 81C8D4C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - ldrh r2, [r0] - ldr r1, [r0, 0xC] - muls r1, r2 - ldr r0, [r0, 0x10] - adds r0, r1 - adds r5, r4, 0 - adds r5, 0x48 - ldr r2, [r4, 0x34] - adds r1, r5, 0 - bl _call_via_r2 - ldrb r0, [r4, 0x8] - ldrh r3, [r4, 0xA] - lsls r3, 20 - lsrs r3, 16 - ldrb r1, [r4, 0x4] - lsls r1, 3 - str r1, [sp] - movs r1, 0x10 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x5] - ldrh r2, [r4, 0xA] - lsls r2, 4 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - movs r2, 0xFF - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - adds r2, r5, 0 - movs r3, 0x8 - bl AddTextPrinterParameterized - adds r0, r4, 0 - movs r1, 0 - bl sub_81C8C64 - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C8D4C - thumb_func_start sub_81C8DBC sub_81C8DBC: @ 81C8DBC push {r4-r6,lr} diff --git a/src/pokenav.c b/src/pokenav.c index 7b9a6393a8..3986cb51c0 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -68,8 +68,7 @@ struct UnknownSubStruct_0203CF40 u8 tilemapBuffer[0x800]; }; -// Generally at index 0x11 (17) -struct UnknownSubStruct_81C81D4 +struct UnknownInnerStruct_81C81D4 { struct UnknownSubSubStruct_0203CF40 unk0; u32 unk10; @@ -87,6 +86,12 @@ struct UnknownSubStruct_81C81D4 u32 unk40; u32 unk44; char unk48[0x40]; +}; + +// Generally at index 0x11 (17) +struct UnknownSubStruct_81C81D4 +{ + struct UnknownInnerStruct_81C81D4 unk0; u8 tilemapBuffer[0x800]; struct UnknownSubSubStruct_81C81D4 unk888; u32 unk89C; @@ -178,24 +183,25 @@ extern u32 sub_81CFE08(void); extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void *a2, s32 a3); extern u32 sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, void *a1); extern void sub_81C8ED0(void); -extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); -extern void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); -extern void sub_81C9008(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1); extern void sub_81C7CB4(struct Sprite* sprite); -extern void sub_81C8CB4(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); -extern void sub_81C8DBC(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1); -extern void sub_81C8E54(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1, u32 a2); -extern void sub_81C8D4C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubSubStruct_0203CF40 *a1); +extern void sub_81CBD48(u16 windowId, u32 a1); +extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); +extern void sub_81C9008(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +extern void sub_81C8DBC(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +extern void sub_81C8E54(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); +void sub_81C8D4C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8CB4(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); u32 sub_81C8A28(s32 a0); u32 sub_81C8958(s32 a0); u32 sub_81C8870(s32 a0); u32 sub_81C85A0(s32 a0); -void sub_81C8568(s32 a0, struct UnknownSubStruct_81C81D4 *a1); +void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1); u32 sub_81C83F0(s32 a0); bool32 sub_81C83E0(void); -void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct_81C81D4 *a5); -void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubStruct_81C81D4 *a1); +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5); +void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); u32 sub_81C8254(s32 a0); @@ -634,6 +640,8 @@ EWRAM_DATA u8 gUnknown_0203CF3C = 0; EWRAM_DATA struct UnknownStruct_0203CF40 *gUnknown_0203CF40 = NULL; EWRAM_DATA u32 gUnknown_0203CF44 = 0; +extern const u8 gUnknown_0861FBE4[3]; + // code u32 sub_81C7078(u32 (*func)(s32), u32 priority) { @@ -1693,7 +1701,7 @@ void sub_81C8234(void) structPtr = GetSubstructPtr(0x11); sub_81C8FE0(); - RemoveWindow(structPtr->unk0.windowId); + RemoveWindow(structPtr->unk0.unk0.windowId); FreeSubstruct(0x11); } @@ -1712,10 +1720,10 @@ u32 sub_81C8254(s32 a0) sub_81C82E4(structPtr); return 0; case 1: - sub_81C835C(&structPtr->unk0); + sub_81C835C(&structPtr->unk0.unk0); return 0; case 2: - sub_81C837C(&structPtr->unk888, structPtr); + sub_81C837C(&structPtr->unk888, &structPtr->unk0); return 0; case 3: if (sub_81C83E0()) @@ -1737,28 +1745,27 @@ u32 sub_81C8254(s32 a0) void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0) { - u16 v1 = (a0->unk0.unk1 << 12) | a0->unk0.unk6; + u16 v1 = (a0->unk0.unk0.unk1 << 12) | a0->unk0.unk0.unk6; // TODO: When #553 is merged, use a PALETTE_NUM_TO_FILL_VALUE(1) macro here... - sub_8199DF0(a0->unk0.bg, 0x11, a0->unk0.unk6, 1); + sub_8199DF0(a0->unk0.unk0.bg, 0x11, a0->unk0.unk0.unk6, 1); // ...and PALETTE_NUM_TO_FILL_VALUE(4) here. - sub_8199DF0(a0->unk0.bg, 0x44, a0->unk0.unk6 + 1, 1); - SetBgTilemapBuffer(a0->unk0.bg, a0->tilemapBuffer); - FillBgTilemapBufferRect_Palette0(a0->unk0.bg, v1, 0, 0, 32, 32); - ChangeBgY(a0->unk0.bg, 0, 0); - ChangeBgX(a0->unk0.bg, 0, 0); - ChangeBgY(a0->unk0.bg, a0->unk0.unk3 << 11, 2); - CopyBgTilemapBufferToVram(a0->unk0.bg); + sub_8199DF0(a0->unk0.unk0.bg, 0x44, a0->unk0.unk0.unk6 + 1, 1); + SetBgTilemapBuffer(a0->unk0.unk0.bg, a0->tilemapBuffer); + FillBgTilemapBufferRect_Palette0(a0->unk0.unk0.bg, v1, 0, 0, 32, 32); + ChangeBgY(a0->unk0.unk0.bg, 0, 0); + ChangeBgX(a0->unk0.unk0.bg, 0, 0); + ChangeBgY(a0->unk0.unk0.bg, a0->unk0.unk0.unk3 << 11, 2); + CopyBgTilemapBufferToVram(a0->unk0.unk0.bg); } void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0) { - // TODO: When #553 is merged, use a PALETTE_NUM_TO_FILL_VALUE(1) macro here. - FillWindowPixelBuffer(a0->windowId, 0x11); + FillWindowPixelBuffer(a0->windowId, PIXEL_FILL(1)); PutWindowTilemap(a0->windowId); CopyWindowToVram(a0->windowId, 1); } -void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubStruct_81C81D4 *a1) +void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) { s32 v1; s32 v2; @@ -1771,7 +1778,7 @@ void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownSubStruct sub_81C83AC(a0->unk10, a0->unk0, v1, a0->unkC, 0, a1); } -void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownSubStruct_81C81D4 *a5) +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5) { if (a2 == 0) return; @@ -1792,10 +1799,10 @@ bool32 sub_81C83E0(void) u32 sub_81C83F0(s32 a0) { - struct UnknownSubStruct_81C81D4 *structPtr; + struct UnknownInnerStruct_81C81D4 *structPtr; u32 v1; - structPtr = GetSubstructPtr(0x11); + structPtr = &((struct UnknownSubStruct_81C81D4*)GetSubstructPtr(0x11))->unk0; switch (a0) { case 0: @@ -1856,6 +1863,7 @@ bool32 sub_81C84C0(void) #ifdef NONMATCHING // This has some register renaming issues (r4, r5, and r6 are all switched around), and // for some reason it's creating two copies of subPtr->unk0. +// TODO: Now I know why it's making two copies - one of them is UnknownInnerStruct_81C81D4. void sub_81C84E8(s32 a0, s32 a1) { s32 v1; @@ -1969,7 +1977,7 @@ _081C854E:\n\ } #endif -void sub_81C8568(s32 a0, struct UnknownSubStruct_81C81D4 *a1) +void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1) { a1->unk20 = GetBgY(a1->unk0.bg); a1->unk24 = a1->unk20 + (a0 << 12); @@ -1986,8 +1994,8 @@ u32 sub_81C85A0(s32 a0) s32 y; s32 v1; bool32 flag; - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); + struct UnknownInnerStruct_81C81D4 *structPtr; + structPtr = &((struct UnknownSubStruct_81C81D4 *)GetSubstructPtr(0x11))->unk0; switch (a0) { @@ -2033,7 +2041,7 @@ bool32 sub_81C8630(void) { struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); - return sub_81C70D8(structPtr->unk28); + return sub_81C70D8(structPtr->unk0.unk28); } struct UnknownSubSubStruct_81C81D4 *sub_81C8644(void) @@ -2220,8 +2228,8 @@ void sub_81C8838(void) struct UnknownSubSubStruct_81C81D4 *subStr; structPtr = GetSubstructPtr(0x11); subStr = &structPtr->unk888; - structPtr->unk38(structPtr->unk0.windowId, subStr->unk0 + subStr->unk6, (structPtr->unk0.unkA + subStr->unk6) & 0xF); - CopyWindowToVram(structPtr->unk0.windowId, 1); + structPtr->unk0.unk38(structPtr->unk0.unk0.windowId, subStr->unk0 + subStr->unk6, (structPtr->unk0.unk0.unkA + subStr->unk6) & 0xF); + CopyWindowToVram(structPtr->unk0.unk0.windowId, 1); } u32 sub_81C8870(s32 a0) @@ -2241,7 +2249,7 @@ u32 sub_81C8870(s32 a0) // fall-through case 1: if (structPtr->unk89C != structPtr->unk888.unk6) - sub_81C8B70(&structPtr->unk0, structPtr->unk89C, 1); + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, 1); structPtr->unk89C++; return 0; @@ -2253,7 +2261,7 @@ u32 sub_81C8870(s32 a0) return 6; if (structPtr->unk888.unk6 != 0) - sub_81C8B70(&structPtr->unk0, structPtr->unk89C, structPtr->unk888.unk6); + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, structPtr->unk888.unk6); return 0; case 3: @@ -2321,7 +2329,7 @@ u32 sub_81C8A28(s32 a0) { struct UnknownSubStruct_81C81D4 *structPtr; struct UnknownSubSubStruct_81C81D4 *subPtr888; - register struct UnknownSubSubStruct_0203CF40 *subPtr0 asm("r2"); + register struct UnknownInnerStruct_81C81D4 *subPtr0 asm("r2"); s32 v4; if (IsDma3ManagerBusyWithBgCopy()) @@ -2352,7 +2360,7 @@ u32 sub_81C8A28(s32 a0) *v3 = v1; if (v1 < structPtr->unk888.unk8) { - sub_81C8B70(subPtr0, v1, 1); + sub_81C8B70(&subPtr0->unk0, v1, 1); return 2; } @@ -2375,7 +2383,7 @@ u32 sub_81C8A28(s32 a0) v2 -= temp; } v4 = v2 * -1; - sub_81C8B70(subPtr0, v4, v2); + sub_81C8B70(&subPtr0->unk0, v4, v2); subPtr888->unk6 = v2; *v3 = v4; return 0; @@ -2390,7 +2398,7 @@ u32 sub_81C8A28(s32 a0) structPtr->unk89C = 0; return 1; case 4: - sub_81C83AC(subPtr888->unk10, subPtr888->unk0 + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, structPtr); + sub_81C83AC(subPtr888->unk10, subPtr888->unk0 + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, &structPtr->unk0); return 0; case 5: if (sub_81C83E0()) @@ -2404,4 +2412,95 @@ u32 sub_81C8A28(s32 a0) sub_81C9008(subPtr0, 0); return 4; } +} + +void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2) +{ + u8 *v1; + u32 v2; + + v1 = (u8*)GetWindowAttribute(a0->windowId, WINDOW_TILE_DATA); + v2 = a0->unk4 * 64; + + a1 = (a0->unkA + a1) & 0xF; + if ((s32)(a1 + a2) <= 16) + { + CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, a2 * v2); + CopyWindowToVram(a0->windowId, 2); + } + else + { + u32 v3; + u32 v4; + + v3 = 16 - a1; + v4 = a2 - v3; + + CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, v3 * v2); + CpuFastFill8(PIXEL_FILL(1), v1, v4 * v2); + CopyWindowToVram(a0->windowId, 2); + } + + a2 -= 1; + for (a2; a2 != -1; a1 = (a1 + 1) & 0xF, a2--) + { + sub_81CBD48(a0->windowId, a1); + } + + CopyWindowToVram(a0->windowId, 1); +} + +void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) +{ + u16 *v1; + register u32 v2 asm("r0"); + u32 v3; + + v1 = (u16*)GetBgTilemapBuffer(GetWindowAttribute(a0->windowId, WINDOW_BG)); + + v1 = &v1[(a0->unkA << 6) + a0->unk2 - 1]; + + if (a1 != 0) + { + v2 = a0->unk1 << 12; + v3 = a0->unk6 + 1; + } + else + { + v2 = a0->unk1 << 12; + v3 = a0->unk6; + } + { + register u16 v5 asm("r1"); + register u32 v6 asm("r0"); + v6 = (v3 | v2); + v6 = v6 << 16; + v5 = v6 >> 16; + v1[0] = v5; + v1[0x20] = v5; + } +} + +void sub_81C8CB4(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + u8 buffer[ARRAY_COUNT(gUnknown_0861FBE4)]; + + + memcpy(buffer, gUnknown_0861FBE4, ARRAY_COUNT(gUnknown_0861FBE4)); + + a1->unk34(a0->unk10 + a0->unkC * a0->unk0, a1->unk48); + a1->unk38(a1->unk0.windowId, a0->unk0, a1->unk0.unkA); + FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(4), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); + AddTextPrinterParameterized3(a1->unk0.windowId, a1->unk0.unk5, 8, (a1->unk0.unkA * 16) + 1, buffer, TEXT_SPEED_FF, a1->unk48); + sub_81C8C64(&a1->unk0, 1); + CopyWindowRectToVram(a1->unk0.windowId, 3, 0, a1->unk0.unkA * 2, a1->unk0.unk4, 2); +} + +void sub_81C8D4C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + a1->unk34(a0->unk10 + a0->unkC * a0->unk0, a1->unk48); + FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(1), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); + AddTextPrinterParameterized(a1->unk0.windowId, a1->unk0.unk5, a1->unk48, 8, a1->unk0.unkA * 16 + 1, TEXT_SPEED_FF, NULL); + sub_81C8C64(&a1->unk0, 0); + CopyWindowToVram(a1->unk0.windowId, 3); } \ No newline at end of file From 6566a49bebc877e742f8ee325dd659879afe63f3 Mon Sep 17 00:00:00 2001 From: Wyrserth Date: Sat, 23 Mar 2019 21:52:58 +0100 Subject: [PATCH 11/84] Use constants for naming screen's pages. --- include/naming_screen.h | 2 +- src/naming_screen.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/naming_screen.h b/include/naming_screen.h index b04cb19b61..611f53ef2e 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -59,9 +59,9 @@ struct NamingScreenData { enum { + PAGE_OTHERS, PAGE_UPPER, PAGE_LOWER, - PAGE_OTHERS, }; enum diff --git a/src/naming_screen.c b/src/naming_screen.c index 75b7c85661..d37144122c 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -449,7 +449,7 @@ static u8 sub_80E3274(void) static bool8 MainState_BeginFadeIn(void) { sub_80E4CF8(3, gUnknown_08DD4544); - gNamingScreenData->currentPage = 1; + gNamingScreenData->currentPage = PAGE_UPPER; sub_80E4CF8(2, gUnknown_08DD46E0); sub_80E4CF8(1, gUnknown_08DD4620); sub_80E4DE4(gNamingScreenData->windows[1], 0); @@ -1856,7 +1856,7 @@ static const struct NamingScreenTemplate playerNamingScreenTemplate = .maxChars = 7, .iconFunction = 1, .addGenderIcon = 0, - .initialPage = 1, + .initialPage = PAGE_UPPER, .unused = 35, .title = gText_YourName, }; @@ -1867,7 +1867,7 @@ static const struct NamingScreenTemplate pcBoxNamingTemplate = .maxChars = 8, .iconFunction = 2, .addGenderIcon = 0, - .initialPage = 1, + .initialPage = PAGE_UPPER, .unused = 19, .title = gText_BoxName, }; @@ -1878,7 +1878,7 @@ static const struct NamingScreenTemplate monNamingScreenTemplate = .maxChars = 10, .iconFunction = 3, .addGenderIcon = 1, - .initialPage = 1, + .initialPage = PAGE_UPPER, .unused = 35, .title = gText_PkmnsNickname, }; @@ -1889,7 +1889,7 @@ static const struct NamingScreenTemplate wandaWordsScreenTemplate = .maxChars = 15, .iconFunction = 4, .addGenderIcon = 0, - .initialPage = 1, + .initialPage = PAGE_UPPER, .unused = 11, .title = gText_TellHimTheWords, }; From d13563b174119121964c2da62380bce44743b93f Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 31 Mar 2019 14:09:40 -0500 Subject: [PATCH 12/84] Document some faraway_island code --- common_syms/faraway_island.txt | 3 + include/faraway_island.h | 2 +- src/event_object_movement.c | 4 +- src/faraway_island.c | 131 +++++++++++++++++---------------- sym_bss.txt | 9 +-- sym_ewram.txt | 5 +- 6 files changed, 74 insertions(+), 80 deletions(-) create mode 100755 common_syms/faraway_island.txt diff --git a/common_syms/faraway_island.txt b/common_syms/faraway_island.txt new file mode 100755 index 0000000000..395c9a82fd --- /dev/null +++ b/common_syms/faraway_island.txt @@ -0,0 +1,3 @@ +sPlayerToMewDeltaX +sPlayerToMewDeltaY +sMewDirectionCandidates \ No newline at end of file diff --git a/include/faraway_island.h b/include/faraway_island.h index 89b4bcd085..4946bda8ad 100755 --- a/include/faraway_island.h +++ b/include/faraway_island.h @@ -1,7 +1,7 @@ #ifndef GUARD_FARAWAY_ISLAND_H #define GUARD_FARAWAY_ISLAND_H -u32 sub_81D427C(void); +u32 GetMewMoveDirection(void); bool8 sub_81D4A58(struct EventObject*); void UpdateFarawayIslandStepCounter(void); bool8 EventObjectIsFarawayIslandMew(struct EventObject *); diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 30dffd8d7f..6a3527bc19 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -4414,8 +4414,8 @@ bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *eventObject, struct Sp direction = playerDirection; if (EventObjectIsFarawayIslandMew(eventObject)) { - direction = sub_81D427C(); - if (direction == 0) + direction = GetMewMoveDirection(); + if (direction == DIR_NONE) { direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); diff --git a/src/faraway_island.c b/src/faraway_island.c index 1c8dff14e7..6a835a02b0 100755 --- a/src/faraway_island.c +++ b/src/faraway_island.c @@ -17,12 +17,13 @@ static u8 sub_81D4C9C(struct EventObject*, u8); static u8 sub_81D4C58(struct EventObject*, u8); static u8 sub_81D4CE0(struct EventObject*, u8); static u8 sub_81D4D24(u8); -static bool8 sub_81D4834(s16, s16); +static bool8 CanMewWalkToCoords(s16, s16); -extern u8 gUnknown_0203CF50; -extern s16 gUnknown_030012F8; -extern s16 gUnknown_030012FA; -extern u8 gUnknown_030012FC[4]; +static EWRAM_DATA u8 sUnknown_0203CF50 = 0; + +static s16 sPlayerToMewDeltaX; +static s16 sPlayerToMewDeltaY; +static u8 sMewDirectionCandidates[4]; extern const struct SpritePalette gFieldEffectObjectPaletteInfo1; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; @@ -35,23 +36,23 @@ static const s16 sFarawayIslandRockCoords[4][2] = {20, 20}, }; -static u8 sub_81D4258(void) +static u8 GetMewEventObjectId(void) { u8 eventObjectId; TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); return eventObjectId; } -u32 sub_81D427C(void) +u32 GetMewMoveDirection(void) { u8 i; int skip; - struct EventObject *mew = &gEventObjects[sub_81D4258()]; + struct EventObject *mew = &gEventObjects[GetMewEventObjectId()]; - gUnknown_030012F8 = gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x - mew->currentCoords.x; - gUnknown_030012FA = gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y - mew->currentCoords.y; - for (i = 0; i < ARRAY_COUNT(gUnknown_030012FC); i++) - gUnknown_030012FC[i] = DIR_NONE; + sPlayerToMewDeltaX = gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x - mew->currentCoords.x; + sPlayerToMewDeltaY = gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y - mew->currentCoords.y; + for (i = 0; i < ARRAY_COUNT(sMewDirectionCandidates); i++) + sMewDirectionCandidates[i] = DIR_NONE; if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x == gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x && gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y == gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y) @@ -85,33 +86,33 @@ u32 sub_81D427C(void) if (!skip) { - if (gUnknown_030012F8 > 0) + if (sPlayerToMewDeltaX > 0) { if (mew->currentCoords.x + 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x) { - if (sub_81D4834(mew->currentCoords.x + 1, mew->currentCoords.y)) + if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y)) return DIR_EAST; } } - else if (gUnknown_030012F8 < 0) + else if (sPlayerToMewDeltaX < 0) { if (mew->currentCoords.x - 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x) { - if (sub_81D4834(mew->currentCoords.x - 1, mew->currentCoords.y)) + if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y)) return DIR_WEST; } } if (mew->currentCoords.x == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x) { - if (gUnknown_030012FA > 0) + if (sPlayerToMewDeltaY > 0) { - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y - 1)) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1)) return DIR_NORTH; } else { - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y + 1)) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1)) return DIR_SOUTH; } } @@ -134,33 +135,33 @@ u32 sub_81D427C(void) if (!skip) { - if (gUnknown_030012FA > 0) + if (sPlayerToMewDeltaY > 0) { if (mew->currentCoords.y + 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y) { - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y + 1)) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1)) return DIR_SOUTH; } } - else if (gUnknown_030012FA < 0) + else if (sPlayerToMewDeltaY < 0) { if (mew->currentCoords.y - 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y) { - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y - 1)) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1)) return DIR_NORTH; } } if (mew->currentCoords.y == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y) { - if (gUnknown_030012F8 > 0) + if (sPlayerToMewDeltaX > 0) { - if (sub_81D4834(mew->currentCoords.x - 1, mew->currentCoords.y)) + if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y)) return DIR_WEST; } else { - if (sub_81D4834(mew->currentCoords.x + 1, mew->currentCoords.y)) + if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y)) return DIR_EAST; } } @@ -208,52 +209,52 @@ u32 sub_81D427C(void) return DIR_WEST; } - if (gUnknown_030012FA == 0) + if (sPlayerToMewDeltaY == 0) { if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y > mew->currentCoords.y) { - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y - 1)) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1)) return DIR_NORTH; } if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y < mew->currentCoords.y) { - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y + 1)) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1)) return DIR_SOUTH; } - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y - 1)) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1)) return DIR_NORTH; - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y + 1)) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1)) return DIR_SOUTH; } - if (gUnknown_030012F8 == 0) + if (sPlayerToMewDeltaX == 0) { if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x > mew->currentCoords.x) { - if (sub_81D4834(mew->currentCoords.x - 1, mew->currentCoords.y)) + if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y)) return DIR_WEST; } if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x < mew->currentCoords.x) { - if (sub_81D4834(mew->currentCoords.x + 1, mew->currentCoords.y)) + if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y)) return DIR_EAST; } - if (sub_81D4834(mew->currentCoords.x + 1, mew->currentCoords.y)) + if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y)) return DIR_EAST; - if (sub_81D4834(mew->currentCoords.x - 1, mew->currentCoords.y)) + if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y)) return DIR_WEST; } return sub_81D4890(DIR_NONE); } -static bool8 sub_81D4834(s16 x, s16 y) +static bool8 CanMewWalkToCoords(s16 x, s16 y) { if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x == x && gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y == y) @@ -268,39 +269,39 @@ static u8 sub_81D4890(u8 ignoredDir) { u8 i; u8 count = 0; - struct EventObject *mew = &gEventObjects[sub_81D4258()]; + struct EventObject *mew = &gEventObjects[GetMewEventObjectId()]; - for (i = 0; i < ARRAY_COUNT(gUnknown_030012FC); i++) - gUnknown_030012FC[i] = DIR_NONE; + for (i = 0; i < ARRAY_COUNT(sMewDirectionCandidates); i++) + sMewDirectionCandidates[i] = DIR_NONE; - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y - 1) == TRUE && ignoredDir != DIR_NORTH) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1) == TRUE && ignoredDir != DIR_NORTH) { - gUnknown_030012FC[count] = DIR_NORTH; + sMewDirectionCandidates[count] = DIR_NORTH; count++; } - if (sub_81D4834(mew->currentCoords.x + 1, mew->currentCoords.y) == TRUE && ignoredDir != DIR_EAST) + if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y) == TRUE && ignoredDir != DIR_EAST) { - gUnknown_030012FC[count] = DIR_EAST; + sMewDirectionCandidates[count] = DIR_EAST; count++; } - if (sub_81D4834(mew->currentCoords.x, mew->currentCoords.y + 1) == TRUE && ignoredDir != DIR_SOUTH) + if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1) == TRUE && ignoredDir != DIR_SOUTH) { - gUnknown_030012FC[count] = DIR_SOUTH; + sMewDirectionCandidates[count] = DIR_SOUTH; count++; } - if (sub_81D4834(mew->currentCoords.x - 1, mew->currentCoords.y) == TRUE && ignoredDir != DIR_WEST) + if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y) == TRUE && ignoredDir != DIR_WEST) { - gUnknown_030012FC[count] = DIR_WEST; + sMewDirectionCandidates[count] = DIR_WEST; count++; } if (count > 1) - return gUnknown_030012FC[VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % count]; + return sMewDirectionCandidates[VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % count]; else - return gUnknown_030012FC[0]; + return sMewDirectionCandidates[0]; } void UpdateFarawayIslandStepCounter(void) @@ -355,7 +356,7 @@ void sub_81D4A90(void) s16 x; s16 y; u8 spriteId; - struct EventObject *mew = &gEventObjects[sub_81D4258()]; + struct EventObject *mew = &gEventObjects[GetMewEventObjectId()]; mew->invisible = 0; if (gSpecialVar_0x8004 == 1) @@ -378,10 +379,10 @@ void sub_81D4A90(void) x = mew->currentCoords.x; y = mew->currentCoords.y; sub_80930E0(&x, &y, 8, 8); - gUnknown_0203CF50 = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[15], x, y, gSprites[mew->spriteId].subpriority - 1); - if (gUnknown_0203CF50 != MAX_SPRITES) + sUnknown_0203CF50 = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[15], x, y, gSprites[mew->spriteId].subpriority - 1); + if (sUnknown_0203CF50 != MAX_SPRITES) { - struct Sprite *sprite = &gSprites[gUnknown_0203CF50]; + struct Sprite *sprite = &gSprites[sUnknown_0203CF50]; sprite->coordOffsetEnabled = 1; sprite->oam.priority = 2; sprite->callback = SpriteCallbackDummy; @@ -391,15 +392,15 @@ void sub_81D4A90(void) void sub_81D4BEC(void) { - if (gUnknown_0203CF50 != MAX_SPRITES) - DestroySprite(&gSprites[gUnknown_0203CF50]); + if (sUnknown_0203CF50 != MAX_SPRITES) + DestroySprite(&gSprites[sUnknown_0203CF50]); } static bool8 sub_81D4C14(struct EventObject *mew, u8 index) { - if (gUnknown_030012FA > 0 && sub_81D4834(mew->currentCoords.x, mew->currentCoords.y - 1)) + if (sPlayerToMewDeltaY > 0 && CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1)) { - gUnknown_030012FC[index] = DIR_NORTH; + sMewDirectionCandidates[index] = DIR_NORTH; return TRUE; } @@ -408,9 +409,9 @@ static bool8 sub_81D4C14(struct EventObject *mew, u8 index) static u8 sub_81D4C58(struct EventObject *mew, u8 index) { - if (gUnknown_030012F8 < 0 && sub_81D4834(mew->currentCoords.x + 1, mew->currentCoords.y)) + if (sPlayerToMewDeltaX < 0 && CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y)) { - gUnknown_030012FC[index] = DIR_EAST; + sMewDirectionCandidates[index] = DIR_EAST; return TRUE; } @@ -419,9 +420,9 @@ static u8 sub_81D4C58(struct EventObject *mew, u8 index) static u8 sub_81D4C9C(struct EventObject *mew, u8 index) { - if (gUnknown_030012FA < 0 && sub_81D4834(mew->currentCoords.x, mew->currentCoords.y + 1)) + if (sPlayerToMewDeltaY < 0 && CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1)) { - gUnknown_030012FC[index] = DIR_SOUTH; + sMewDirectionCandidates[index] = DIR_SOUTH; return TRUE; } @@ -430,9 +431,9 @@ static u8 sub_81D4C9C(struct EventObject *mew, u8 index) static u8 sub_81D4CE0(struct EventObject *mew, u8 index) { - if (gUnknown_030012F8 > 0 && sub_81D4834(mew->currentCoords.x - 1, mew->currentCoords.y)) + if (sPlayerToMewDeltaX > 0 && CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y)) { - gUnknown_030012FC[index] = DIR_WEST; + sMewDirectionCandidates[index] = DIR_WEST; return TRUE; } @@ -441,5 +442,5 @@ static u8 sub_81D4CE0(struct EventObject *mew, u8 index) static u8 sub_81D4D24(u8 mod) { - return gUnknown_030012FC[VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % mod]; + return sMewDirectionCandidates[VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % mod]; } diff --git a/sym_bss.txt b/sym_bss.txt index 1eef0130bc..25ca7c625f 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -88,14 +88,7 @@ gUnknown_030012F2: @ 30012F2 gUnknown_030012F4: @ 30012F4 .space 0x4 -gUnknown_030012F8: @ 30012F8 - .space 0x2 - -gUnknown_030012FA: @ 30012FA - .space 0x2 - -gUnknown_030012FC: @ 30012FC - .space 0x4 + .include "src/faraway_island.o" gUnknown_03001300: @ 3001300 .space 0x40 diff --git a/sym_ewram.txt b/sym_ewram.txt index 6878e1bd1a..50235ee72f 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -214,9 +214,6 @@ gUnknown_0203CF44: @ 203CF44 .space 0x4 .include "src/menu_specialized.o" - -gUnknown_0203CF50: @ 203CF50 - .space 0x4 - + .include "src/faraway_island.o" .include "src/trainer_hill.o" .include "src/rayquaza_scene.o" From 099ea89b77fdde1a6b31c7ef3e1975e57a175dd9 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 31 Mar 2019 21:07:29 -0500 Subject: [PATCH 13/84] Document rain weather effect --- include/field_weather.h | 14 +- src/braille_puzzles.c | 72 ++-- src/field_weather.c | 5 +- src/field_weather_effect.c | 829 +++++++++++++++++++------------------ 4 files changed, 478 insertions(+), 442 deletions(-) diff --git a/include/field_weather.h b/include/field_weather.h index 76399200d1..38fba68f14 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -3,6 +3,8 @@ #include "sprite.h" +#define MAX_RAIN_SPRITES 24 + // Controls how the weather should be changing the screen palettes. enum { @@ -27,7 +29,7 @@ struct Weather { struct { - struct Sprite *rainSprites[24]; + struct Sprite *rainSprites[MAX_RAIN_SPRITES]; struct Sprite *snowflakeSprites[101]; struct Sprite *cloudSprites[3]; } s1; @@ -62,12 +64,12 @@ struct Weather bool8 weatherChangeComplete; u8 weatherPicSpritePalIndex; u8 altGammaSpritePalIndex; - u16 unknown_6D6; - u8 unknown_6D8; - u8 unknown_6D9; + u16 rainSpriteVisibleCounter; + u8 curRainSpriteIndex; + u8 maxRainSprites; u8 rainSpriteCount; - u8 unknown_6DB; - u8 unknown_6DC; + u8 rainSpriteVisibleDelay; + u8 isHeavyRain; u8 rainStrength; /*0x6DE*/ u8 cloudSpritesCreated; u8 filler_6DF[1]; diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index 07b941f117..659f8682e5 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -25,42 +25,42 @@ EWRAM_DATA static u8 sBraillePuzzleCallbackFlag = 0; static const u8 gRegicePathCoords[][2] = { - {0x04, 0x15}, - {0x05, 0x15}, - {0x06, 0x15}, - {0x07, 0x15}, - {0x08, 0x15}, - {0x09, 0x15}, - {0x0a, 0x15}, - {0x0b, 0x15}, - {0x0c, 0x15}, - {0x0c, 0x16}, - {0x0c, 0x17}, - {0x0d, 0x17}, - {0x0d, 0x18}, - {0x0d, 0x19}, - {0x0d, 0x1a}, - {0x0d, 0x1b}, - {0x0c, 0x1b}, - {0x0c, 0x1c}, - {0x04, 0x1d}, - {0x05, 0x1d}, - {0x06, 0x1d}, - {0x07, 0x1d}, - {0x08, 0x1d}, - {0x09, 0x1d}, - {0x0a, 0x1d}, - {0x0b, 0x1d}, - {0x0c, 0x1d}, - {0x04, 0x1c}, - {0x04, 0x1b}, - {0x03, 0x1b}, - {0x03, 0x1a}, - {0x03, 0x19}, - {0x03, 0x18}, - {0x03, 0x17}, - {0x04, 0x17}, - {0x04, 0x16}, + {4, 21}, + {5, 21}, + {6, 21}, + {7, 21}, + {8, 21}, + {9, 21}, + {10, 21}, + {11, 21}, + {12, 21}, + {12, 22}, + {12, 23}, + {13, 23}, + {13, 24}, + {13, 25}, + {13, 26}, + {13, 27}, + {12, 27}, + {12, 28}, + {4, 29}, + {5, 29}, + {6, 29}, + {7, 29}, + {8, 29}, + {9, 29}, + {10, 29}, + {11, 29}, + {12, 29}, + {4, 28}, + {4, 27}, + {3, 27}, + {3, 26}, + {3, 25}, + {3, 24}, + {3, 23}, + {4, 23}, + {4, 22}, }; void SealedChamberShakingEffect(u8); diff --git a/src/field_weather.c b/src/field_weather.c index 9913e9a617..a2c40052b3 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -167,7 +167,7 @@ void StartWeather(void) gWeatherPtr->altGammaSpritePalIndex = index; gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(0x1201); gWeatherPtr->rainSpriteCount = 0; - gWeatherPtr->unknown_6D8 = 0; + gWeatherPtr->curRainSpriteIndex = 0; gWeatherPtr->cloudSpritesCreated = 0; gWeatherPtr->snowflakeSpriteCount = 0; gWeatherPtr->ashSpritesCreated = 0; @@ -234,7 +234,8 @@ static void Task_WeatherMain(u8 taskId) { if (gWeatherPtr->currWeather != gWeatherPtr->nextWeather) { - if (!sWeatherFuncs[gWeatherPtr->currWeather].finish() && gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT) + if (!sWeatherFuncs[gWeatherPtr->currWeather].finish() + && gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT) { // Finished cleaning up previous weather. Now transition to next weather. sWeatherFuncs[gWeatherPtr->nextWeather].initVars(); diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 6ec83f1a0d..95f80d061c 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -12,9 +12,6 @@ #include "trig.h" #include "gpu_regs.h" -// This file's functions. -void sub_80AC6B4(struct Sprite *); - // EWRAM EWRAM_DATA static u8 gCurrentAlternatingWeather = 0; EWRAM_DATA static u16 gUnusedWeatherRelated = 0; @@ -32,6 +29,12 @@ const u8 gWeatherAshTiles[] = INCBIN_U8("graphics/weather/ash.4bpp"); const u8 gWeatherRainTiles[] = INCBIN_U8("graphics/weather/rain.4bpp"); const u8 gWeatherSandstormTiles[] = INCBIN_U8("graphics/weather/sandstorm.4bpp"); +//------------------------------------------------------------------------------ +// Clouds +//------------------------------------------------------------------------------ + +static void sub_80AC6B4(struct Sprite *); + static const struct Coords16 gUnknown_0854FB50[] = { { 0, 66}, @@ -39,7 +42,12 @@ static const struct Coords16 gUnknown_0854FB50[] = {10, 78}, }; -static const struct SpriteSheet sCloudSpriteSheet = {gWeatherCloudTiles, sizeof(gWeatherCloudTiles), 0x1200}; +static const struct SpriteSheet sCloudSpriteSheet = +{ + .data = gWeatherCloudTiles, + .size = sizeof(gWeatherCloudTiles), + .tag = 0x1200 +}; static const struct OamData gOamData_839A9DC = { @@ -80,10 +88,6 @@ static const struct SpriteTemplate sCloudSpriteTemplate = .callback = sub_80AC6B4, }; -//------------------------------------------------------------------------------ -// Clouds -//------------------------------------------------------------------------------ - void Clouds_InitVars(void) { gWeatherPtr->gammaTargetIndex = 0; @@ -214,7 +218,7 @@ void sub_807E0A0(void) gWeatherPtr->cloudSpritesCreated = FALSE; } -void sub_80AC6B4(struct Sprite *sprite) +static void sub_80AC6B4(struct Sprite *sprite) { sprite->data[0] = (sprite->data[0] + 1) & 1; if (sprite->data[0] != 0) @@ -350,197 +354,11 @@ void task50_0807B6D4(u8 taskId) // Light Rain //------------------------------------------------------------------------------ -void LightRain_InitVars(void) -{ - gWeatherPtr->initStep = 0; - gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->unknown_6D6 = 0; - gWeatherPtr->unknown_6DB = 8; - gWeatherPtr->unknown_6DC = 0; - gWeatherPtr->unknown_6D9 = 10; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; - SetRainStrengthFromSoundEffect(SE_T_KOAME); -} - -void LightRain_InitAll(void) -{ - LightRain_InitVars(); - while (gWeatherPtr->weatherGfxLoaded == FALSE) - LightRain_Main(); -} - -void LoadRainSpriteSheet(void); -u8 CreateRainSprite(void); -u8 sub_807E8E8(void); - -void LightRain_Main(void) -{ - switch (gWeatherPtr->initStep) - { - case 0: - LoadRainSpriteSheet(); - gWeatherPtr->initStep++; - break; - case 1: - if (CreateRainSprite() == 0) - gWeatherPtr->initStep++; - break; - case 2: - if (sub_807E8E8() == FALSE) - { - gWeatherPtr->weatherGfxLoaded = TRUE; - gWeatherPtr->initStep++; - } - break; - } -} - -void DestroyRainSprites(void); - -bool8 LightRain_Finish(void) -{ - switch (gWeatherPtr->finishStep) - { - case 0: - if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT - || gWeatherPtr->nextWeather == WEATHER_RAIN_MED - || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY) - { - gWeatherPtr->finishStep = 0xFF; - return FALSE; - } - else - { - gWeatherPtr->unknown_6D9 = 0; - gWeatherPtr->finishStep++; - } - // fall through - case 1: - if (sub_807E8E8() == FALSE) - { - DestroyRainSprites(); - gWeatherPtr->finishStep++; - return FALSE; - } - return TRUE; - } - return FALSE; -} - -// defined below -extern const s16 gUnknown_0839AABC[][2]; -extern const u16 gUnknown_0839AAC4[][2]; - -void sub_807E4EC(struct Sprite *sprite) -{ - u32 randVal; - u16 r6; - s32 r4; - s32 r0; - - if (sprite->data[1] == 0) - sprite->data[1] = 361; - randVal = sprite->data[1] * 1103515245 + 12345; - sprite->data[1] = ((randVal & 0x7FFF0000) >> 16) % 600; - - r6 = gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][0]; - - r4 = sprite->data[1] % 30; - sprite->data[2] = r4 * 8; // useless assignment - - r0 = sprite->data[1] / 30; - sprite->data[3] = r0 * 8; // useless assignment - - sprite->data[2] = r4; - sprite->data[2] <<= 7; - - sprite->data[3] = r0; - sprite->data[3] <<= 7; - - sprite->data[2] -= gUnknown_0839AABC[gWeatherPtr->unknown_6DC][0] * r6; - sprite->data[3] -= gUnknown_0839AABC[gWeatherPtr->unknown_6DC][1] * r6; - - StartSpriteAnim(sprite, 0); - sprite->data[4] = 0; - sprite->coordOffsetEnabled = FALSE; - sprite->data[0] = r6; -} - -void sub_807E5C0(struct Sprite *sprite) -{ - if (sprite->data[4] == 0) - { - sprite->data[2] += gUnknown_0839AABC[gWeatherPtr->unknown_6DC][0]; - sprite->data[3] += gUnknown_0839AABC[gWeatherPtr->unknown_6DC][1]; - sprite->pos1.x = sprite->data[2] >> 4; - sprite->pos1.y = sprite->data[3] >> 4; - - if (sprite->data[5] != 0 - && (sprite->pos1.x >= -8 && sprite->pos1.x <= 248) - && sprite->pos1.y >= -16 && sprite->pos1.y <= 176) - sprite->invisible = FALSE; - else - sprite->invisible = TRUE; - - sprite->data[0]--; - if (sprite->data[0] == 0) - { - StartSpriteAnim(sprite, gWeatherPtr->unknown_6DC + 1); - sprite->data[4] = 1; - sprite->pos1.x -= gSpriteCoordOffsetX; - sprite->pos1.y -= gSpriteCoordOffsetY; - sprite->coordOffsetEnabled = TRUE; - } - } - else if (sprite->animEnded) - { - sprite->invisible = TRUE; - sub_807E4EC(sprite); - } -} - -void sub_807E6C4(struct Sprite *sprite) -{ - if (sprite->data[0] == 0) - { - sub_807E4EC(sprite); - sprite->callback = sub_807E5C0; - } - else - { - sprite->data[0]--; - } -} - -void sub_807E6F0(struct Sprite *sprite, u16 b) -{ - u16 r8 = gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][0]; - u16 r6 = b / (gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][1] + r8); - u16 r4 = b % (gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][1] + r8); - - while (--r6 != 0xFFFF) - sub_807E4EC(sprite); - if (r4 < r8) - { - while (--r4 != 0xFFFF) - sub_807E5C0(sprite); - sprite->data[6] = 0; - } - else - { - sprite->data[0] = r4 - r8; - sprite->invisible = TRUE; - sprite->data[6] = 1; - } -} - -extern const struct SpriteSheet sRainSpriteSheet; // defined below - -void LoadRainSpriteSheet(void) -{ - LoadSpriteSheet(&sRainSpriteSheet); -} +static void LoadRainSpriteSheet(void); +static bool8 CreateRainSprite(void); +static void UpdateRainSprite(struct Sprite *sprite); +static bool8 UpdateVisibleRainSprites(void); +static void DestroyRainSprites(void); static const struct Coords16 sRainSpriteCoords[] = { @@ -570,7 +388,7 @@ static const struct Coords16 sRainSpriteCoords[] = { 48, 96}, }; -static const struct OamData gOamData_839AA68 = +static const struct OamData sRainSpriteOamData = { .y = 0, .affineMode = 0, @@ -587,13 +405,13 @@ static const struct OamData gOamData_839AA68 = .affineParam = 0, }; -static const union AnimCmd gSpriteAnim_839AA70[] = +static const union AnimCmd sRainSpriteFallAnimCmd[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_JUMP(0), }; -static const union AnimCmd gSpriteAnim_839AA78[] = +static const union AnimCmd sRainSpriteSplashAnimCmd[] = { ANIMCMD_FRAME(8, 3), ANIMCMD_FRAME(32, 2), @@ -601,7 +419,7 @@ static const union AnimCmd gSpriteAnim_839AA78[] = ANIMCMD_END, }; -static const union AnimCmd gSpriteAnim_839AA88[] = +static const union AnimCmd sRainSpriteHeavySplashAnimCmd[] = { ANIMCMD_FRAME(8, 3), ANIMCMD_FRAME(16, 3), @@ -609,37 +427,418 @@ static const union AnimCmd gSpriteAnim_839AA88[] = ANIMCMD_END, }; -static const union AnimCmd *const gSpriteAnimTable_839AA98[] = +static const union AnimCmd *const sRainSpriteAnimCmds[] = { - gSpriteAnim_839AA70, - gSpriteAnim_839AA78, - gSpriteAnim_839AA88, + sRainSpriteFallAnimCmd, + sRainSpriteSplashAnimCmd, + sRainSpriteHeavySplashAnimCmd, }; static const struct SpriteTemplate sRainSpriteTemplate = { .tileTag = 4614, .paletteTag = 4608, - .oam = &gOamData_839AA68, - .anims = gSpriteAnimTable_839AA98, + .oam = &sRainSpriteOamData, + .anims = sRainSpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807E5C0, + .callback = UpdateRainSprite, }; -const s16 gUnknown_0839AABC[][2] = +// Q28.4 fixed-point format values +static const s16 sRainSpriteMovement[][2] = { - {-104, 208}, - {-160, 320}, + {-0x68, 0xD0}, + {-0xA0, 0x140}, }; -const u16 gUnknown_0839AAC4[][2] = +// First byte is the number of frames a raindrop falls before it splashes. +// Second byte is the maximum number of frames a raindrop can "wait" before +// it appears and starts falling. (This is only for the initial raindrop spawn.) +static const u16 sRainSpriteFallingDurations[][2] = { {18, 7}, {12, 10}, }; -static const struct SpriteSheet sRainSpriteSheet = {gWeatherRainTiles, sizeof(gWeatherRainTiles), 0x1206}; +static const struct SpriteSheet sRainSpriteSheet = +{ + .data = gWeatherRainTiles, + .size = sizeof(gWeatherRainTiles), + .tag = 0x1206, +}; + +void LightRain_InitVars(void) +{ + gWeatherPtr->initStep = 0; + gWeatherPtr->weatherGfxLoaded = FALSE; + gWeatherPtr->rainSpriteVisibleCounter = 0; + gWeatherPtr->rainSpriteVisibleDelay = 8; + gWeatherPtr->isHeavyRain = 0; + gWeatherPtr->maxRainSprites = 10; + gWeatherPtr->gammaTargetIndex = 3; + gWeatherPtr->gammaStepDelay = 20; + SetRainStrengthFromSoundEffect(SE_T_KOAME); +} + +void LightRain_InitAll(void) +{ + LightRain_InitVars(); + while (!gWeatherPtr->weatherGfxLoaded) + LightRain_Main(); +} + +void LightRain_Main(void) +{ + switch (gWeatherPtr->initStep) + { + case 0: + LoadRainSpriteSheet(); + gWeatherPtr->initStep++; + break; + case 1: + if (!CreateRainSprite()) + gWeatherPtr->initStep++; + break; + case 2: + if (!UpdateVisibleRainSprites()) + { + gWeatherPtr->weatherGfxLoaded = TRUE; + gWeatherPtr->initStep++; + } + break; + } +} + +bool8 LightRain_Finish(void) +{ + switch (gWeatherPtr->finishStep) + { + case 0: + if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT + || gWeatherPtr->nextWeather == WEATHER_RAIN_MED + || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY) + { + gWeatherPtr->finishStep = 0xFF; + return FALSE; + } + else + { + gWeatherPtr->maxRainSprites = 0; + gWeatherPtr->finishStep++; + } + // fall through + case 1: + if (!UpdateVisibleRainSprites()) + { + DestroyRainSprites(); + gWeatherPtr->finishStep++; + return FALSE; + } + return TRUE; + } + return FALSE; +} + +#define tCounter data[0] +#define tRandom data[1] +#define tPosX data[2] +#define tPosY data[3] +#define tState data[4] +#define tActive data[5] +#define tWaiting data[6] + +static void StartRainSpriteFall(struct Sprite *sprite) +{ + u32 rand; + u16 numFallingFrames; + int tileX; + int tileY; + + if (sprite->tRandom == 0) + sprite->tRandom = 361; + + // Standard RNG sequence. + rand = sprite->tRandom * 1103515245 + 12345; + sprite->tRandom = ((rand & 0x7FFF0000) >> 16) % 600; + + numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][0]; + + tileX = sprite->tRandom % 30; + sprite->tPosX = tileX * 8; // Useless assignment, leftover from before fixed-point values were used + + tileY = sprite->tRandom / 30; + sprite->tPosY = tileY * 8; // Useless assignment, leftover from before fixed-point values were used + + sprite->tPosX = tileX; + sprite->tPosX <<= 7; // This is tileX * 8, using a fixed-point value with 4 decimal places + + sprite->tPosY = tileY; + sprite->tPosY <<= 7; // This is tileX * 8, using a fixed-point value with 4 decimal places + + // "Rewind" the rain sprites, from their ending position. + sprite->tPosX -= sRainSpriteMovement[gWeatherPtr->isHeavyRain][0] * numFallingFrames; + sprite->tPosY -= sRainSpriteMovement[gWeatherPtr->isHeavyRain][1] * numFallingFrames; + + StartSpriteAnim(sprite, 0); + sprite->tState = 0; + sprite->coordOffsetEnabled = FALSE; + sprite->tCounter = numFallingFrames; +} + +static void UpdateRainSprite(struct Sprite *sprite) +{ + if (sprite->tState == 0) + { + // Raindrop is in its "falling" motion. + sprite->tPosX += sRainSpriteMovement[gWeatherPtr->isHeavyRain][0]; + sprite->tPosY += sRainSpriteMovement[gWeatherPtr->isHeavyRain][1]; + sprite->pos1.x = sprite->tPosX >> 4; + sprite->pos1.y = sprite->tPosY >> 4; + + if (sprite->tActive + && (sprite->pos1.x >= -8 && sprite->pos1.x <= 248) + && sprite->pos1.y >= -16 && sprite->pos1.y <= 176) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (--sprite->tCounter == 0) + { + // Make raindrop splash on the ground + StartSpriteAnim(sprite, gWeatherPtr->isHeavyRain + 1); + sprite->tState = 1; + sprite->pos1.x -= gSpriteCoordOffsetX; + sprite->pos1.y -= gSpriteCoordOffsetY; + sprite->coordOffsetEnabled = TRUE; + } + } + else if (sprite->animEnded) + { + // The splashing animation ended. + sprite->invisible = TRUE; + StartRainSpriteFall(sprite); + } +} + +static void WaitRainSprite(struct Sprite *sprite) +{ + if (sprite->tCounter == 0) + { + StartRainSpriteFall(sprite); + sprite->callback = UpdateRainSprite; + } + else + { + sprite->tCounter--; + } +} + +static void InitRainSpriteMovement(struct Sprite *sprite, u16 val) +{ + u16 numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][0]; + u16 numAdvanceRng = val / (sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][1] + numFallingFrames); + u16 frameVal = val % (sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][1] + numFallingFrames); + + while (--numAdvanceRng != 0xFFFF) + StartRainSpriteFall(sprite); + + if (frameVal < numFallingFrames) + { + while (--frameVal != 0xFFFF) + UpdateRainSprite(sprite); + + sprite->tWaiting = 0; + } + else + { + sprite->tCounter = frameVal - numFallingFrames; + sprite->invisible = TRUE; + sprite->tWaiting = 1; + } +} + +static void LoadRainSpriteSheet(void) +{ + LoadSpriteSheet(&sRainSpriteSheet); +} + +static bool8 CreateRainSprite(void) +{ + u8 spriteIndex; + u8 spriteId; + + if (gWeatherPtr->rainSpriteCount == MAX_RAIN_SPRITES) + return FALSE; + + spriteIndex = gWeatherPtr->rainSpriteCount; + spriteId = CreateSpriteAtEnd(&sRainSpriteTemplate, + sRainSpriteCoords[spriteIndex].x, sRainSpriteCoords[spriteIndex].y, 78); + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].tActive = 0; + gSprites[spriteId].tRandom = spriteIndex * 145; + while (gSprites[spriteId].tRandom >= 600) + gSprites[spriteId].tRandom -= 600; + + StartRainSpriteFall(&gSprites[spriteId]); + InitRainSpriteMovement(&gSprites[spriteId], spriteIndex * 9); + gSprites[spriteId].invisible = TRUE; + gWeatherPtr->sprites.s1.rainSprites[spriteIndex] = &gSprites[spriteId]; + } + else + { + gWeatherPtr->sprites.s1.rainSprites[spriteIndex] = NULL; + } + + if (++gWeatherPtr->rainSpriteCount == MAX_RAIN_SPRITES) + { + u16 i; + for (i = 0; i < MAX_RAIN_SPRITES; i++) + { + if (gWeatherPtr->sprites.s1.rainSprites[i]) + { + if (!gWeatherPtr->sprites.s1.rainSprites[i]->tWaiting) + gWeatherPtr->sprites.s1.rainSprites[i]->callback = UpdateRainSprite; + else + gWeatherPtr->sprites.s1.rainSprites[i]->callback = WaitRainSprite; + } + } + + return FALSE; + } + + return TRUE; +} + +static bool8 UpdateVisibleRainSprites(void) +{ + if (gWeatherPtr->curRainSpriteIndex == gWeatherPtr->maxRainSprites) + return FALSE; + + if (++gWeatherPtr->rainSpriteVisibleCounter > gWeatherPtr->rainSpriteVisibleDelay) + { + gWeatherPtr->rainSpriteVisibleCounter = 0; + if (gWeatherPtr->curRainSpriteIndex < gWeatherPtr->maxRainSprites) + { + gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex++]->tActive = 1; + } + else + { + gWeatherPtr->curRainSpriteIndex--; + gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex]->tActive = 0; + gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex]->invisible = TRUE; + } + } + return TRUE; +} + +static void DestroyRainSprites(void) +{ + u16 i; + + for (i = 0; i < gWeatherPtr->rainSpriteCount; i++) + { + if (gWeatherPtr->sprites.s1.rainSprites[i] != NULL) + DestroySprite(gWeatherPtr->sprites.s1.rainSprites[i]); + } + gWeatherPtr->rainSpriteCount = 0; + FreeSpriteTilesByTag(0x1206); +} + +#undef tCounter +#undef tRandom +#undef tPosX +#undef tPosY +#undef tState +#undef tActive +#undef tWaiting + +//------------------------------------------------------------------------------ +// Snow +//------------------------------------------------------------------------------ + +void Snow_InitVars(void) +{ + gWeatherPtr->initStep = 0; + gWeatherPtr->weatherGfxLoaded = FALSE; + gWeatherPtr->gammaTargetIndex = 3; + gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->unknown_6E5 = 16; + gWeatherPtr->unknown_6E0 = 0; +} + +void Snow_Main(void); +void sub_807ED48(struct Sprite *); + +void Snow_InitAll(void) +{ + Snow_InitVars(); + while (gWeatherPtr->weatherGfxLoaded == FALSE) + { + u16 i; + + Snow_Main(); + for (i = 0; i < gWeatherPtr->snowflakeSpriteCount; i++) + { + sub_807ED48(gWeatherPtr->sprites.s1.snowflakeSprites[i]); + } + } +} + +u8 snowflakes_progress(void); + +void Snow_Main(void) +{ + if (gWeatherPtr->initStep == 0 && snowflakes_progress() == FALSE) + { + gWeatherPtr->weatherGfxLoaded = TRUE; + gWeatherPtr->initStep++; + } +} + +bool8 Snow_Finish(void) +{ + switch (gWeatherPtr->finishStep) + { + case 0: + gWeatherPtr->unknown_6E5 = 0; + gWeatherPtr->unknown_6E0 = 0; + gWeatherPtr->finishStep++; + // fall through + case 1: + if (snowflakes_progress() == FALSE) + { + gWeatherPtr->finishStep++; + return FALSE; + } + return TRUE; + } + return FALSE; +} + +bool8 CreateSnowflakeSprite(void); +bool8 RemoveSnowflakeSprite(void); + +bool8 snowflakes_progress(void) +{ + if (gWeatherPtr->snowflakeSpriteCount == gWeatherPtr->unknown_6E5) + return FALSE; + + gWeatherPtr->unknown_6E0++; + if (gWeatherPtr->unknown_6E0 > 36) + { + gWeatherPtr->unknown_6E0 = 0; + if (gWeatherPtr->snowflakeSpriteCount < gWeatherPtr->unknown_6E5) + CreateSnowflakeSprite(); + else + RemoveSnowflakeSprite(); + } + return (gWeatherPtr->snowflakeSpriteCount != gWeatherPtr->unknown_6E5); +} + +void sub_807EC40(struct Sprite *); static const struct OamData gOamData_839AAD4 = { @@ -783,172 +982,6 @@ static const struct SpriteTemplate sFog1SpriteTemplate = .callback = Fog1SpriteCallback, }; -bool8 CreateRainSprite(void) -{ - u8 spriteNum; - u8 spriteId; - - if (gWeatherPtr->rainSpriteCount == 24) - return FALSE; - - spriteNum = gWeatherPtr->rainSpriteCount; - spriteId = CreateSpriteAtEnd(&sRainSpriteTemplate, - sRainSpriteCoords[spriteNum].x, sRainSpriteCoords[spriteNum].y, 78); - if (spriteId != MAX_SPRITES) - { - gSprites[spriteId].data[5] = 0; - gSprites[spriteId].data[1] = spriteNum * 145; - while (gSprites[spriteId].data[1] >= 600) - gSprites[spriteId].data[1] -= 600; - sub_807E4EC(&gSprites[spriteId]); - sub_807E6F0(&gSprites[spriteId], spriteNum * 9); - gSprites[spriteId].invisible = TRUE; - gWeatherPtr->sprites.s1.rainSprites[spriteNum] = &gSprites[spriteId]; - } - else - { - gWeatherPtr->sprites.s1.rainSprites[spriteNum] = NULL; - } - - if (++gWeatherPtr->rainSpriteCount == 24) - { - u16 i; - - for (i = 0; i < 24; i++) - { - if (gWeatherPtr->sprites.s1.rainSprites[i] != NULL) - { - if (gWeatherPtr->sprites.s1.rainSprites[i]->data[6] == 0) - gWeatherPtr->sprites.s1.rainSprites[i]->callback = sub_807E5C0; - else - gWeatherPtr->sprites.s1.rainSprites[i]->callback = sub_807E6C4; - } - } - return FALSE; - } - return TRUE; -} - -bool8 sub_807E8E8(void) -{ - if (gWeatherPtr->unknown_6D8 == gWeatherPtr->unknown_6D9) - return FALSE; - - if (++gWeatherPtr->unknown_6D6 > gWeatherPtr->unknown_6DB) - { - gWeatherPtr->unknown_6D6 = 0; - if (gWeatherPtr->unknown_6D8 < gWeatherPtr->unknown_6D9) - { - gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8++]->data[5] = 1; - } - else - { - gWeatherPtr->unknown_6D8--; - gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8]->data[5] = 0; - gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8]->invisible = TRUE; - } - } - return TRUE; -} - -void DestroyRainSprites(void) -{ - u16 i; - - for (i = 0; i < gWeatherPtr->rainSpriteCount; i++) - { - if (gWeatherPtr->sprites.s1.rainSprites[i] != NULL) - DestroySprite(gWeatherPtr->sprites.s1.rainSprites[i]); - } - gWeatherPtr->rainSpriteCount = 0; - FreeSpriteTilesByTag(0x1206); -} - -//------------------------------------------------------------------------------ -// Snow -//------------------------------------------------------------------------------ - -void Snow_InitVars(void) -{ - gWeatherPtr->initStep = 0; - gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; - gWeatherPtr->unknown_6E5 = 16; - gWeatherPtr->unknown_6E0 = 0; -} - -void Snow_Main(void); -void sub_807ED48(struct Sprite *); - -void Snow_InitAll(void) -{ - Snow_InitVars(); - while (gWeatherPtr->weatherGfxLoaded == FALSE) - { - u16 i; - - Snow_Main(); - for (i = 0; i < gWeatherPtr->snowflakeSpriteCount; i++) - { - sub_807ED48(gWeatherPtr->sprites.s1.snowflakeSprites[i]); - } - } -} - -u8 snowflakes_progress(void); - -void Snow_Main(void) -{ - if (gWeatherPtr->initStep == 0 && snowflakes_progress() == FALSE) - { - gWeatherPtr->weatherGfxLoaded = TRUE; - gWeatherPtr->initStep++; - } -} - -bool8 Snow_Finish(void) -{ - switch (gWeatherPtr->finishStep) - { - case 0: - gWeatherPtr->unknown_6E5 = 0; - gWeatherPtr->unknown_6E0 = 0; - gWeatherPtr->finishStep++; - // fall through - case 1: - if (snowflakes_progress() == FALSE) - { - gWeatherPtr->finishStep++; - return FALSE; - } - return TRUE; - } - return FALSE; -} - -bool8 CreateSnowflakeSprite(void); -bool8 RemoveSnowflakeSprite(void); - -bool8 snowflakes_progress(void) -{ - if (gWeatherPtr->snowflakeSpriteCount == gWeatherPtr->unknown_6E5) - return FALSE; - - gWeatherPtr->unknown_6E0++; - if (gWeatherPtr->unknown_6E0 > 36) - { - gWeatherPtr->unknown_6E0 = 0; - if (gWeatherPtr->snowflakeSpriteCount < gWeatherPtr->unknown_6E5) - CreateSnowflakeSprite(); - else - RemoveSnowflakeSprite(); - } - return (gWeatherPtr->snowflakeSpriteCount != gWeatherPtr->unknown_6E5); -} - -void sub_807EC40(struct Sprite *); - bool8 CreateSnowflakeSprite(void) { u8 spriteId = CreateSpriteAtEnd(&sSnowflakeSpriteTemplate, 0, 0, 78); @@ -1057,10 +1090,10 @@ void MedRain_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->unknown_6D6 = 0; - gWeatherPtr->unknown_6DB = 4; - gWeatherPtr->unknown_6DC = 0; - gWeatherPtr->unknown_6D9 = 16; + gWeatherPtr->rainSpriteVisibleCounter = 0; + gWeatherPtr->rainSpriteVisibleDelay = 4; + gWeatherPtr->isHeavyRain = 0; + gWeatherPtr->maxRainSprites = 16; gWeatherPtr->gammaTargetIndex = 3; gWeatherPtr->gammaStepDelay = 20; gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment @@ -1085,10 +1118,10 @@ void HeavyRain_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->unknown_6D6 = 0; - gWeatherPtr->unknown_6DB = 4; - gWeatherPtr->unknown_6DC = 1; - gWeatherPtr->unknown_6D9 = 24; + gWeatherPtr->rainSpriteVisibleCounter = 0; + gWeatherPtr->rainSpriteVisibleDelay = 4; + gWeatherPtr->isHeavyRain = 1; + gWeatherPtr->maxRainSprites = 24; gWeatherPtr->gammaTargetIndex = 3; gWeatherPtr->gammaStepDelay = 20; gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment @@ -1102,8 +1135,8 @@ void HeavyRain_InitAll(void) Rain_Main(); } -void UpdateThunderSound(void); -void SetThunderCounter(u16); +static void UpdateThunderSound(void); +static void SetThunderCounter(u16); void Rain_Main(void) { @@ -1120,7 +1153,7 @@ void Rain_Main(void) gWeatherPtr->initStep++; break; case 2: - if (sub_807E8E8()) + if (UpdateVisibleRainSprites()) break; gWeatherPtr->weatherGfxLoaded = TRUE; gWeatherPtr->initStep++; @@ -1224,12 +1257,12 @@ bool8 Rain_Finish(void) || gWeatherPtr->nextWeather == WEATHER_RAIN_MED || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY) return FALSE; - gWeatherPtr->unknown_6D9 = 0; + gWeatherPtr->maxRainSprites = 0; gWeatherPtr->finishStep++; } break; case 2: - if (sub_807E8E8()) + if (UpdateVisibleRainSprites()) break; DestroyRainSprites(); gWeatherPtr->unknown_6ED = 0; @@ -1241,7 +1274,7 @@ bool8 Rain_Finish(void) return TRUE; } -void SetThunderCounter(u16 max) +static void SetThunderCounter(u16 max) { if (gWeatherPtr->unknown_6ED == 0) { @@ -1250,7 +1283,7 @@ void SetThunderCounter(u16 max) } } -void UpdateThunderSound(void) +static void UpdateThunderSound(void) { if (gWeatherPtr->unknown_6ED == 1) { @@ -2125,7 +2158,7 @@ bool8 Shade_Finish(void) } //------------------------------------------------------------------------------ -// Weather 14 +// Bubbles //------------------------------------------------------------------------------ const u8 gUnknown_0839AC68[] = {40, 90, 60, 90, 2, 60, 40, 30}; From fe1c14db76472101383f9f06d88d6d512faf367a Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 1 Apr 2019 20:27:55 -0400 Subject: [PATCH 14/84] Fix warning for extra parens (#646) * Fix warning for extra parens * Committed too many files --- tools/gbafix/gbafix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c index d5e2f62ab4..81c8c04c0c 100644 --- a/tools/gbafix/gbafix.c +++ b/tools/gbafix/gbafix.c @@ -160,7 +160,7 @@ int main(int argc, char *argv[]) // get filename for (arg=1; arg Date: Mon, 1 Apr 2019 20:30:41 -0400 Subject: [PATCH 15/84] Move gPlayerFacingPosition out of sym_ewram.txt (#617) * Move gPlayerFacingPosition out of sym_ewram.txt * Fix tabs in sym_ewram.txt * Remove redundant faraway island extern --- include/fldeff.h | 1 + src/fldeff_misc.c | 2 +- src/fldeff_rocksmash.c | 3 --- sym_ewram.txt | 6 +----- 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/include/fldeff.h b/include/fldeff.h index e095396a40..ff6c9823fb 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -10,6 +10,7 @@ void FixLongGrassMetatilesWindowTop(s16 x, s16 y); void FixLongGrassMetatilesWindowBottom(s16 x, s16 y); extern const struct SpritePalette gFieldEffectObjectPaletteInfo6; +extern struct MapPosition gPlayerFacingPosition; // groundshake bool8 sub_81BE66C(void); diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index 5d1920aac1..efde43b764 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -23,7 +23,7 @@ #include "constants/songs.h" #include "constants/vars.h" -extern struct MapPosition gPlayerFacingPosition; +EWRAM_DATA struct MapPosition gPlayerFacingPosition = {0}; static void sub_80F9C90(u8); static void sub_80F9DFC(u8); diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 86df8e943a..a9077f2ff9 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -27,9 +27,6 @@ static void sub_813561C(u8 taskId); static void sub_81356C4(void); static void sub_8135714(void); -// extern RAM loc -extern struct MapPosition gPlayerFacingPosition; - // text bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId) { diff --git a/sym_ewram.txt b/sym_ewram.txt index 98ba03cfe1..8cb1568379 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -135,11 +135,7 @@ gUnknown_02022D00: @ 2022D00 .include "src/decoration.o" .include "src/slot_machine.o" .include "src/battle_ai_script_commands.o" - -.align 2 -gPlayerFacingPosition: @ 203AB40 - .space 0x8 - + .include "src/fldeff_misc.o" .include "src/pokeblock.o" .include "src/field_specials.o" .include "src/battle_records.o" From 35505c7f5b421b7589d1d761dcbd41a1c40affb6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 1 Apr 2019 20:04:23 -0500 Subject: [PATCH 16/84] Document somre more weather effects --- include/event_object_movement.h | 2 +- include/field_weather.h | 33 +- src/event_object_movement.c | 49 +- src/field_effect_helpers.c | 2 +- src/field_weather.c | 2 +- src/field_weather_effect.c | 1035 ++++++++++++++++--------------- src/overworld.c | 2 +- 7 files changed, 582 insertions(+), 543 deletions(-) diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 63ac09f2d3..23a3ffa49d 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -89,7 +89,7 @@ u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subprio u8 show_sprite(u8, u8, u8); u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z); u8 SpawnSpecialEventObject(struct EventObjectTemplate *); -void sub_8093038(s16, s16, s16 *, s16 *); +void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); void EventObjectSetGraphicsId(struct EventObject *, u8 graphicsId); void EventObjectTurn(struct EventObject *, u8); diff --git a/include/field_weather.h b/include/field_weather.h index 38fba68f14..7a4864075b 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -3,7 +3,10 @@ #include "sprite.h" -#define MAX_RAIN_SPRITES 24 +#define MAX_RAIN_SPRITES 24 +#define NUM_CLOUD_SPRITES 3 +#define NUM_FOG_SPRITES 20 +#define NUM_ASH_SPRITES 20 // Controls how the weather should be changing the screen palettes. enum @@ -31,13 +34,13 @@ struct Weather { struct Sprite *rainSprites[MAX_RAIN_SPRITES]; struct Sprite *snowflakeSprites[101]; - struct Sprite *cloudSprites[3]; + struct Sprite *cloudSprites[NUM_CLOUD_SPRITES]; } s1; struct { u8 filler0[0xA0]; - struct Sprite *fog1Sprites[20]; - struct Sprite *ashSprites[20]; + struct Sprite *fog1Sprites[NUM_FOG_SPRITES]; + struct Sprite *ashSprites[NUM_ASH_SPRITES]; struct Sprite *fog2Sprites[20]; struct Sprite *sandstormSprites1[20]; struct Sprite *sandstormSprites2[5]; @@ -66,30 +69,30 @@ struct Weather u8 altGammaSpritePalIndex; u16 rainSpriteVisibleCounter; u8 curRainSpriteIndex; - u8 maxRainSprites; + u8 targetRainSpriteCount; u8 rainSpriteCount; u8 rainSpriteVisibleDelay; u8 isHeavyRain; u8 rainStrength; /*0x6DE*/ u8 cloudSpritesCreated; u8 filler_6DF[1]; - u16 unknown_6E0; + u16 snowflakeVisibleCounter; u16 unknown_6E2; u8 snowflakeSpriteCount; - u8 unknown_6E5; + u8 targetSnowflakeSpriteCount; u16 unknown_6E6; u16 thunderCounter; u8 unknown_6EA; u8 unknown_6EB; u8 unknown_6EC; - u8 unknown_6ED; + u8 thunderTriggered; u16 fog1ScrollPosX; - u16 unknown_6F0; - u16 unknown_6F2; + u16 fog1ScrollCounter; + u16 fog1ScrollOffset; u8 lightenedFogSpritePals[6]; u8 lightenedFogSpritePalsCount; u8 fog1SpritesCreated; - u16 unknown_6FC; + u16 baseAshSpritesX; u16 unknown_6FE; u8 ashSpritesCreated; u8 filler_701[3]; @@ -176,10 +179,10 @@ void Clouds_InitVars(void); void Clouds_Main(void); void Clouds_InitAll(void); bool8 Clouds_Finish(void); -void Weather2_InitVars(void); -void Weather2_Main(void); -void Weather2_InitAll(void); -bool8 Weather2_Finish(void); +void Sunny_InitVars(void); +void Sunny_Main(void); +void Sunny_InitAll(void); +bool8 Sunny_Finish(void); void LightRain_InitVars(void); void LightRain_Main(void); void LightRain_InitAll(void); diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 6a3527bc19..45b721f560 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1949,7 +1949,7 @@ void EventObjectSetGraphicsId(struct EventObject *eventObject, u8 graphicsId) sprite->oam.paletteNum = paletteSlot; eventObject->inanimate = graphicsInfo->inanimate; eventObject->graphicsId = graphicsId; - sub_8093038(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + SetSpritePosToMapCoords(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; @@ -2253,7 +2253,7 @@ void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) sprite = &gSprites[eventObject->spriteId]; graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); SetEventObjectCoords(eventObject, x, y); - sub_8093038(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + SetSpritePosToMapCoords(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; @@ -5024,44 +5024,37 @@ static void MoveCoordsInDirection(u32 dir, s16 *x, s16 *y, s16 deltaX, s16 delta *y -= dy2; } -void sub_8092FF0(s16 x, s16 y, s16 *dest_x, s16 *dest_y) +void sub_8092FF0(s16 x, s16 y, s16 *destX, s16 *destY) { - *dest_x = (x - gSaveBlock1Ptr->pos.x) << 4; - *dest_y = (y - gSaveBlock1Ptr->pos.y) << 4; - *dest_x -= gTotalCameraPixelOffsetX; - *dest_y -= gTotalCameraPixelOffsetY; + *destX = (x - gSaveBlock1Ptr->pos.x) << 4; + *destY = (y - gSaveBlock1Ptr->pos.y) << 4; + *destX -= gTotalCameraPixelOffsetX; + *destY -= gTotalCameraPixelOffsetY; } -void sub_8093038(s16 x, s16 y, s16 *dest_x, s16 *dest_y) +void SetSpritePosToMapCoords(s16 mapX, s16 mapY, s16 *destX, s16 *destY) { - s16 dx; - s16 dy; - - dx = -gTotalCameraPixelOffsetX - gFieldCamera.x; - dy = -gTotalCameraPixelOffsetY - gFieldCamera.y; + s16 dx = -gTotalCameraPixelOffsetX - gFieldCamera.x; + s16 dy = -gTotalCameraPixelOffsetY - gFieldCamera.y; if (gFieldCamera.x > 0) - { - dx += 0x10; - } + dx += 1 << 4; + if (gFieldCamera.x < 0) - { - dx -= 0x10; - } + dx -= 1 << 4; + if (gFieldCamera.y > 0) - { - dy += 0x10; - } + dy += 1 << 4; + if (gFieldCamera.y < 0) - { - dy -= 0x10; - } - *dest_x = ((x - gSaveBlock1Ptr->pos.x) << 4) + dx; - *dest_y = ((y - gSaveBlock1Ptr->pos.y) << 4) + dy; + dy -= 1 << 4; + + *destX = ((mapX - gSaveBlock1Ptr->pos.x) << 4) + dx; + *destY = ((mapY - gSaveBlock1Ptr->pos.y) << 4) + dy; } void sub_80930E0(s16 *x, s16 *y, s16 dx, s16 dy) { - sub_8093038(*x, *y, x, y); + SetSpritePosToMapCoords(*x, *y, x, y); *x += dx; *y += dy; } diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 3f75fbb84a..c715da25dd 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -191,7 +191,7 @@ void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y) sprite = &gSprites[spriteId]; if (sprite->invisible || sprite->data[0] != x || sprite->data[1] != y) { - sub_8093038(x, y, &x2, &y2); + SetSpritePosToMapCoords(x, y, &x2, &y2); sprite = &gSprites[spriteId]; sprite->pos1.x = x2 + 8; sprite->pos1.y = y2 + 8; diff --git a/src/field_weather.c b/src/field_weather.c index a2c40052b3..346d30a382 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -91,7 +91,7 @@ static const struct WeatherCallbacks sWeatherFuncs[] = { {None_Init, None_Main, None_Init, None_Finish}, {Clouds_InitVars, Clouds_Main, Clouds_InitAll, Clouds_Finish}, - {Weather2_InitVars, Weather2_Main, Weather2_InitAll, Weather2_Finish}, + {Sunny_InitVars, Sunny_Main, Sunny_InitAll, Sunny_Finish}, {LightRain_InitVars, LightRain_Main, LightRain_InitAll, LightRain_Finish}, {Snow_InitVars, Snow_Main, Snow_InitAll, Snow_Finish}, {MedRain_InitVars, Rain_Main, MedRain_InitAll, Rain_Finish}, diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 95f80d061c..0544710ada 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -33,9 +33,13 @@ const u8 gWeatherSandstormTiles[] = INCBIN_U8("graphics/weather/sandstorm.4bpp") // Clouds //------------------------------------------------------------------------------ -static void sub_80AC6B4(struct Sprite *); +static void CreateCloudSprites(void); +static void DestroyCloudSprites(void); +static void UpdateCloudSprite(struct Sprite *); -static const struct Coords16 gUnknown_0854FB50[] = +// The clouds are positioned on the map's grid. +// These coordinates are for the lower half of Route 120. +static const struct Coords16 sCloudSpriteMapCoords[] = { { 0, 66}, { 5, 73}, @@ -49,11 +53,11 @@ static const struct SpriteSheet sCloudSpriteSheet = .tag = 0x1200 }; -static const struct OamData gOamData_839A9DC = +static const struct OamData sCloudSpriteOamData = { .y = 0, .affineMode = 0, - .objMode = 1, + .objMode = ST_OAM_OBJ_BLEND, .mosaic = 0, .bpp = 0, .shape = SPRITE_SHAPE(64x64), @@ -66,26 +70,26 @@ static const struct OamData gOamData_839A9DC = .affineParam = 0, }; -static const union AnimCmd gSpriteAnim_839A9E4[] = +static const union AnimCmd sCloudSpriteAnimCmd[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_END, }; -static const union AnimCmd *const gSpriteAnimTable_839A9EC[] = +static const union AnimCmd *const sCloudSpriteAnimCmds[] = { - gSpriteAnim_839A9E4, + sCloudSpriteAnimCmd, }; static const struct SpriteTemplate sCloudSpriteTemplate = { - .tileTag = 4608, - .paletteTag = 4609, - .oam = &gOamData_839A9DC, - .anims = gSpriteAnimTable_839A9EC, + .tileTag = 0x1200, + .paletteTag = 0x1201, + .oam = &sCloudSpriteOamData, + .anims = sCloudSpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AC6B4, + .callback = UpdateCloudSprite, }; void Clouds_InitVars(void) @@ -105,8 +109,6 @@ void Clouds_InitAll(void) Clouds_Main(); } -void CreateCloudSprites(void); - void Clouds_Main(void) { switch (gWeatherPtr->initStep) @@ -129,8 +131,6 @@ void Clouds_Main(void) } } -void sub_807E0A0(void); - bool8 Clouds_Finish(void) { switch (gWeatherPtr->finishStep) @@ -142,7 +142,7 @@ bool8 Clouds_Finish(void) case 1: if (Weather_UpdateBlend()) { - sub_807E0A0(); + DestroyCloudSprites(); gWeatherPtr->finishStep++; } return TRUE; @@ -150,49 +150,45 @@ bool8 Clouds_Finish(void) return FALSE; } -//------------------------------------------------------------------------------ -// Weather 2 -//------------------------------------------------------------------------------ - -void Weather2_InitVars(void) +void Sunny_InitVars(void) { gWeatherPtr->gammaTargetIndex = 0; gWeatherPtr->gammaStepDelay = 20; } -void Weather2_InitAll(void) +void Sunny_InitAll(void) { - Weather2_InitVars(); + Sunny_InitVars(); } -void Weather2_Main(void) +void Sunny_Main(void) { } -bool8 Weather2_Finish(void) +bool8 Sunny_Finish(void) { - return 0; + return FALSE; } -void CreateCloudSprites(void) +static void CreateCloudSprites(void) { u16 i; + u8 spriteId; + struct Sprite *sprite; if (gWeatherPtr->cloudSpritesCreated == TRUE) return; + LoadSpriteSheet(&sCloudSpriteSheet); LoadCustomWeatherSpritePalette(gUnknown_0854C290); - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_CLOUD_SPRITES; i++) { - u8 spriteId = CreateSprite(&sCloudSpriteTemplate, 0, 0, 0xFF); - + spriteId = CreateSprite(&sCloudSpriteTemplate, 0, 0, 0xFF); if (spriteId != MAX_SPRITES) { - struct Sprite *sprite; - gWeatherPtr->sprites.s1.cloudSprites[i] = &gSprites[spriteId]; sprite = gWeatherPtr->sprites.s1.cloudSprites[i]; - sub_8093038(gUnknown_0854FB50[i].x + 7, gUnknown_0854FB50[i].y + 7, &sprite->pos1.x, &sprite->pos1.y); + SetSpritePosToMapCoords(sCloudSpriteMapCoords[i].x + 7, sCloudSpriteMapCoords[i].y + 7, &sprite->pos1.x, &sprite->pos1.y); sprite->coordOffsetEnabled = TRUE; } else @@ -200,28 +196,32 @@ void CreateCloudSprites(void) gWeatherPtr->sprites.s1.cloudSprites[i] = NULL; } } + gWeatherPtr->cloudSpritesCreated = TRUE; } -void sub_807E0A0(void) +static void DestroyCloudSprites(void) { u16 i; - if (gWeatherPtr->cloudSpritesCreated == FALSE) + if (!gWeatherPtr->cloudSpritesCreated) return; - for (i = 0; i < 3; i++) + + for (i = 0; i < NUM_CLOUD_SPRITES; i++) { if (gWeatherPtr->sprites.s1.cloudSprites[i] != NULL) DestroySprite(gWeatherPtr->sprites.s1.cloudSprites[i]); } + FreeSpriteTilesByTag(0x1200); gWeatherPtr->cloudSpritesCreated = FALSE; } -static void sub_80AC6B4(struct Sprite *sprite) +static void UpdateCloudSprite(struct Sprite *sprite) { + // Move 1 pixel left every 2 frames. sprite->data[0] = (sprite->data[0] + 1) & 1; - if (sprite->data[0] != 0) + if (sprite->data[0]) sprite->pos1.x--; } @@ -437,7 +437,7 @@ static const union AnimCmd *const sRainSpriteAnimCmds[] = static const struct SpriteTemplate sRainSpriteTemplate = { .tileTag = 4614, - .paletteTag = 4608, + .paletteTag = 0x1200, .oam = &sRainSpriteOamData, .anims = sRainSpriteAnimCmds, .images = NULL, @@ -475,7 +475,7 @@ void LightRain_InitVars(void) gWeatherPtr->rainSpriteVisibleCounter = 0; gWeatherPtr->rainSpriteVisibleDelay = 8; gWeatherPtr->isHeavyRain = 0; - gWeatherPtr->maxRainSprites = 10; + gWeatherPtr->targetRainSpriteCount = 10; gWeatherPtr->gammaTargetIndex = 3; gWeatherPtr->gammaStepDelay = 20; SetRainStrengthFromSoundEffect(SE_T_KOAME); @@ -524,7 +524,7 @@ bool8 LightRain_Finish(void) } else { - gWeatherPtr->maxRainSprites = 0; + gWeatherPtr->targetRainSpriteCount = 0; gWeatherPtr->finishStep++; } // fall through @@ -714,13 +714,13 @@ static bool8 CreateRainSprite(void) static bool8 UpdateVisibleRainSprites(void) { - if (gWeatherPtr->curRainSpriteIndex == gWeatherPtr->maxRainSprites) + if (gWeatherPtr->curRainSpriteIndex == gWeatherPtr->targetRainSpriteCount) return FALSE; if (++gWeatherPtr->rainSpriteVisibleCounter > gWeatherPtr->rainSpriteVisibleDelay) { gWeatherPtr->rainSpriteVisibleCounter = 0; - if (gWeatherPtr->curRainSpriteIndex < gWeatherPtr->maxRainSprites) + if (gWeatherPtr->curRainSpriteIndex < gWeatherPtr->targetRainSpriteCount) { gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex++]->tActive = 1; } @@ -759,39 +759,38 @@ static void DestroyRainSprites(void) // Snow //------------------------------------------------------------------------------ +static void UpdateSnowflakeSprite(struct Sprite *); +static bool8 UpdateVisibleSnowflakeSprites(void); +static bool8 CreateSnowflakeSprite(void); +static bool8 DestroySnowflakeSprite(void); +static void InitSnowflakeSpriteMovement(struct Sprite *); + void Snow_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->gammaTargetIndex = 3; gWeatherPtr->gammaStepDelay = 20; - gWeatherPtr->unknown_6E5 = 16; - gWeatherPtr->unknown_6E0 = 0; + gWeatherPtr->targetSnowflakeSpriteCount = 16; + gWeatherPtr->snowflakeVisibleCounter = 0; } -void Snow_Main(void); -void sub_807ED48(struct Sprite *); - void Snow_InitAll(void) { + u16 i; + Snow_InitVars(); while (gWeatherPtr->weatherGfxLoaded == FALSE) { - u16 i; - Snow_Main(); for (i = 0; i < gWeatherPtr->snowflakeSpriteCount; i++) - { - sub_807ED48(gWeatherPtr->sprites.s1.snowflakeSprites[i]); - } + UpdateSnowflakeSprite(gWeatherPtr->sprites.s1.snowflakeSprites[i]); } } -u8 snowflakes_progress(void); - void Snow_Main(void) { - if (gWeatherPtr->initStep == 0 && snowflakes_progress() == FALSE) + if (gWeatherPtr->initStep == 0 && !UpdateVisibleSnowflakeSprites()) { gWeatherPtr->weatherGfxLoaded = TRUE; gWeatherPtr->initStep++; @@ -803,44 +802,40 @@ bool8 Snow_Finish(void) switch (gWeatherPtr->finishStep) { case 0: - gWeatherPtr->unknown_6E5 = 0; - gWeatherPtr->unknown_6E0 = 0; + gWeatherPtr->targetSnowflakeSpriteCount = 0; + gWeatherPtr->snowflakeVisibleCounter = 0; gWeatherPtr->finishStep++; // fall through case 1: - if (snowflakes_progress() == FALSE) + if (!UpdateVisibleSnowflakeSprites()) { gWeatherPtr->finishStep++; return FALSE; } return TRUE; } + return FALSE; } -bool8 CreateSnowflakeSprite(void); -bool8 RemoveSnowflakeSprite(void); - -bool8 snowflakes_progress(void) +static bool8 UpdateVisibleSnowflakeSprites(void) { - if (gWeatherPtr->snowflakeSpriteCount == gWeatherPtr->unknown_6E5) + if (gWeatherPtr->snowflakeSpriteCount == gWeatherPtr->targetSnowflakeSpriteCount) return FALSE; - gWeatherPtr->unknown_6E0++; - if (gWeatherPtr->unknown_6E0 > 36) + if (++gWeatherPtr->snowflakeVisibleCounter > 36) { - gWeatherPtr->unknown_6E0 = 0; - if (gWeatherPtr->snowflakeSpriteCount < gWeatherPtr->unknown_6E5) + gWeatherPtr->snowflakeVisibleCounter = 0; + if (gWeatherPtr->snowflakeSpriteCount < gWeatherPtr->targetSnowflakeSpriteCount) CreateSnowflakeSprite(); else - RemoveSnowflakeSprite(); + DestroySnowflakeSprite(); } - return (gWeatherPtr->snowflakeSpriteCount != gWeatherPtr->unknown_6E5); + + return gWeatherPtr->snowflakeSpriteCount != gWeatherPtr->targetSnowflakeSpriteCount; } -void sub_807EC40(struct Sprite *); - -static const struct OamData gOamData_839AAD4 = +static const struct OamData sSnowflakeSpriteOamData = { .y = 0, .affineMode = 0, @@ -857,42 +852,391 @@ static const struct OamData gOamData_839AAD4 = .affineParam = 0, }; -static const struct SpriteFrameImage gSpriteImageTable_839AADC[] = +static const struct SpriteFrameImage sSnowflakeSpriteImages[] = { {gWeatherSnow1Tiles, sizeof(gWeatherSnow1Tiles)}, {gWeatherSnow2Tiles, sizeof(gWeatherSnow2Tiles)}, }; -static const union AnimCmd gSpriteAnim_839AAEC[] = +static const union AnimCmd sSnowflakeAnimCmd0[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_END, }; -static const union AnimCmd gSpriteAnim_839AAF4[] = +static const union AnimCmd sSnowflakeAnimCmd1[] = { ANIMCMD_FRAME(1, 16), ANIMCMD_END, }; -static const union AnimCmd *const gSpriteAnimTable_839AAFC[] = +static const union AnimCmd *const sSnowflakeAnimCmds[] = { - gSpriteAnim_839AAEC, - gSpriteAnim_839AAF4, + sSnowflakeAnimCmd0, + sSnowflakeAnimCmd1, }; -void sub_807ED48(struct Sprite *); static const struct SpriteTemplate sSnowflakeSpriteTemplate = { .tileTag = 0xFFFF, - .paletteTag = 4608, - .oam = &gOamData_839AAD4, - .anims = gSpriteAnimTable_839AAFC, - .images = gSpriteImageTable_839AADC, + .paletteTag = 0x1200, + .oam = &sSnowflakeSpriteOamData, + .anims = sSnowflakeAnimCmds, + .images = sSnowflakeSpriteImages, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807ED48, + .callback = UpdateSnowflakeSprite, }; +#define tPosY data[0] +#define tDeltaY data[1] +#define tWaveDelta data[2] +#define tWaveIndex data[3] +#define tSnowflakeId data[4] +#define tFallCounter data[5] +#define tFallDuration data[6] +#define tDeltaY2 data[7] + +static bool8 CreateSnowflakeSprite(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSnowflakeSpriteTemplate, 0, 0, 78); + if (spriteId == MAX_SPRITES) + return FALSE; + + gSprites[spriteId].tSnowflakeId = gWeatherPtr->snowflakeSpriteCount; + InitSnowflakeSpriteMovement(&gSprites[spriteId]); + gSprites[spriteId].coordOffsetEnabled = TRUE; + gWeatherPtr->sprites.s1.snowflakeSprites[gWeatherPtr->snowflakeSpriteCount++] = &gSprites[spriteId]; + return TRUE; +} + +static bool8 DestroySnowflakeSprite(void) +{ + if (gWeatherPtr->snowflakeSpriteCount) + { + DestroySprite(gWeatherPtr->sprites.s1.snowflakeSprites[--gWeatherPtr->snowflakeSpriteCount]); + return TRUE; + } + + return FALSE; +} + +static void InitSnowflakeSpriteMovement(struct Sprite *sprite) +{ + u16 rand; + u16 x = ((sprite->tSnowflakeId * 5) & 7) * 30 + (Random() % 30); + + sprite->pos1.y = -3 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); + sprite->pos1.x = x - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); + sprite->tPosY = sprite->pos1.y * 128; + sprite->pos2.x = 0; + rand = Random(); + sprite->tDeltaY = (rand & 3) * 5 + 64; + sprite->tDeltaY2 = sprite->tDeltaY; + StartSpriteAnim(sprite, (rand & 1) ? 0 : 1); + sprite->tWaveIndex = 0; + sprite->tWaveDelta = ((rand & 3) == 0) ? 2 : 1; + sprite->tFallDuration = (rand & 0x1F) + 210; + sprite->tFallCounter = 0; +} + +static void WaitSnowflakeSprite(struct Sprite *sprite) +{ + if (gWeatherPtr->unknown_6E2 > 18) + { + sprite->invisible = FALSE; + sprite->callback = UpdateSnowflakeSprite; + sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); + sprite->tPosY = sprite->pos1.y * 128; + gWeatherPtr->unknown_6E2 = 0; + } +} + +static void UpdateSnowflakeSprite(struct Sprite *sprite) +{ + s16 x; + s16 y; + + sprite->tPosY += sprite->tDeltaY; + sprite->pos1.y = sprite->tPosY >> 7; + sprite->tWaveIndex += sprite->tWaveDelta; + sprite->tWaveIndex &= 0xFF; + sprite->pos2.x = gSineTable[sprite->tWaveIndex] / 64; + + x = (sprite->pos1.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX) & 0x1FF; + if (x & 0x100) + x |= -0x100; + + if (x < -3) + sprite->pos1.x = 242 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); + else if (x > 242) + sprite->pos1.x = -3 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); + + y = (sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF; + if (y > 163 && y < 171) + { + sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); + sprite->tPosY = sprite->pos1.y * 128; + sprite->tFallCounter = 0; + sprite->tFallDuration = 220; + } + else if (y > 242 && y < 250) + { + sprite->pos1.y = 163; + sprite->tPosY = sprite->pos1.y * 128; + sprite->tFallCounter = 0; + sprite->tFallDuration = 220; + sprite->invisible = TRUE; + sprite->callback = WaitSnowflakeSprite; + } + + if (++sprite->tFallCounter == sprite->tFallDuration) + { + InitSnowflakeSpriteMovement(sprite); + sprite->pos1.y = 250; + sprite->invisible = TRUE; + sprite->callback = WaitSnowflakeSprite; + } +} + +#undef tPosY +#undef tDeltaY +#undef tWaveDelta +#undef tWaveIndex +#undef tSnowflakeId +#undef tFallCounter +#undef tFallDuration +#undef tDeltaY2 + +//------------------------------------------------------------------------------ +// Medium Rain +//------------------------------------------------------------------------------ + +void MedRain_InitVars(void) +{ + gWeatherPtr->initStep = 0; + gWeatherPtr->weatherGfxLoaded = FALSE; + gWeatherPtr->rainSpriteVisibleCounter = 0; + gWeatherPtr->rainSpriteVisibleDelay = 4; + gWeatherPtr->isHeavyRain = 0; + gWeatherPtr->targetRainSpriteCount = 16; + gWeatherPtr->gammaTargetIndex = 3; + gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment + gWeatherPtr->thunderTriggered = 0; + SetRainStrengthFromSoundEffect(SE_T_AME); +} + +void MedRain_InitAll(void) +{ + MedRain_InitVars(); + while (gWeatherPtr->weatherGfxLoaded == FALSE) + Rain_Main(); +} + +//------------------------------------------------------------------------------ +// Heavy Rain +//------------------------------------------------------------------------------ + +static void UpdateThunderSound(void); +static void SetThunderCounter(u16); + +void HeavyRain_InitVars(void) +{ + gWeatherPtr->initStep = 0; + gWeatherPtr->weatherGfxLoaded = FALSE; + gWeatherPtr->rainSpriteVisibleCounter = 0; + gWeatherPtr->rainSpriteVisibleDelay = 4; + gWeatherPtr->isHeavyRain = 1; + gWeatherPtr->targetRainSpriteCount = 24; + gWeatherPtr->gammaTargetIndex = 3; + gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment + SetRainStrengthFromSoundEffect(SE_T_OOAME); +} + +void HeavyRain_InitAll(void) +{ + HeavyRain_InitVars(); + while (gWeatherPtr->weatherGfxLoaded == FALSE) + Rain_Main(); +} + +void Rain_Main(void) +{ + UpdateThunderSound(); + switch (gWeatherPtr->initStep) + { + case 0: + LoadRainSpriteSheet(); + gWeatherPtr->initStep++; + break; + case 1: + if (!CreateRainSprite()) + gWeatherPtr->initStep++; + break; + case 2: + if (!UpdateVisibleRainSprites()) + { + gWeatherPtr->weatherGfxLoaded = TRUE; + gWeatherPtr->initStep++; + } + break; + case 3: + if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_CHANGING_WEATHER) + gWeatherPtr->initStep = 6; + break; + case 4: + gWeatherPtr->unknown_6EA = 1; + gWeatherPtr->unknown_6E6 = (Random() % 360) + 360; + gWeatherPtr->initStep++; + // fall through + case 5: + if (--gWeatherPtr->unknown_6E6 == 0) + gWeatherPtr->initStep++; + break; + case 6: + gWeatherPtr->unknown_6EA = 1; + gWeatherPtr->unknown_6EB = Random() % 2; + gWeatherPtr->initStep++; + break; + case 7: + gWeatherPtr->unknown_6EC = (Random() & 1) + 1; + gWeatherPtr->initStep++; + // fall through + case 8: + sub_80ABC48(19); + if (gWeatherPtr->unknown_6EB == 0 && gWeatherPtr->unknown_6EC == 1) + SetThunderCounter(20); + + gWeatherPtr->unknown_6E6 = (Random() % 3) + 6; + gWeatherPtr->initStep++; + break; + case 9: + if (--gWeatherPtr->unknown_6E6 == 0) + { + sub_80ABC48(3); + gWeatherPtr->unknown_6EA = 1; + if (--gWeatherPtr->unknown_6EC != 0) + { + gWeatherPtr->unknown_6E6 = (Random() % 16) + 60; + gWeatherPtr->initStep = 10; + } + else if (gWeatherPtr->unknown_6EB == 0) + { + gWeatherPtr->initStep = 4; + } + else + { + gWeatherPtr->initStep = 11; + } + } + break; + case 10: + if (--gWeatherPtr->unknown_6E6 == 0) + gWeatherPtr->initStep = 8; + break; + case 11: + gWeatherPtr->unknown_6E6 = (Random() % 16) + 60; + gWeatherPtr->initStep++; + break; + case 12: + if (--gWeatherPtr->unknown_6E6 == 0) + { + SetThunderCounter(100); + sub_80ABC48(19); + gWeatherPtr->unknown_6E6 = (Random() & 0xF) + 30; + gWeatherPtr->initStep++; + } + break; + case 13: + if (--gWeatherPtr->unknown_6E6 == 0) + { + sub_80ABC7C(19, 3, 5); + gWeatherPtr->initStep++; + } + break; + case 14: + if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE) + { + gWeatherPtr->unknown_6EA = 1; + gWeatherPtr->initStep = 4; + } + break; + } +} + +bool8 Rain_Finish(void) +{ + switch (gWeatherPtr->finishStep) + { + case 0: + gWeatherPtr->unknown_6EA = 0; + gWeatherPtr->finishStep++; + // fall through + case 1: + Rain_Main(); + if (gWeatherPtr->unknown_6EA) + { + if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT + || gWeatherPtr->nextWeather == WEATHER_RAIN_MED + || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY) + return FALSE; + + gWeatherPtr->targetRainSpriteCount = 0; + gWeatherPtr->finishStep++; + } + break; + case 2: + if (!UpdateVisibleRainSprites()) + { + DestroyRainSprites(); + gWeatherPtr->thunderTriggered = 0; + gWeatherPtr->finishStep++; + return FALSE; + } + break; + default: + return FALSE; + } + return TRUE; +} + +static void SetThunderCounter(u16 max) +{ + if (gWeatherPtr->thunderTriggered == 0) + { + gWeatherPtr->thunderCounter = Random() % max; + gWeatherPtr->thunderTriggered = 1; + } +} + +static void UpdateThunderSound(void) +{ + if (gWeatherPtr->thunderTriggered == 1) + { + if (gWeatherPtr->thunderCounter == 0) + { + if (IsSEPlaying()) + return; + + if (Random() & 1) + PlaySE(SE_T_KAMI); + else + PlaySE(SE_T_KAMI2); + + gWeatherPtr->thunderTriggered = 0; + } + else + { + gWeatherPtr->thunderCounter--; + } + } +} + +//------------------------------------------------------------------------------ +// Fog 1 +//------------------------------------------------------------------------------ + // unused data static const u16 unusedData_839AB1C[] = {0, 6, 6, 12, 18, 42, 300, 300}; @@ -973,8 +1317,8 @@ static const union AffineAnimCmd *const gSpriteAffineAnimTable_839AB8C[] = static void Fog1SpriteCallback(struct Sprite *); static const struct SpriteTemplate sFog1SpriteTemplate = { - .tileTag = 4609, - .paletteTag = 4608, + .tileTag = 0x1201, + .paletteTag = 0x1200, .oam = &gOamData_839AB2C, .anims = gSpriteAnimTable_839AB64, .images = NULL, @@ -982,332 +1326,6 @@ static const struct SpriteTemplate sFog1SpriteTemplate = .callback = Fog1SpriteCallback, }; -bool8 CreateSnowflakeSprite(void) -{ - u8 spriteId = CreateSpriteAtEnd(&sSnowflakeSpriteTemplate, 0, 0, 78); - - if (spriteId == MAX_SPRITES) - return FALSE; - gSprites[spriteId].data[4] = gWeatherPtr->snowflakeSpriteCount; - sub_807EC40(&gSprites[spriteId]); - gSprites[spriteId].coordOffsetEnabled = TRUE; - gWeatherPtr->sprites.s1.snowflakeSprites[gWeatherPtr->snowflakeSpriteCount++] = &gSprites[spriteId]; - return TRUE; -} - -bool8 RemoveSnowflakeSprite(void) -{ - if (gWeatherPtr->snowflakeSpriteCount != 0) - { - DestroySprite(gWeatherPtr->sprites.s1.snowflakeSprites[--gWeatherPtr->snowflakeSpriteCount]); - return TRUE; - } - return FALSE; -} - -void sub_807EC40(struct Sprite *sprite) -{ - u16 r4 = ((sprite->data[4] * 5) & 7) * 30 + (Random() % 30); - u16 r6; - - sprite->pos1.y = -3 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); - sprite->pos1.x = r4 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); - sprite->data[0] = sprite->pos1.y * 128; - sprite->pos2.x = 0; - r6 = Random(); - sprite->data[1] = (r6 & 3) * 5 + 64; - sprite->data[7] = (r6 & 3) * 5 + 64; - StartSpriteAnim(sprite, (r6 & 1) ? 0 : 1); - sprite->data[3] = 0; - sprite->data[2] = ((r6 & 3) == 0) ? 2 : 1; - sprite->data[6] = (r6 & 0x1F) + 210; - sprite->data[5] = 0; -} - -void sub_807ECEC(struct Sprite *sprite) -{ - if (gWeatherPtr->unknown_6E2 > 18) - { - sprite->invisible = FALSE; - sprite->callback = sub_807ED48; - sprite->pos1.y = 0xFA - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); - sprite->data[0] = sprite->pos1.y * 128; - gWeatherPtr->unknown_6E2 = 0; - } -} - -void sub_807ED48(struct Sprite *sprite) -{ - s16 r3; - s16 r2; - - sprite->data[0] += sprite->data[1]; - sprite->pos1.y = sprite->data[0] >> 7; - sprite->data[3] = (sprite->data[3] + sprite->data[2]) & 0xFF; - sprite->pos2.x = gSineTable[sprite->data[3]] / 64; - - r3 = (sprite->pos1.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX) & 0x1FF; - if (r3 & 0x100) - r3 |= -0x100; // hmm... what is this? - if (r3 < -3) - sprite->pos1.x = 242 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); - else if (r3 > 242) - sprite->pos1.x = -3 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); - - r2 = (sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF; - if (r2 > 163 && r2 < 171) - { - sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); - sprite->data[0] = sprite->pos1.y * 128; - sprite->data[5] = 0; - sprite->data[6] = 220; - } - else if (r2 > 242 && r2 < 250) - { - sprite->pos1.y = 163; - sprite->data[0] = sprite->pos1.y * 128; - sprite->data[5] = 0; - sprite->data[6] = 220; - sprite->invisible = TRUE; - sprite->callback = sub_807ECEC; - } - - sprite->data[5]++; - if (sprite->data[5] == sprite->data[6]) - { - sub_807EC40(sprite); - sprite->pos1.y = 250; - sprite->invisible = TRUE; - sprite->callback = sub_807ECEC; - } -} - -//------------------------------------------------------------------------------ -// Medium Rain -//------------------------------------------------------------------------------ - -void MedRain_InitVars(void) -{ - gWeatherPtr->initStep = 0; - gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->rainSpriteVisibleCounter = 0; - gWeatherPtr->rainSpriteVisibleDelay = 4; - gWeatherPtr->isHeavyRain = 0; - gWeatherPtr->maxRainSprites = 16; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; - gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment - gWeatherPtr->unknown_6ED = 0; - SetRainStrengthFromSoundEffect(SE_T_AME); -} - -void Rain_Main(void); - -void MedRain_InitAll(void) -{ - MedRain_InitVars(); - while (gWeatherPtr->weatherGfxLoaded == FALSE) - Rain_Main(); -} - -//------------------------------------------------------------------------------ -// Heavy Rain -//------------------------------------------------------------------------------ - -void HeavyRain_InitVars(void) -{ - gWeatherPtr->initStep = 0; - gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->rainSpriteVisibleCounter = 0; - gWeatherPtr->rainSpriteVisibleDelay = 4; - gWeatherPtr->isHeavyRain = 1; - gWeatherPtr->maxRainSprites = 24; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; - gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment - SetRainStrengthFromSoundEffect(SE_T_OOAME); -} - -void HeavyRain_InitAll(void) -{ - HeavyRain_InitVars(); - while (gWeatherPtr->weatherGfxLoaded == FALSE) - Rain_Main(); -} - -static void UpdateThunderSound(void); -static void SetThunderCounter(u16); - -void Rain_Main(void) -{ - UpdateThunderSound(); - switch (gWeatherPtr->initStep) - { - case 0: - LoadRainSpriteSheet(); - gWeatherPtr->initStep++; - break; - case 1: - if (CreateRainSprite()) - break; - gWeatherPtr->initStep++; - break; - case 2: - if (UpdateVisibleRainSprites()) - break; - gWeatherPtr->weatherGfxLoaded = TRUE; - gWeatherPtr->initStep++; - break; - case 3: - if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_CHANGING_WEATHER) - break; - gWeatherPtr->initStep = 6; - break; - case 4: - gWeatherPtr->unknown_6EA = 1; - gWeatherPtr->unknown_6E6 = (Random() % 360) + 360; - gWeatherPtr->initStep++; - // fall through - case 5: - if (--gWeatherPtr->unknown_6E6 != 0) - break; - gWeatherPtr->initStep++; - break; - case 6: - gWeatherPtr->unknown_6EA = 1; - gWeatherPtr->unknown_6EB = Random() % 2; - gWeatherPtr->initStep++; - break; - case 7: - gWeatherPtr->unknown_6EC = (Random() & 1) + 1; - gWeatherPtr->initStep++; - // fall through - case 8: - sub_80ABC48(19); - if (gWeatherPtr->unknown_6EB == 0 && gWeatherPtr->unknown_6EC == 1) - SetThunderCounter(20); - gWeatherPtr->unknown_6E6 = (Random() % 3) + 6; - gWeatherPtr->initStep++; - break; - case 9: - if (--gWeatherPtr->unknown_6E6 != 0) - break; - sub_80ABC48(3); - gWeatherPtr->unknown_6EA = 1; - if (--gWeatherPtr->unknown_6EC != 0) - { - gWeatherPtr->unknown_6E6 = (Random() % 16) + 60; - gWeatherPtr->initStep = 10; - } - else if (gWeatherPtr->unknown_6EB == 0) - { - gWeatherPtr->initStep = 4; - } - else - { - gWeatherPtr->initStep = 11; - } - break; - case 10: - if (--gWeatherPtr->unknown_6E6 != 0) - break; - gWeatherPtr->initStep = 8; - break; - case 11: - gWeatherPtr->unknown_6E6 = (Random() % 16) + 60; - gWeatherPtr->initStep++; - break; - case 12: - if (--gWeatherPtr->unknown_6E6 != 0) - break; - SetThunderCounter(100); - sub_80ABC48(19); - // Why use "% 16" everywhere else and "& 0xF" here. So dumb. - gWeatherPtr->unknown_6E6 = (Random() & 0xF) + 30; - gWeatherPtr->initStep++; - break; - case 13: - if (--gWeatherPtr->unknown_6E6 != 0) - break; - sub_80ABC7C(19, 3, 5); - gWeatherPtr->initStep++; - break; - case 14: - if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_IDLE) - break; - gWeatherPtr->unknown_6EA = 1; - gWeatherPtr->initStep = 4; - break; - } -} - -bool8 Rain_Finish(void) -{ - switch (gWeatherPtr->finishStep) - { - case 0: - gWeatherPtr->unknown_6EA = 0; - gWeatherPtr->finishStep++; - // fall through - case 1: - Rain_Main(); - if (gWeatherPtr->unknown_6EA != 0) - { - if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT - || gWeatherPtr->nextWeather == WEATHER_RAIN_MED - || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY) - return FALSE; - gWeatherPtr->maxRainSprites = 0; - gWeatherPtr->finishStep++; - } - break; - case 2: - if (UpdateVisibleRainSprites()) - break; - DestroyRainSprites(); - gWeatherPtr->unknown_6ED = 0; - gWeatherPtr->finishStep++; - return FALSE; - default: - return FALSE; - } - return TRUE; -} - -static void SetThunderCounter(u16 max) -{ - if (gWeatherPtr->unknown_6ED == 0) - { - gWeatherPtr->thunderCounter = Random() % max; - gWeatherPtr->unknown_6ED = 1; - } -} - -static void UpdateThunderSound(void) -{ - if (gWeatherPtr->unknown_6ED == 1) - { - if (gWeatherPtr->thunderCounter == 0) - { - if (IsSEPlaying()) - return; - if (Random() & 1) - PlaySE(SE_T_KAMI); - else - PlaySE(SE_T_KAMI2); - gWeatherPtr->unknown_6ED = 0; - } - else - { - gWeatherPtr->thunderCounter--; - } - } -} - -//------------------------------------------------------------------------------ -// Fog 1 -//------------------------------------------------------------------------------ - void Fog1_Main(void); static void CreateFog1Sprites(void); static void DestroyFog1Sprites(void); @@ -1320,8 +1338,8 @@ void Fog1_InitVars(void) gWeatherPtr->gammaStepDelay = 20; if (gWeatherPtr->fog1SpritesCreated == 0) { - gWeatherPtr->unknown_6F0 = 0; - gWeatherPtr->unknown_6F2 = 0; + gWeatherPtr->fog1ScrollCounter = 0; + gWeatherPtr->fog1ScrollOffset = 0; gWeatherPtr->fog1ScrollPosX = 0; Weather_SetBlendCoeffs(0, 16); } @@ -1336,11 +1354,11 @@ void Fog1_InitAll(void) void Fog1_Main(void) { - gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->unknown_6F2) & 0xFF; - if (++gWeatherPtr->unknown_6F0 > 3) + gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fog1ScrollOffset) & 0xFF; + if (++gWeatherPtr->fog1ScrollCounter > 3) { - gWeatherPtr->unknown_6F0 = 0; - gWeatherPtr->unknown_6F2++; + gWeatherPtr->fog1ScrollCounter = 0; + gWeatherPtr->fog1ScrollOffset++; } switch (gWeatherPtr->initStep) { @@ -1364,12 +1382,13 @@ void Fog1_Main(void) bool8 Fog1_Finish(void) { - gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->unknown_6F2) & 0xFF; - if (++gWeatherPtr->unknown_6F0 > 3) + gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fog1ScrollOffset) & 0xFF; + if (++gWeatherPtr->fog1ScrollCounter > 3) { - gWeatherPtr->unknown_6F0 = 0; - gWeatherPtr->unknown_6F2++; + gWeatherPtr->fog1ScrollCounter = 0; + gWeatherPtr->fog1ScrollOffset++; } + switch (gWeatherPtr->finishStep) { case 0: @@ -1377,9 +1396,8 @@ bool8 Fog1_Finish(void) gWeatherPtr->finishStep++; break; case 1: - if (!Weather_UpdateBlend()) - break; - gWeatherPtr->finishStep++; + if (Weather_UpdateBlend()) + gWeatherPtr->finishStep++; break; case 2: DestroyFog1Sprites(); @@ -1391,15 +1409,15 @@ bool8 Fog1_Finish(void) return TRUE; } -#define sprColumn data[0] +#define tSpriteColumn data[0] static void Fog1SpriteCallback(struct Sprite *sprite) { sprite->pos2.y = (u8)gSpriteCoordOffsetY; - sprite->pos1.x = gWeatherPtr->fog1ScrollPosX + 32 + sprite->sprColumn * 64; - if (sprite->pos1.x > 0x10F) + sprite->pos1.x = gWeatherPtr->fog1ScrollPosX + 32 + sprite->tSpriteColumn * 64; + if (sprite->pos1.x > 271) { - sprite->pos1.x = 480 + gWeatherPtr->fog1ScrollPosX - (4 - sprite->sprColumn) * 64; + sprite->pos1.x = 480 + gWeatherPtr->fog1ScrollPosX - (4 - sprite->tSpriteColumn) * 64; sprite->pos1.x &= 0x1FF; } } @@ -1407,21 +1425,24 @@ static void Fog1SpriteCallback(struct Sprite *sprite) static void CreateFog1Sprites(void) { u16 i; + u8 spriteId; + struct Sprite *sprite; if (!gWeatherPtr->fog1SpritesCreated) { - struct SpriteSheet fog1SpriteSheet = {gWeatherFog1Tiles, sizeof(gWeatherFog1Tiles), 0x1201}; - + struct SpriteSheet fog1SpriteSheet = { + .data = gWeatherFog1Tiles, + .size = sizeof(gWeatherFog1Tiles), + .tag = 0x1201, + }; LoadSpriteSheet(&fog1SpriteSheet); - for (i = 0; i < 20; i++) + for (i = 0; i < NUM_FOG_SPRITES; i++) { - u8 spriteId = CreateSpriteAtEnd(&sFog1SpriteTemplate, 0, 0, 0xFF); - + spriteId = CreateSpriteAtEnd(&sFog1SpriteTemplate, 0, 0, 0xFF); if (spriteId != MAX_SPRITES) { - struct Sprite *sprite = &gSprites[spriteId]; - - sprite->sprColumn = i % 5; + sprite = &gSprites[spriteId]; + sprite->tSpriteColumn = i % 5; sprite->pos1.x = (i % 5) * 64 + 32; sprite->pos1.y = (i / 5) * 64 + 32; gWeatherPtr->sprites.s2.fog1Sprites[i] = sprite; @@ -1431,36 +1452,38 @@ static void CreateFog1Sprites(void) gWeatherPtr->sprites.s2.fog1Sprites[i] = NULL; } } + gWeatherPtr->fog1SpritesCreated = TRUE; } } -#undef sprColumn - static void DestroyFog1Sprites(void) { u16 i; if (gWeatherPtr->fog1SpritesCreated) { - for (i = 0; i < 20; i++) + for (i = 0; i < NUM_FOG_SPRITES; i++) { if (gWeatherPtr->sprites.s2.fog1Sprites[i] != NULL) DestroySprite(gWeatherPtr->sprites.s2.fog1Sprites[i]); } + FreeSpriteTilesByTag(0x1201); gWeatherPtr->fog1SpritesCreated = 0; } } +#undef tSpriteColumn + //------------------------------------------------------------------------------ // Volcanic ash //------------------------------------------------------------------------------ -void Ash_Main(void); -void LoadAshSpriteSheet(void); -void CreateAshSprites(void); -void DestroyAshSprites(void); +static void LoadAshSpriteSheet(void); +static void CreateAshSprites(void); +static void DestroyAshSprites(void); +static void UpdateAshSprite(struct Sprite *); void Ash_InitVars(void) { @@ -1472,7 +1495,7 @@ void Ash_InitVars(void) if (!gWeatherPtr->ashSpritesCreated) { Weather_SetBlendCoeffs(0, 16); - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(64, 63)); // Those aren't even valid coefficients! + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(64, 63)); // These aren't valid blend coefficients! } } @@ -1485,9 +1508,10 @@ void Ash_InitAll(void) void Ash_Main(void) { - gWeatherPtr->unknown_6FC = gSpriteCoordOffsetX & 0x1FF; - while (gWeatherPtr->unknown_6FC > 0xEF) - gWeatherPtr->unknown_6FC -= 0xF0; + gWeatherPtr->baseAshSpritesX = gSpriteCoordOffsetX & 0x1FF; + while (gWeatherPtr->baseAshSpritesX >= 240) + gWeatherPtr->baseAshSpritesX -= 240; + switch (gWeatherPtr->initStep) { case 0: @@ -1497,14 +1521,16 @@ void Ash_Main(void) case 1: if (!gWeatherPtr->ashSpritesCreated) CreateAshSprites(); + Weather_SetTargetBlendCoeffs(16, 0, 1); gWeatherPtr->initStep++; break; case 2: - if (!Weather_UpdateBlend()) - break; - gWeatherPtr->weatherGfxLoaded = TRUE; - gWeatherPtr->initStep++; + if (Weather_UpdateBlend()) + { + gWeatherPtr->weatherGfxLoaded = TRUE; + gWeatherPtr->initStep++; + } break; default: Weather_UpdateBlend(); @@ -1521,10 +1547,11 @@ bool8 Ash_Finish(void) gWeatherPtr->finishStep++; break; case 1: - if (!Weather_UpdateBlend()) - break; - DestroyAshSprites(); - gWeatherPtr->finishStep++; + if (Weather_UpdateBlend()) + { + DestroyAshSprites(); + gWeatherPtr->finishStep++; + } break; case 2: SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -1536,18 +1563,23 @@ bool8 Ash_Finish(void) return TRUE; } -static const struct SpriteSheet sAshSpriteSheet = {gWeatherAshTiles, sizeof(gWeatherAshTiles), 0x1202}; +static const struct SpriteSheet sAshSpriteSheet = +{ + .data = gWeatherAshTiles, + .size = sizeof(gWeatherAshTiles), + .tag = 0x1202, +}; -void LoadAshSpriteSheet(void) +static void LoadAshSpriteSheet(void) { LoadSpriteSheet(&sAshSpriteSheet); } -const struct OamData gOamData_839ABB8 = +static const struct OamData sAshSpriteOamData = { .y = 0, .affineMode = 0, - .objMode = 1, + .objMode = ST_OAM_OBJ_BLEND, .mosaic = 0, .bpp = 0, .shape = SPRITE_SHAPE(64x64), @@ -1560,48 +1592,52 @@ const struct OamData gOamData_839ABB8 = .affineParam = 0, }; -const union AnimCmd gSpriteAnim_839ABC0[] = +static const union AnimCmd sAshSpriteAnimCmd0[] = { ANIMCMD_FRAME(0, 60), ANIMCMD_FRAME(64, 60), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gSpriteAnimTable_839ABCC[] = +static const union AnimCmd *const sAshSpriteAnimCmds[] = { - gSpriteAnim_839ABC0, + sAshSpriteAnimCmd0, }; -void sub_807FAA8(struct Sprite *); static const struct SpriteTemplate sAshSpriteTemplate = { .tileTag = 4610, - .paletteTag = 4608, - .oam = &gOamData_839ABB8, - .anims = gSpriteAnimTable_839ABCC, + .paletteTag = 0x1200, + .oam = &sAshSpriteOamData, + .anims = sAshSpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807FAA8, + .callback = UpdateAshSprite, }; -void CreateAshSprites(void) +#define tOffsetY data[0] +#define tCounterY data[1] +#define tSpriteColumn data[2] +#define tSpriteRow data[3] + +static void CreateAshSprites(void) { u8 i; + u8 spriteId; + struct Sprite *sprite; if (!gWeatherPtr->ashSpritesCreated) { - for (i = 0; i < 20; i++) + for (i = 0; i < NUM_ASH_SPRITES; i++) { - u8 spriteId = CreateSpriteAtEnd(&sAshSpriteTemplate, 0, 0, 0x4E); - + spriteId = CreateSpriteAtEnd(&sAshSpriteTemplate, 0, 0, 0x4E); if (spriteId != MAX_SPRITES) { - struct Sprite *sprite = &gSprites[spriteId]; - - sprite->data[1] = 0; - sprite->data[2] = (u8)(i % 5); - sprite->data[3] = (u8)(i / 5); - sprite->data[0] = sprite->data[3] * 64 + 32; + sprite = &gSprites[spriteId]; + sprite->tCounterY = 0; + sprite->tSpriteColumn = (u8)(i % 5); + sprite->tSpriteRow = (u8)(i / 5); + sprite->tOffsetY = sprite->tSpriteRow * 64 + 32; gWeatherPtr->sprites.s2.ashSprites[i] = sprite; } else @@ -1609,43 +1645,50 @@ void CreateAshSprites(void) gWeatherPtr->sprites.s2.ashSprites[i] = NULL; } } + gWeatherPtr->ashSpritesCreated = TRUE; } } -void DestroyAshSprites(void) +static void DestroyAshSprites(void) { u16 i; if (gWeatherPtr->ashSpritesCreated) { - for (i = 0; i < 20; i++) + for (i = 0; i < NUM_ASH_SPRITES; i++) { if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL) DestroySprite(gWeatherPtr->sprites.s2.ashSprites[i]); } + FreeSpriteTilesByTag(0x1202); gWeatherPtr->ashSpritesCreated = FALSE; } } -void sub_807FAA8(struct Sprite *sprite) +static void UpdateAshSprite(struct Sprite *sprite) { - sprite->data[1]++; - if (sprite->data[1] > 5) + if (++sprite->tCounterY > 5) { - sprite->data[1] = 0; - sprite->data[0]++; + sprite->tCounterY = 0; + sprite->tOffsetY++; } - sprite->pos1.y = gSpriteCoordOffsetY + sprite->data[0]; - sprite->pos1.x = gWeatherPtr->unknown_6FC + 32 + sprite->data[2] * 64; + + sprite->pos1.y = gSpriteCoordOffsetY + sprite->tOffsetY; + sprite->pos1.x = gWeatherPtr->baseAshSpritesX + 32 + sprite->tSpriteColumn * 64; if (sprite->pos1.x > 271) { - sprite->pos1.x = gWeatherPtr->unknown_6FC + 0x1E0 - (4 - sprite->data[2]) * 64; + sprite->pos1.x = gWeatherPtr->baseAshSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; sprite->pos1.x &= 0x1FF; } } +#undef tOffsetY +#undef tCounterY +#undef tSpriteColumn +#undef tSpriteRow + //------------------------------------------------------------------------------ // Fog 2 //------------------------------------------------------------------------------ @@ -1656,8 +1699,8 @@ void Fog2_InitVars(void) gWeatherPtr->weatherGfxLoaded = 0; gWeatherPtr->gammaTargetIndex = 0; gWeatherPtr->gammaStepDelay = 20; - gWeatherPtr->unknown_6F0 = 0; - gWeatherPtr->unknown_6F2 = 1; + gWeatherPtr->fog1ScrollCounter = 0; + gWeatherPtr->fog1ScrollOffset = 1; if (gWeatherPtr->fog2SpritesCreated == 0) { gWeatherPtr->unknown_71C = 0; @@ -1812,7 +1855,7 @@ void Fog2SpriteCallback(struct Sprite *); const struct SpriteTemplate sFog2SpriteTemplate = { .tileTag = 4611, - .paletteTag = 4608, + .paletteTag = 0x1200, .oam = &gOamData_839ABF0, .anims = gSpriteAnimTable_839AC00, .images = NULL, @@ -2017,8 +2060,8 @@ const union AnimCmd *const gSpriteAnimTable_839AC34[] = void SandstormSpriteCallback1(struct Sprite *); const struct SpriteTemplate sSandstormSpriteTemplate = { - .tileTag = 4612, - .paletteTag = 4609, + .tileTag = 0x1204, + .paletteTag = 0x1201, .oam = &gOamData_839AC1C, .anims = gSpriteAnimTable_839AC34, .images = NULL, @@ -2250,7 +2293,7 @@ void unc_0807DAB4(struct Sprite *); const struct SpriteTemplate gSpriteTemplate_839ACBC = { .tileTag = 4613, - .paletteTag = 4608, + .paletteTag = 0x1200, .oam = &gUnknown_08524904, .anims = gSpriteAnimTable_839ACB8, .images = NULL, diff --git a/src/overworld.c b/src/overworld.c index ce1e21ab15..ae6efefd7c 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2960,7 +2960,7 @@ static void InitLinkPlayerEventObjectPos(struct EventObject *eventObj, s16 x, s1 eventObj->currentCoords.y = y; eventObj->previousCoords.x = x; eventObj->previousCoords.y = y; - sub_8093038(x, y, &eventObj->initialCoords.x, &eventObj->initialCoords.y); + SetSpritePosToMapCoords(x, y, &eventObj->initialCoords.x, &eventObj->initialCoords.y); eventObj->initialCoords.x += 8; EventObjectUpdateZCoord(eventObj); } From 4be97b2dc691d5215ae402a345708b3e207ceb9f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 1 Apr 2019 18:42:57 -0400 Subject: [PATCH 17/84] through sub_801A960 --- asm/union_room_battle.s | 715 ------------------------------------ data/union_room_battle.s | 47 --- include/strings.h | 5 + include/union_room_battle.h | 6 + ld_script.txt | 2 + src/union_room.c | 2 - src/union_room_battle.c | 466 +++++++++++++++++++++++ sym_bss.txt | 1 + 8 files changed, 480 insertions(+), 764 deletions(-) create mode 100644 include/union_room_battle.h create mode 100644 src/union_room_battle.c diff --git a/asm/union_room_battle.s b/asm/union_room_battle.s index db8c62f6dc..ea4e6958e5 100755 --- a/asm/union_room_battle.s +++ b/asm/union_room_battle.s @@ -5,721 +5,6 @@ .text - thumb_func_start sub_801A3F4 -sub_801A3F4: @ 801A3F4 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0801A414 - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade -_0801A414: - pop {r0} - bx r0 - thumb_func_end sub_801A3F4 - - thumb_func_start sub_801A418 -sub_801A418: @ 801A418 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_801A418 - - thumb_func_start sub_801A42C -sub_801A42C: @ 801A42C - push {lr} - ldr r0, =sub_801A43C - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_801A42C - - thumb_func_start sub_801A43C -sub_801A43C: @ 801A43C - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r5, =gUnknown_03000DAC - movs r0, 0x6C - bl AllocZeroed - str r0, [r5] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_082F0D34 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0x1 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, =gWirelessInfoScreenGfx - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, =gWirelessInfoScreenTilemap - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r0, =gUnknown_082F0D3C - bl InitWindows - bl DeactivateAllTextPrinters - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl ScanlineEffect_Stop - bl m4aSoundVSyncOn - ldr r0, =sub_801A418 - bl SetVBlankCallback - ldr r0, =sub_801A6C0 - movs r1, 0 - bl CreateTask - ldr r1, [r5] - adds r1, 0x60 - strb r0, [r1] - bl sub_8013C40 - ldr r1, [r5] - adds r1, 0x61 - strb r0, [r1] - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1, 0x1C] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, =gWirelessInfoScreenPal - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0xF0 - bl Menu_LoadStdPalAt - bl DynamicPlaceholderTextUtil_Reset - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, =sub_801A3F4 - bl SetMainCallback2 - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801A43C - - thumb_func_start sub_801A584 -sub_801A584: @ 801A584 - push {r4,lr} - bl FreeAllWindowBuffers - movs r4, 0 -_0801A58C: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBgTilemapBuffer - bl Free - adds r4, 0x1 - cmp r4, 0x1 - ble _0801A58C - ldr r0, =gUnknown_03000DAC - ldr r0, [r0] - bl Free - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801A584 - - thumb_func_start sub_801A5BC -sub_801A5BC: @ 801A5BC - push {lr} - adds r2, r0, 0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _0801A5E4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xE - bne _0801A5E0 - movs r0, 0 - strh r0, [r1] -_0801A5E0: - movs r0, 0 - strh r0, [r2] -_0801A5E4: - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, 0x2 - lsls r0, 5 - ldr r1, =gWirelessInfoScreenPal - adds r0, r1 - movs r1, 0 - movs r2, 0x10 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_801A5BC - - thumb_func_start sub_801A600 -sub_801A600: @ 801A600 - push {r4,r5,lr} - sub sp, 0x8 - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, =gUnknown_082F0D5C - ldr r4, [r5] - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xC0 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl sub_801A8B0 - movs r1, 0 -_0801A644: - adds r4, r1, 0x1 - lsls r0, r4, 2 - adds r0, r5 - ldr r2, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 25 - movs r1, 0x80 - lsls r1, 20 - adds r0, r1 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r1, 0x1 - movs r3, 0 - bl sub_801A8B0 - adds r1, r4, 0 - cmp r4, 0x2 - ble _0801A644 - ldr r1, =gUnknown_082F0D5C - adds r0, r4, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 25 - movs r1, 0x80 - lsls r1, 20 - adds r0, r1 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl sub_801A8B0 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801A600 - - thumb_func_start sub_801A6C0 -sub_801A6C0: @ 801A6C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x5 - bls _0801A6E2 - b _0801A89C -_0801A6E2: - lsls r0, 2 - ldr r1, =_0801A6F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801A6F4: - .4byte _0801A70C - .4byte _0801A728 - .4byte _0801A74C - .4byte _0801A768 - .4byte _0801A85C - .4byte _0801A884 -_0801A70C: - bl sub_801A600 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0801A89C - .pool -_0801A728: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl ShowBg - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl ShowBg - b _0801A86C -_0801A74C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0801A75A - b _0801A89C -_0801A75A: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - b _0801A876 - .pool -_0801A768: - ldr r0, =gUnknown_03000DAC - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x10 - adds r2, r0, 0 - adds r2, 0x20 - adds r3, r0, 0 - adds r3, 0x61 - ldrb r3, [r3] - bl sub_801AA30 - lsls r1, r5, 2 - mov r8, r1 - cmp r0, 0 - beq _0801A7F8 - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - movs r4, 0 - ldr r6, =gStringVar4 - movs r7, 0x80 - lsls r7, 20 -_0801A796: - ldr r0, =gUnknown_03000DAC - ldr r0, [r0] - lsls r1, r4, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - cmp r4, 0x3 - beq _0801A7CC - lsrs r0, r7, 24 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x1 - adds r2, r6, 0 - movs r3, 0xC - bl sub_801A8B0 - b _0801A7DE - .pool -_0801A7CC: - movs r0, 0x62 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r1, 0x1 - adds r2, r6, 0 - movs r3, 0xC - bl sub_801A8B0 -_0801A7DE: - movs r2, 0xF0 - lsls r2, 21 - adds r7, r2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0801A796 - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram -_0801A7F8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801A80C - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801A836 -_0801A80C: - movs r0, 0x5 - bl PlaySE - ldr r2, =gTasks - ldr r0, =gUnknown_03000DAC - ldr r0, [r0] - adds r0, 0x61 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0xFF - strh r1, [r0, 0x26] - mov r0, r8 - adds r1, r0, r5 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0801A836: - mov r2, r8 - adds r1, r2, r5 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - adds r0, r1, 0 - adds r0, 0xE - adds r1, 0x10 - bl sub_801A5BC - b _0801A89C - .pool -_0801A85C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0801A86C: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 -_0801A876: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0801A89C - .pool -_0801A884: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0801A89C - ldr r0, =sub_801A584 - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0801A89C: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801A6C0 - - thumb_func_start sub_801A8B0 -sub_801A8B0: @ 801A8B0 - push {r4-r7,lr} - sub sp, 0x18 - mov r12, r2 - ldr r2, [sp, 0x2C] - ldr r4, [sp, 0x30] - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r3, 24 - lsrs r5, r3, 24 - lsls r2, 24 - lsrs r3, r2, 24 - lsls r4, 24 - lsrs r0, r4, 24 - cmp r0, 0x4 - bhi _0801A93A - lsls r0, 2 - ldr r1, =_0801A8E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801A8E0: - .4byte _0801A8F4 - .4byte _0801A902 - .4byte _0801A910 - .4byte _0801A91E - .4byte _0801A92C -_0801A8F4: - add r1, sp, 0x14 - movs r0, 0 - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - movs r0, 0x3 - b _0801A938 -_0801A902: - add r1, sp, 0x14 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x3 - b _0801A938 -_0801A910: - add r1, sp, 0x14 - movs r0, 0 - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - movs r0, 0x5 - b _0801A938 -_0801A91E: - add r1, sp, 0x14 - movs r0, 0 - strb r0, [r1] - movs r0, 0x7 - strb r0, [r1, 0x1] - movs r0, 0x6 - b _0801A938 -_0801A92C: - add r1, sp, 0x14 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x2 -_0801A938: - strb r0, [r1, 0x2] -_0801A93A: - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - mov r0, r12 - str r0, [sp, 0x10] - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl AddTextPrinterParameterized4 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_801A8B0 - - thumb_func_start sub_801A960 -sub_801A960: @ 801A960 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r12, r0 - adds r7, r1, 0 - ldrb r0, [r0, 0xA] - lsls r0, 25 - lsrs r0, 25 - mov r8, r0 - movs r4, 0 - ldr r0, =gUnknown_082F0D70 - mov r9, r0 - movs r1, 0x1 - add r1, r9 - mov r10, r1 - mov r3, r12 - adds r3, 0x4 - str r3, [sp] -_0801A98A: - lsls r0, r4, 1 - adds r2, r0, r4 - mov r3, r9 - adds r1, r2, r3 - adds r5, r0, 0 - adds r6, r4, 0x1 - ldrb r1, [r1] - cmp r8, r1 - bne _0801A9EE - mov r0, r12 - ldrb r1, [r0, 0x1A] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _0801A9EE - mov r0, r9 - adds r0, 0x2 - adds r3, r2, r0 - ldrb r0, [r3] - cmp r0, 0 - bne _0801A9DC - movs r2, 0 - movs r1, 0 - ldr r3, [sp] -_0801A9BA: - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0801A9C4 - adds r2, 0x1 -_0801A9C4: - adds r1, 0x1 - cmp r1, 0x3 - ble _0801A9BA - adds r2, 0x1 - adds r0, r5, r4 - add r0, r10 - ldrb r1, [r0] - lsls r1, 2 - adds r1, r7 - b _0801A9E8 - .pool -_0801A9DC: - mov r1, r10 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 2 - adds r1, r7 - ldrb r2, [r3] -_0801A9E8: - ldr r0, [r1] - adds r0, r2 - str r0, [r1] -_0801A9EE: - adds r4, r6, 0 - cmp r4, 0x1E - bls _0801A98A - mov r0, r8 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_801A960 - thumb_func_start sub_801AA08 sub_801AA08: @ 801AA08 push {r4,lr} diff --git a/data/union_room_battle.s b/data/union_room_battle.s index 65e8d4229d..65391a82e7 100755 --- a/data/union_room_battle.s +++ b/data/union_room_battle.s @@ -3,53 +3,6 @@ .section .rodata - .align 2 -gWirelessInfoScreenPal:: @ 82F0790 - .incbin "graphics/interface/wireless_info_screen.gbapal" - - .align 2 -gWirelessInfoScreenGfx:: @ 82F0990 - .incbin "graphics/interface/wireless_info_screen.4bpp.lz" - - .align 2 -gWirelessInfoScreenTilemap:: @ 82F0BA0 - .incbin "graphics/interface/wireless_info_screen.bin.lz" - - .align 2 -gUnknown_082F0D34:: @ 82F0D34 - .4byte 0x000001f8 - .4byte 0x00001081 - - .align 2 -gUnknown_082F0D3C:: @ 82F0D3C - window_template 0x00, 0x03, 0x00, 0x18, 0x03, 0x0f, 0x0001 - window_template 0x00, 0x03, 0x04, 0x15, 0x0f, 0x0f, 0x0049 - window_template 0x00, 0x18, 0x04, 0x03, 0x0f, 0x0f, 0x0184 - null_window_template - - .align 2 -gUnknown_082F0D5C:: @ 82F0D5C - .4byte gText_WirelessCommStatus - .4byte gText_PeopleTrading - .4byte gText_PeopleBattling - .4byte gText_PeopleInUnionRoom - .4byte gText_PeopleCommunicating - - .align 2 -gUnknown_082F0D70:: @ 82F0D70 - .byte 0x01, 0x01, 0x02, 0x02, 0x01, 0x02, 0x03, 0x01 - .byte 0x04, 0x04, 0x00, 0x02, 0x06, 0x03, 0x02, 0x07 - .byte 0x03, 0x02, 0x09, 0x03, 0x00, 0x0a, 0x03, 0x00 - .byte 0x0b, 0x03, 0x00, 0x0c, 0xff, 0x00, 0x0d, 0x00 - .byte 0x00, 0x10, 0x03, 0x00, 0x0f, 0x03, 0x00, 0x40 - .byte 0x02, 0x01, 0x41, 0x02, 0x02, 0x44, 0x02, 0x02 - .byte 0x45, 0x02, 0x00, 0x48, 0x02, 0x02, 0x54, 0x02 - .byte 0x01, 0x53, 0x02, 0x02, 0x51, 0x02, 0x01, 0x52 - .byte 0x02, 0x01, 0x15, 0x03, 0x02, 0x16, 0x03, 0x02 - .byte 0x17, 0x03, 0x00, 0x18, 0x03, 0x00, 0x19, 0x03 - .byte 0x00, 0x1a, 0x03, 0x00, 0x1b, 0x03, 0x00, 0x1c - .byte 0x01, 0x02, 0x0e, 0x01, 0x02, 0x00, 0x00, 0x00 - .align 2 gUnknown_082F0DD0:: @ 82F0DD0 .4byte 0x000001FC diff --git a/include/strings.h b/include/strings.h index 1561da26d2..99c9ce73c2 100644 --- a/include/strings.h +++ b/include/strings.h @@ -2672,5 +2672,10 @@ extern const u8 gText_CommunicationCompleted[]; extern const u8 gText_HaventReceivedGiftOkayToDiscard[]; extern const u8 gText_SendingWonderCard[]; extern const u8 gText_SendingWonderNews[]; +extern const u8 gText_WirelessCommStatus[]; +extern const u8 gText_PeopleTrading[]; +extern const u8 gText_PeopleBattling[]; +extern const u8 gText_PeopleInUnionRoom[]; +extern const u8 gText_PeopleCommunicating[]; #endif // GUARD_STRINGS_H diff --git a/include/union_room_battle.h b/include/union_room_battle.h new file mode 100644 index 0000000000..1bc9d00158 --- /dev/null +++ b/include/union_room_battle.h @@ -0,0 +1,6 @@ +#ifndef GUARD_UNION_ROOM_BATTLE_H +#define GUARD_UNION_ROOM_BATTLE_H + +u8 sub_8013C40(void); + +#endif //GUARD_UNION_ROOM_BATTLE_H diff --git a/ld_script.txt b/ld_script.txt index a7bd9eaad5..2b0d0dd897 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -57,6 +57,7 @@ SECTIONS { src/union_room.o(.text); src/mystery_gift.o(.text); src/union_room_player_avatar.o(.text); + src/union_room_battle.o(.text); asm/union_room_battle.o(.text); src/mevent2.o(.text); src/mevent_801BAAC.o(.text); @@ -413,6 +414,7 @@ SECTIONS { src/union_room.o(.rodata); src/mystery_gift.o(.rodata); src/union_room_player_avatar.o(.rodata); + src/union_room_battle.o(.rodata); data/union_room_battle.o(.rodata); src/mevent2.o(.rodata); src/mevent_801BAAC.o(.rodata); diff --git a/src/union_room.c b/src/union_room.c index ad33112e41..88ac65baa5 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -62,8 +62,6 @@ EWRAM_DATA struct TradeUnkStruct gUnknown_02022C40 = {}; IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0; IWRAM_DATA struct UnkStruct_Group *gUnknown_03000DA4; IWRAM_DATA struct UnkStruct_URoom *gUnknown_03000DA8; -IWRAM_DATA void *gUnknown_03000DAC; -IWRAM_DATA bool32 gUnknown_03000DB0; // this file's functions void sub_80173E0(u8 windowId, u8 arg1, const u8 *str, u8 arg3, u8 arg4, u8 arg5); diff --git a/src/union_room_battle.c b/src/union_room_battle.c new file mode 100644 index 0000000000..b571e803a3 --- /dev/null +++ b/src/union_room_battle.c @@ -0,0 +1,466 @@ +#include "global.h" +#include "battle.h" +#include "task.h" +#include "text.h" +#include "main.h" +#include "bg.h" +#include "palette.h" +#include "gpu_regs.h" +#include "alloc.h" +#include "menu.h" +#include "window.h" +#include "scanline_effect.h" +#include "m4a.h" +#include "dynamic_placeholder_text_util.h" +#include "overworld.h" +#include "strings.h" +#include "string_util.h" +#include "international_string_util.h" +#include "sound.h" +#include "constants/songs.h" +#include "union_room.h" +#include "union_room_battle.h" + +struct UnkStruct_3000DAC +{ + /*0x00*/ u32 unk00[4]; + /*0x10*/ u32 unk10[4]; + /*0x20*/ u32 unk20[16]; + /*0x60*/ u8 taskId; + /*0x61*/ u8 unk61; + /*0x62*/ u8 filler_62[10]; +}; + +IWRAM_DATA struct UnkStruct_3000DAC * gUnknown_03000DAC; +IWRAM_DATA bool32 gUnknown_03000DB0; + +void sub_801A43C(void); +void sub_801A6C0(u8 taskId); +static void sub_801A8B0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 mode); +bool32 sub_801AA30(u32 * a0, u32 * a1, u32 * a2, u8 a3); + +const u16 gWirelessInfoScreenPal[] = INCBIN_U16("graphics/interface/wireless_info_screen.gbapal"); +const u32 gWirelessInfoScreenGfx[] = INCBIN_U32("graphics/interface/wireless_info_screen.4bpp.lz"); +const u32 gWirelessInfoScreenTilemap[] = INCBIN_U32("graphics/interface/wireless_info_screen.bin.lz"); + +const struct BgTemplate gUnknown_082F0D34[] = { + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 0x1F, + .priority = 0 + }, { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 0x08, + .priority = 1 + } +}; + +const struct WindowTemplate gUnknown_082F0D3C[] = { + { + .bg = 0x00, + .tilemapLeft = 0x03, + .tilemapTop = 0x00, + .width = 0x18, + .height = 0x03, + .paletteNum = 0x0f, + .baseBlock = 0x0001 + }, { + .bg = 0x00, + .tilemapLeft = 0x03, + .tilemapTop = 0x04, + .width = 0x15, + .height = 0x0f, + .paletteNum = 0x0f, + .baseBlock = 0x0049 + }, { + .bg = 0x00, + .tilemapLeft = 0x18, + .tilemapTop = 0x04, + .width = 0x03, + .height = 0x0f, + .paletteNum = 0x0f, + .baseBlock = 0x0184 + }, + { 0xFF } +}; + +const u8 *const gUnknown_082F0D5C[] = { + gText_WirelessCommStatus, + gText_PeopleTrading, + gText_PeopleBattling, + gText_PeopleInUnionRoom, + gText_PeopleCommunicating +}; + +const u8 gUnknown_082F0D70[][3] = { + {0x01, 0x01, 0x02}, + {0x02, 0x01, 0x02}, + {0x03, 0x01, 0x04}, + {0x04, 0x00, 0x02}, + {0x06, 0x03, 0x02}, + {0x07, 0x03, 0x02}, + {0x09, 0x03, 0x00}, + {0x0a, 0x03, 0x00}, + {0x0b, 0x03, 0x00}, + {0x0c, 0xff, 0x00}, + {0x0d, 0x00, 0x00}, + {0x10, 0x03, 0x00}, + {0x0f, 0x03, 0x00}, + {0x40, 0x02, 0x01}, + {0x41, 0x02, 0x02}, + {0x44, 0x02, 0x02}, + {0x45, 0x02, 0x00}, + {0x48, 0x02, 0x02}, + {0x54, 0x02, 0x01}, + {0x53, 0x02, 0x02}, + {0x51, 0x02, 0x01}, + {0x52, 0x02, 0x01}, + {0x15, 0x03, 0x02}, + {0x16, 0x03, 0x02}, + {0x17, 0x03, 0x00}, + {0x18, 0x03, 0x00}, + {0x19, 0x03, 0x00}, + {0x1a, 0x03, 0x00}, + {0x1b, 0x03, 0x00}, + {0x1c, 0x01, 0x02}, + {0x0e, 0x01, 0x02} +}; + +void sub_801A3F4(void) +{ + if (!IsDma3ManagerBusyWithBgCopy()) + { + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + } +} + +void sub_801A418(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_801A42C(void) +{ + SetMainCallback2(sub_801A43C); +} + +void sub_801A43C(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); + gUnknown_03000DAC = AllocZeroed(sizeof(struct UnkStruct_3000DAC)); + SetVBlankCallback(NULL); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_082F0D34, ARRAY_COUNT(gUnknown_082F0D34)); + SetBgTilemapBuffer(1, Alloc(0x800)); + SetBgTilemapBuffer(0, Alloc(0x800)); + DecompressAndLoadBgGfxUsingHeap(1, gWirelessInfoScreenGfx, 0, 0, 0); + CopyToBgTilemapBuffer(1, gWirelessInfoScreenTilemap, 0, 0); + InitWindows(gUnknown_082F0D3C); + DeactivateAllTextPrinters(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + ScanlineEffect_Stop(); + m4aSoundVSyncOn(); + SetVBlankCallback(sub_801A418); + gUnknown_03000DAC->taskId = CreateTask(sub_801A6C0, 0); + gUnknown_03000DAC->unk61 = sub_8013C40(); + gUnknown_03000DAC->unk10[3] = 1; + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + LoadPalette(gWirelessInfoScreenPal, 0x00, 0x20); + Menu_LoadStdPalAt(0xF0); + DynamicPlaceholderTextUtil_Reset(); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x0F); + CopyBgTilemapBufferToVram(1); + SetMainCallback2(sub_801A3F4); + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_801A584(void) +{ + s32 i; + FreeAllWindowBuffers(); + for (i = 0; i < 2; i++) + { + Free(GetBgTilemapBuffer(i)); + } + Free(gUnknown_03000DAC); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +void sub_801A5BC(s16 * a0, s16 * a1) +{ + if (++(*a0) > 5) + { + if (++(*a1) == 14) + { + *a1 = 0; + } + *a0 = 0; + } + LoadPalette(gWirelessInfoScreenPal + 16 * (*a1 + 2), 0, 0x10); +} + +void sub_801A600(void) +{ + s32 i; + FillWindowPixelBuffer(0, 0); + FillWindowPixelBuffer(1, 0); + FillWindowPixelBuffer(2, 0); + sub_801A8B0(0, 1, gUnknown_082F0D5C[0], GetStringCenterAlignXOffset(1, gUnknown_082F0D5C[0], 0xC0), 6, 3); + for (i = 0; i < 3; i++) + { + sub_801A8B0(1, 1, gUnknown_082F0D5C[i + 1], 0, 30 * i + 8, 1); + } + sub_801A8B0(1, 1, gUnknown_082F0D5C[i + 1], 0, 30 * i + 8, 2); + PutWindowTilemap(0); + CopyWindowToVram(0, 2); + PutWindowTilemap(1); + CopyWindowToVram(1, 2); +} + +void sub_801A6C0(u8 taskId) +{ + s32 i; + switch (gTasks[taskId].data[0]) + { + case 0: + sub_801A600(); + gTasks[taskId].data[0]++; + break; + case 1: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + ShowBg(1); + CopyBgTilemapBufferToVram(0); + ShowBg(0); + gTasks[taskId].data[0]++; + break; + case 2: + if (!gPaletteFade.active) + { + gTasks[taskId].data[0]++; + } + break; + case 3: + if (sub_801AA30(gUnknown_03000DAC->unk00, gUnknown_03000DAC->unk10, gUnknown_03000DAC->unk20, gUnknown_03000DAC->unk61)) + { + FillWindowPixelBuffer(2, 0); + for (i = 0; i < 4; i++) + { + ConvertIntToDecimalStringN(gStringVar4, gUnknown_03000DAC->unk00[i], STR_CONV_MODE_RIGHT_ALIGN, 2); + if (i != 3) + { + sub_801A8B0(2, 1, gStringVar4, 12, 30 * i + 8, 1); + } + else + { + sub_801A8B0(2, 1, gStringVar4, 12, 98, 2); + } + } + PutWindowTilemap(2); + CopyWindowToVram(2, 3); + } + if (({gMain.newKeys & A_BUTTON;}) || ({gMain.newKeys & B_BUTTON;})) + { + PlaySE(SE_SELECT); + gTasks[gUnknown_03000DAC->unk61].data[15] = 0xFF; + gTasks[taskId].data[0]++; + } + sub_801A5BC(&gTasks[taskId].data[7], &gTasks[taskId].data[8]); + break; + case 4: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].data[0]++; + break; + case 5: + if (!gPaletteFade.active) + { + SetMainCallback2(sub_801A584); + DestroyTask(taskId); + } + break; + } +} + +static void sub_801A8B0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 mode) +{ + u8 color[3]; + + switch (mode) + { + case 0: + color[0] = 0; + color[1] = 2; + color[2] = 3; + break; + case 1: + color[0] = 0; + color[1] = 1; + color[2] = 3; + break; + case 2: + color[0] = 0; + color[1] = 4; + color[2] = 5; + break; + case 3: + color[0] = 0; + color[1] = 7; + color[2] = 6; + break; + case 4: + color[0] = 0; + color[1] = 1; + color[2] = 2; + break; + } + + AddTextPrinterParameterized4(windowId, fontId, x, y, 0, 0, color, -1, str); +} + +#ifdef NONMATCHING +// register swap r2, r3 +u8 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1) +{ + s32 i, j, r2; + u8 result = a0->unk.field_0.unk_0a_0; + + for (i = 0; i < (unsigned)ARRAY_COUNT(gUnknown_082F0D70); i++) + { + if (result != gUnknown_082F0D70[i][0]) + { + continue; + } + if (a0->field_1A_0 != 1) + { + continue; + } + if (gUnknown_082F0D70[i][2] == 0) + { + r2 = 0; + for (j = 0; j < 4; j++) + { + if (a0->unk.field_0.unk_04[j] != 0) + { + r2++; + } + } + r2++; + a1[gUnknown_082F0D70[i][1]] += r2; + } + else + { + a1[gUnknown_082F0D70[i][1]] += gUnknown_082F0D70[i][2]; + } + } + return result; +} +#else +NAKED +u8 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x4\n" + "\tmov r12, r0\n" + "\tadds r7, r1, 0\n" + "\tldrb r0, [r0, 0xA]\n" + "\tlsls r0, 25\n" + "\tlsrs r0, 25\n" + "\tmov r8, r0\n" + "\tmovs r4, 0\n" + "\tldr r0, =gUnknown_082F0D70\n" + "\tmov r9, r0\n" + "\tmovs r1, 0x1\n" + "\tadd r1, r9\n" + "\tmov r10, r1\n" + "\tmov r3, r12\n" + "\tadds r3, 0x4\n" + "\tstr r3, [sp]\n" + "_0801A98A:\n" + "\tlsls r0, r4, 1\n" + "\tadds r2, r0, r4\n" + "\tmov r3, r9\n" + "\tadds r1, r2, r3\n" + "\tadds r5, r0, 0\n" + "\tadds r6, r4, 0x1\n" + "\tldrb r1, [r1]\n" + "\tcmp r8, r1\n" + "\tbne _0801A9EE\n" + "\tmov r0, r12\n" + "\tldrb r1, [r0, 0x1A]\n" + "\tmovs r0, 0x3\n" + "\tands r0, r1\n" + "\tcmp r0, 0x1\n" + "\tbne _0801A9EE\n" + "\tmov r0, r9\n" + "\tadds r0, 0x2\n" + "\tadds r3, r2, r0\n" + "\tldrb r0, [r3]\n" + "\tcmp r0, 0\n" + "\tbne _0801A9DC\n" + "\tmovs r2, 0\n" + "\tmovs r1, 0\n" + "\tldr r3, [sp]\n" + "_0801A9BA:\n" + "\tadds r0, r3, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbeq _0801A9C4\n" + "\tadds r2, 0x1\n" + "_0801A9C4:\n" + "\tadds r1, 0x1\n" + "\tcmp r1, 0x3\n" + "\tble _0801A9BA\n" + "\tadds r2, 0x1\n" + "\tadds r0, r5, r4\n" + "\tadd r0, r10\n" + "\tldrb r1, [r0]\n" + "\tlsls r1, 2\n" + "\tadds r1, r7\n" + "\tb _0801A9E8\n" + "\t.pool\n" + "_0801A9DC:\n" + "\tmov r1, r10\n" + "\tadds r0, r2, r1\n" + "\tldrb r1, [r0]\n" + "\tlsls r1, 2\n" + "\tadds r1, r7\n" + "\tldrb r2, [r3]\n" + "_0801A9E8:\n" + "\tldr r0, [r1]\n" + "\tadds r0, r2\n" + "\tstr r0, [r1]\n" + "_0801A9EE:\n" + "\tadds r4, r6, 0\n" + "\tcmp r4, 0x1E\n" + "\tbls _0801A98A\n" + "\tmov r0, r8\n" + "\tadd sp, 0x4\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1"); +} +#endif //NONMATCHING diff --git a/sym_bss.txt b/sym_bss.txt index 1eef0130bc..06b48c1f93 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -8,6 +8,7 @@ .include "src/link.o" .include "src/link_rfu.o" .include "src/union_room.o" + .include "src/union_room_battle.o" .include "src/rtc.o" .include "src/main_menu.o" .include "src/rom_8034C54.o" From 7571969a458fefcfa242acdd4a38dce134897977 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 1 Apr 2019 22:30:30 -0400 Subject: [PATCH 18/84] Finish union room battle --- asm/union_room_battle.s | 636 ---------------------------------- data/union_room_battle.s | 17 - include/constants/game_stat.h | 2 +- include/main.h | 2 +- include/strings.h | 3 + include/union_room_battle.h | 1 + ld_script.txt | 2 - src/mauville_old_man.c | 2 +- src/union_room.c | 2 +- src/union_room_battle.c | 359 +++++++++++++------ sym_ewram.txt | 5 +- 11 files changed, 271 insertions(+), 760 deletions(-) delete mode 100755 asm/union_room_battle.s delete mode 100755 data/union_room_battle.s diff --git a/asm/union_room_battle.s b/asm/union_room_battle.s deleted file mode 100755 index ea4e6958e5..0000000000 --- a/asm/union_room_battle.s +++ /dev/null @@ -1,636 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_801AA08 -sub_801AA08: @ 801AA08 - push {r4,lr} - movs r4, 0 - adds r3, r1, 0 - adds r2, r0, 0 -_0801AA10: - ldr r1, [r2] - ldr r0, [r3] - cmp r1, r0 - beq _0801AA1C - movs r0, 0x1 - b _0801AA28 -_0801AA1C: - adds r3, 0x4 - adds r2, 0x4 - adds r4, 0x1 - cmp r4, 0x3 - ble _0801AA10 - movs r0, 0 -_0801AA28: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801AA08 - - thumb_func_start sub_801AA30 -sub_801AA30: @ 801AA30 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r6, r0, 0 - mov r9, r1 - adds r5, r2, 0 - lsls r4, r3, 24 - lsrs r4, 24 - movs r0, 0 - mov r8, r0 - mov r0, sp - movs r1, 0 - movs r2, 0x10 - bl memset - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - movs r4, 0 -_0801AA5E: - lsls r1, r4, 5 - ldr r0, [r7] - adds r0, r1 - mov r1, sp - bl sub_801A960 - adds r1, r0, 0 - ldr r0, [r5] - cmp r1, r0 - beq _0801AA78 - str r1, [r5] - movs r2, 0x1 - mov r8, r2 -_0801AA78: - adds r5, 0x4 - adds r4, 0x1 - cmp r4, 0xF - ble _0801AA5E - mov r0, sp - mov r1, r9 - bl sub_801AA08 - cmp r0, 0 - bne _0801AA9C - mov r3, r8 - cmp r3, 0x1 - beq _0801AAC4 - movs r0, 0 - b _0801AAC6 - .pool -_0801AA9C: - adds r1, r6, 0 - mov r0, sp - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r0] - str r0, [r1] - mov r1, r9 - mov r0, sp - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r0] - str r0, [r1] - ldr r0, [r6] - ldr r1, [r6, 0x4] - adds r0, r1 - ldr r1, [r6, 0x8] - adds r0, r1 - ldr r1, [r6, 0xC] - adds r0, r1 - str r0, [r6, 0xC] -_0801AAC4: - movs r0, 0x1 -_0801AAC6: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_801AA30 - - thumb_func_start sub_801AAD4 -sub_801AAD4: @ 801AAD4 - push {r4-r7,lr} - movs r0, 0xA - bl sub_8014210 - movs r4, 0 - movs r7, 0x64 - ldr r6, =gPlayerParty - ldr r5, =gEnemyParty -_0801AAE4: - ldr r0, =gSelectedOrderFromParty - adds r0, r4, r0 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r0, 0 - muls r1, r7 - adds r1, r6 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x64 - adds r4, 0x1 - cmp r4, 0x1 - ble _0801AAE4 - ldr r4, =gPlayerParty - movs r0, 0xFA - lsls r0, 1 - adds r5, r4, r0 -_0801AB0A: - adds r0, r4, 0 - bl ZeroMonData - adds r4, 0x64 - cmp r4, r5 - ble _0801AB0A - ldr r4, =gPlayerParty - movs r5, 0 - adds r6, r4, 0 - adds r6, 0x64 -_0801AB1E: - ldr r1, =gEnemyParty - adds r1, r5, r1 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy - adds r4, 0x64 - adds r5, 0x64 - cmp r4, r6 - ble _0801AB1E - movs r0, 0x32 - bl IncrementGameStat - bl CalculatePlayerPartyCount - ldr r0, =gTrainerBattleOpponent_A - movs r2, 0xC0 - lsls r2, 4 - adds r1, r2, 0 - strh r1, [r0] - ldr r0, =CB2_InitBattle - bl SetMainCallback2 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801AAD4 - - thumb_func_start sub_801AB68 -sub_801AB68: @ 801AB68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - ldr r4, [sp, 0x38] - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - mov r9, r0 - movs r1, 0x1 - mov r10, r1 - ldr r0, =gUnknown_082F0DE4 - mov r8, r0 - ldrb r0, [r0] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - str r3, [sp, 0x14] - bl FillWindowPixelBuffer - mov r1, r9 - str r1, [sp] - mov r0, r10 - str r0, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r7, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r6, 0 - ldr r3, [sp, 0x14] - bl AddTextPrinterParameterized4 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801AB68 - - thumb_func_start sub_801ABDC -sub_801ABDC: @ 801ABDC - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0801ABF4 - cmp r0, 0x1 - beq _0801AC22 - b _0801AC36 -_0801ABF4: - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD - bl DrawTextBorderOuter - str r5, [sp] - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_801AB68 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0801AC36 -_0801AC22: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0801AC36 - strh r0, [r4] - movs r0, 0x1 - b _0801AC38 -_0801AC36: - movs r0, 0 -_0801AC38: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801ABDC - - thumb_func_start sub_801AC40 -sub_801AC40: @ 801AC40 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_801AC40 - - thumb_func_start sub_801AC54 -sub_801AC54: @ 801AC54 - push {r4,lr} - sub sp, 0xC - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x33 - bls _0801AC6A - b _0801AFAE -_0801AC6A: - lsls r0, 2 - ldr r1, =_0801AC7C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801AC7C: - .4byte _0801AD4C - .4byte _0801ADFC - .4byte _0801AE24 - .4byte _0801AE48 - .4byte _0801AE98 - .4byte _0801AFAE - .4byte _0801AF7C - .4byte _0801AF58 - .4byte _0801AF7C - .4byte _0801AF98 - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AFAE - .4byte _0801AF24 - .4byte _0801AF40 -_0801AD4C: - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r4, =gUnknown_02022C6C - movs r0, 0x4 - bl AllocZeroed - str r0, [r4] - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_082F0DD0 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - bl reset_temp_tile_data_buffers - ldr r0, =gUnknown_082F0DD4 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - bne _0801AD8C - b _0801AFC2 -_0801AD8C: - bl DeactivateAllTextPrinters - movs r0, 0 - bl ClearWindowTilemap - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl LoadUserWindowBorderGfx - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl LoadUserWindowBorderGfx_ - bl sub_819789C - ldr r0, =sub_801AC40 - bl SetVBlankCallback - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0801AF8A - .pool -_0801ADFC: - ldr r0, =gUnknown_02022C6C - ldr r0, [r0] - ldr r1, =gText_CommStandbyAwaitingOtherPlayer - movs r2, 0 - bl sub_801ABDC - cmp r0, 0 - bne _0801AE0E - b _0801AFAE -_0801AE0E: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0801AF8A - .pool -_0801AE24: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0801AF8A - .pool -_0801AE48: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _0801AE54 - b _0801AFAE -_0801AE54: - ldr r4, =gBlockSendBuffer - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x20 - bl memset - ldr r0, =gSelectedOrderFromParty - ldrb r1, [r0] - ldrb r0, [r0, 0x1] - cmn r1, r0 - bne _0801AE78 - movs r0, 0x52 - b _0801AE7A - .pool -_0801AE78: - movs r0, 0x51 -_0801AE7A: - strb r0, [r4] - ldr r1, =gBlockSendBuffer - movs r0, 0 - movs r2, 0x20 - bl SendBlock - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0801AF8A - .pool -_0801AE98: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0801AEA6 - b _0801AFAE -_0801AEA6: - ldr r1, =gBlockRecvBuffer - ldrh r0, [r1] - cmp r0, 0x51 - bne _0801AEE0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0x51 - bne _0801AEE0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x32 - b _0801AF16 - .pool -_0801AEE0: - bl sub_800AC34 - ldr r4, =gBlockRecvBuffer - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 16 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0x52 - bne _0801AF0C - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x6 - b _0801AF16 - .pool -_0801AF0C: - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x8 -_0801AF16: - strb r1, [r0] - bl ResetBlockReceivedFlags - b _0801AFAE - .pool -_0801AF24: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0801AFAE - bl sub_800ADF8 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0801AF8A - .pool -_0801AF40: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0801AFAE - ldr r0, =sub_801AAD4 - bl SetMainCallback2 - b _0801AFAE - .pool -_0801AF58: - ldr r0, =gUnknown_02022C6C - ldr r0, [r0] - ldr r1, =gText_RefusedBattle - movs r2, 0x1 - bl sub_801ABDC - cmp r0, 0 - beq _0801AFAE - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - b _0801AFAE - .pool -_0801AF7C: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0801AFAE - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 -_0801AF8A: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0801AFAE - .pool -_0801AF98: - ldr r0, =gUnknown_02022C6C - ldr r0, [r0] - ldr r1, =gText_BattleWasRefused - movs r2, 0x1 - bl sub_801ABDC - cmp r0, 0 - beq _0801AFAE - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 -_0801AFAE: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade -_0801AFC2: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801AC54 diff --git a/data/union_room_battle.s b/data/union_room_battle.s deleted file mode 100755 index 65391a82e7..0000000000 --- a/data/union_room_battle.s +++ /dev/null @@ -1,17 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_082F0DD0:: @ 82F0DD0 - .4byte 0x000001FC - - .align 2 -gUnknown_082F0DD4:: @ 82F0DD4 - window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0014 - null_window_template - - .align 2 -gUnknown_082F0DE4:: @ 82F0DE4 - .byte 0x01, 0x02, 0x03 diff --git a/include/constants/game_stat.h b/include/constants/game_stat.h index 7ebf3501bd..e302f1345c 100644 --- a/include/constants/game_stat.h +++ b/include/constants/game_stat.h @@ -51,7 +51,7 @@ #define GAME_STAT_USED_DAYCARE 47 #define GAME_STAT_RODE_CABLE_CAR 48 #define GAME_STAT_ENTERED_HOT_SPRINGS 49 -#define GAME_STAT_50 50 +#define GAME_STAT_NUM_UNION_ROOM_BATTLES 50 #define GAME_STAT_51 51 #define NUM_USED_GAME_STATS 52 diff --git a/include/main.h b/include/main.h index 6c67fbe9fe..16ac31df2c 100644 --- a/include/main.h +++ b/include/main.h @@ -71,6 +71,6 @@ void RestoreSerialTimer3IntrHandlers(void); void StartTimer1(void); void SeedRngAndSetTrainerId(void); u16 GetGeneratedTrainerIdLower(void); - +void sub_819789C(void); #endif // GUARD_MAIN_H diff --git a/include/strings.h b/include/strings.h index 99c9ce73c2..8aa296eb13 100644 --- a/include/strings.h +++ b/include/strings.h @@ -2677,5 +2677,8 @@ extern const u8 gText_PeopleTrading[]; extern const u8 gText_PeopleBattling[]; extern const u8 gText_PeopleInUnionRoom[]; extern const u8 gText_PeopleCommunicating[]; +extern const u8 gText_CommStandbyAwaitingOtherPlayer[]; +extern const u8 gText_RefusedBattle[]; +extern const u8 gText_BattleWasRefused[]; #endif // GUARD_STRINGS_H diff --git a/include/union_room_battle.h b/include/union_room_battle.h index 1bc9d00158..2f50860085 100644 --- a/include/union_room_battle.h +++ b/include/union_room_battle.h @@ -2,5 +2,6 @@ #define GUARD_UNION_ROOM_BATTLE_H u8 sub_8013C40(void); +void sub_8014210(u16 battleFlags); #endif //GUARD_UNION_ROOM_BATTLE_H diff --git a/ld_script.txt b/ld_script.txt index 2b0d0dd897..619abfce1a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -58,7 +58,6 @@ SECTIONS { src/mystery_gift.o(.text); src/union_room_player_avatar.o(.text); src/union_room_battle.o(.text); - asm/union_room_battle.o(.text); src/mevent2.o(.text); src/mevent_801BAAC.o(.text); asm/mevent_server.o(.text); @@ -415,7 +414,6 @@ SECTIONS { src/mystery_gift.o(.rodata); src/union_room_player_avatar.o(.rodata); src/union_room_battle.o(.rodata); - data/union_room_battle.o(.rodata); src/mevent2.o(.rodata); src/mevent_801BAAC.o(.rodata); data/mevent_server.o(.rodata); diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index ec5cb238bc..ddd3f931e0 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -914,7 +914,7 @@ struct Story }; static const struct Story sStorytellerStories[] = { - {GAME_STAT_50, 1, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956}, + {GAME_STAT_NUM_UNION_ROOM_BATTLES, 1, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956}, {GAME_STAT_STARTED_TRENDS, 1, MauvilleCity_PokemonCenter_1F_Text_28E9D7, MauvilleCity_PokemonCenter_1F_Text_28E9EF, MauvilleCity_PokemonCenter_1F_Text_28E9FE}, {GAME_STAT_PLANTED_BERRIES, 1, MauvilleCity_PokemonCenter_1F_Text_28EA7D, MauvilleCity_PokemonCenter_1F_Text_28EA98, MauvilleCity_PokemonCenter_1F_Text_28EAA8}, {GAME_STAT_TRADED_BIKES, 1, MauvilleCity_PokemonCenter_1F_Text_28EB19, MauvilleCity_PokemonCenter_1F_Text_28EB31, MauvilleCity_PokemonCenter_1F_Text_28EB3E}, diff --git a/src/union_room.c b/src/union_room.c index 88ac65baa5..ea3658903b 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -2332,7 +2332,7 @@ void sub_8013F90(u8 taskId) if (GetBlockReceivedStatus() == 3) { gEnemyParty[0] = *(struct Pokemon*)(gBlockRecvBuffer[GetMultiplayerId() ^ 1]); - IncrementGameStat(GAME_STAT_50); + IncrementGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES); ResetBlockReceivedFlags(); gTasks[taskId].data[0]++; } diff --git a/src/union_room_battle.c b/src/union_room_battle.c index b571e803a3..9d9f9dcf33 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -9,6 +9,7 @@ #include "alloc.h" #include "menu.h" #include "window.h" +#include "text_window.h" #include "scanline_effect.h" #include "m4a.h" #include "dynamic_placeholder_text_util.h" @@ -18,6 +19,9 @@ #include "international_string_util.h" #include "sound.h" #include "constants/songs.h" +#include "party_menu.h" +#include "battle_setup.h" +#include "link.h" #include "union_room.h" #include "union_room_battle.h" @@ -31,13 +35,20 @@ struct UnkStruct_3000DAC /*0x62*/ u8 filler_62[10]; }; +struct UnkStruct_2022C6C +{ + s16 a0; +}; + IWRAM_DATA struct UnkStruct_3000DAC * gUnknown_03000DAC; IWRAM_DATA bool32 gUnknown_03000DB0; +EWRAM_DATA struct UnkStruct_2022C6C * gUnknown_02022C6C = NULL; + void sub_801A43C(void); void sub_801A6C0(u8 taskId); static void sub_801A8B0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 mode); -bool32 sub_801AA30(u32 * a0, u32 * a1, u32 * a2, u8 a3); +bool32 sub_801AA30(u32 * a0, u32 * a1, u32 * a2, u8 taskId); const u16 gWirelessInfoScreenPal[] = INCBIN_U16("graphics/interface/wireless_info_screen.gbapal"); const u32 gWirelessInfoScreenGfx[] = INCBIN_U32("graphics/interface/wireless_info_screen.4bpp.lz"); @@ -128,6 +139,29 @@ const u8 gUnknown_082F0D70[][3] = { {0x0e, 0x01, 0x02} }; +const struct BgTemplate gUnknown_082F0DD0[] = { + { + .bg = 0, + .charBaseIndex = 3, + .mapBaseIndex = 31 + } +}; + +const struct WindowTemplate gUnknown_082F0DD4[] = { + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 15, + .width = 24, + .height = 4, + .paletteNum = 0xE, + .baseBlock = 0x014 + }, + { 0xFF } +}; + +const u8 gUnknown_082F0DE4[] = { 1, 2, 3 }; + void sub_801A3F4(void) { if (!IsDma3ManagerBusyWithBgCopy()) @@ -333,12 +367,10 @@ static void sub_801A8B0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 m AddTextPrinterParameterized4(windowId, fontId, x, y, 0, 0, color, -1, str); } -#ifdef NONMATCHING -// register swap r2, r3 -u8 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1) +u32 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1) { s32 i, j, r2; - u8 result = a0->unk.field_0.unk_0a_0; + u32 result = a0->unk.field_0.unk_0a_0; for (i = 0; i < (unsigned)ARRAY_COUNT(gUnknown_082F0D70); i++) { @@ -370,97 +402,230 @@ u8 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1) } return result; } -#else -NAKED -u8 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1) + +bool32 sub_801AA08(u32 * a0, u32 * a1) { - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0x4\n" - "\tmov r12, r0\n" - "\tadds r7, r1, 0\n" - "\tldrb r0, [r0, 0xA]\n" - "\tlsls r0, 25\n" - "\tlsrs r0, 25\n" - "\tmov r8, r0\n" - "\tmovs r4, 0\n" - "\tldr r0, =gUnknown_082F0D70\n" - "\tmov r9, r0\n" - "\tmovs r1, 0x1\n" - "\tadd r1, r9\n" - "\tmov r10, r1\n" - "\tmov r3, r12\n" - "\tadds r3, 0x4\n" - "\tstr r3, [sp]\n" - "_0801A98A:\n" - "\tlsls r0, r4, 1\n" - "\tadds r2, r0, r4\n" - "\tmov r3, r9\n" - "\tadds r1, r2, r3\n" - "\tadds r5, r0, 0\n" - "\tadds r6, r4, 0x1\n" - "\tldrb r1, [r1]\n" - "\tcmp r8, r1\n" - "\tbne _0801A9EE\n" - "\tmov r0, r12\n" - "\tldrb r1, [r0, 0x1A]\n" - "\tmovs r0, 0x3\n" - "\tands r0, r1\n" - "\tcmp r0, 0x1\n" - "\tbne _0801A9EE\n" - "\tmov r0, r9\n" - "\tadds r0, 0x2\n" - "\tadds r3, r2, r0\n" - "\tldrb r0, [r3]\n" - "\tcmp r0, 0\n" - "\tbne _0801A9DC\n" - "\tmovs r2, 0\n" - "\tmovs r1, 0\n" - "\tldr r3, [sp]\n" - "_0801A9BA:\n" - "\tadds r0, r3, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _0801A9C4\n" - "\tadds r2, 0x1\n" - "_0801A9C4:\n" - "\tadds r1, 0x1\n" - "\tcmp r1, 0x3\n" - "\tble _0801A9BA\n" - "\tadds r2, 0x1\n" - "\tadds r0, r5, r4\n" - "\tadd r0, r10\n" - "\tldrb r1, [r0]\n" - "\tlsls r1, 2\n" - "\tadds r1, r7\n" - "\tb _0801A9E8\n" - "\t.pool\n" - "_0801A9DC:\n" - "\tmov r1, r10\n" - "\tadds r0, r2, r1\n" - "\tldrb r1, [r0]\n" - "\tlsls r1, 2\n" - "\tadds r1, r7\n" - "\tldrb r2, [r3]\n" - "_0801A9E8:\n" - "\tldr r0, [r1]\n" - "\tadds r0, r2\n" - "\tstr r0, [r1]\n" - "_0801A9EE:\n" - "\tadds r4, r6, 0\n" - "\tcmp r4, 0x1E\n" - "\tbls _0801A98A\n" - "\tmov r0, r8\n" - "\tadd sp, 0x4\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r1}\n" - "\tbx r1"); + s32 i; + for (i = 0; i < 4; i++) + { + if (a0[i] != a1[i]) + { + return TRUE; + } + } + return FALSE; +} + +bool32 sub_801AA30(u32 * a0, u32 * a1, u32 * a2, u8 taskId) +{ + bool32 r8 = FALSE; + u32 sp0[4] = {0, 0, 0, 0}; + struct UnkStruct_x20 ** data = (void *)gTasks[taskId].data; + s32 i; + + for (i = 0; i < 16; i++) + { + u32 r1 = sub_801A960(&(*data)[i], sp0); + if (r1 != a2[i]) + { + a2[i] = r1; + r8 = TRUE; + } + } + if (sub_801AA08(sp0, a1) == 0) + { + if (r8 != TRUE) + { + return FALSE; + } + } + else + { + memcpy(a0, sp0, sizeof(sp0)); + memcpy(a1, sp0, sizeof(sp0)); + a0[3] = a0[0] + a0[1] + a0[2] + a0[3]; + } + return TRUE; +} + +void sub_801AAD4(void) +{ + s32 i; + sub_8014210(10); + for (i = 0; i < 2; i++) + { + gEnemyParty[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; + } + for (i = 0; i < 6; i++) + { + ZeroMonData(&gPlayerParty[i]); + } + for (i = 0; i < 2; i++) + { + gPlayerParty[i] = gEnemyParty[i]; + } + IncrementGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES); + CalculatePlayerPartyCount(); + gTrainerBattleOpponent_A = 0xC00; + SetMainCallback2(CB2_InitBattle); +} + +void sub_801AB68(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed) +{ + s32 letterSpacing = 0; + s32 lineSpacing = 1; + FillWindowPixelBuffer(windowId, (gUnknown_082F0DE4[0] << 4) | gUnknown_082F0DE4[0]); + AddTextPrinterParameterized4(windowId, 1, x, y, letterSpacing, lineSpacing, gUnknown_082F0DE4, speed, str); +} + +bool32 sub_801ABDC(s16 * state, const u8 * str, s32 speed) +{ + switch (*state) + { + case 0: + DrawTextBorderOuter(0, 0x001, 0xD); + sub_801AB68(0, str, 0, 1, speed); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + (*state)++; + break; + case 1: + if (!IsTextPrinterActive(0)) + { + *state = 0; + return TRUE; + } + break; + } + return FALSE; +} + +void sub_801AC40(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_801AC54(void) +{ + switch (gMain.state) + { + case 0: + SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); + gUnknown_02022C6C = AllocZeroed(4); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_082F0DD0, 1); + reset_temp_tile_data_buffers(); + if (!InitWindows(gUnknown_082F0DD4)) + { + return; + } + DeactivateAllTextPrinters(); + ClearWindowTilemap(0); + FillWindowPixelBuffer(0, 0x00); + FillWindowPixelBuffer(0, 0x11); + FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); + LoadUserWindowBorderGfx(0, 1, 0xD0); + LoadUserWindowBorderGfx_(0, 1, 0xD0); + sub_819789C(); + SetVBlankCallback(sub_801AC40); + gMain.state++; + break; + case 1: + if (sub_801ABDC(&gUnknown_02022C6C->a0, gText_CommStandbyAwaitingOtherPlayer, 0)) + { + gMain.state++; + } + break; + case 2: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + ShowBg(0); + gMain.state++; + break; + case 3: + if (!UpdatePaletteFade()) + { + memset(gBlockSendBuffer, 0, 0x20); + if (gSelectedOrderFromParty[0] == -gSelectedOrderFromParty[1]) + { + gBlockSendBuffer[0] = 0x52; + } + else + { + gBlockSendBuffer[0] = 0x51; + } + SendBlock(0, gBlockSendBuffer, 0x20); + gMain.state++; + } + break; + case 4: + if (GetBlockReceivedStatus() == 3) + { + if (gBlockRecvBuffer[0][0] == 0x51 && gBlockRecvBuffer[1][0] == 0x51) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gMain.state = 50; + } + else + { + sub_800AC34(); + if (gBlockRecvBuffer[GetMultiplayerId()][0] == 0x52) + { + gMain.state = 6; + } + else + { + gMain.state = 8; + } + } + ResetBlockReceivedFlags(); + } + break; + case 50: + if (!UpdatePaletteFade()) + { + sub_800ADF8(); + gMain.state++; + } + break; + case 51: + if (IsLinkTaskFinished()) + { + SetMainCallback2(sub_801AAD4); + } + break; + case 6: + if (gReceivedRemoteLinkPlayers == 0) + { + gMain.state++; + } + break; + case 7: + if (sub_801ABDC(&gUnknown_02022C6C->a0, gText_RefusedBattle, 1)) + { + SetMainCallback2(CB2_ReturnToField); + } + break; + case 8: + if (gReceivedRemoteLinkPlayers == 0) + { + gMain.state++; + } + break; + case 9: + if (sub_801ABDC(&gUnknown_02022C6C->a0, gText_BattleWasRefused, 1)) + { + SetMainCallback2(CB2_ReturnToField); + } + break; + } + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); } -#endif //NONMATCHING diff --git a/sym_ewram.txt b/sym_ewram.txt index 8cb1568379..d029ad78f2 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -9,10 +9,7 @@ .include "src/union_room.o" .include "src/mystery_gift.o" .include "src/union_room_player_avatar.o" - -gUnknown_02022C6C: @ 2022C6C - .space 0x4 - + .include "src/union_room_battle.o" .include "src/mevent2.o" .include "src/mevent_801BAAC.o" From ca9f7fe3563b84504d499bdb291ca10d38cbf229 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 2 Apr 2019 00:59:01 -0400 Subject: [PATCH 19/84] Fix hardcoded array sizes --- src/pokenav_match_call.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call.c index b775ed10e3..0a21c4edcd 100644 --- a/src/pokenav_match_call.c +++ b/src/pokenav_match_call.c @@ -680,7 +680,7 @@ bool32 MatchCallFlagGetByIndex(u32 idx) match_call_t matchCall; u32 i; - if (idx > 20) + if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) return FALSE; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); @@ -727,7 +727,7 @@ u8 sub_81D16DC(u32 idx) match_call_t matchCall; u32 i; - if (idx > 20) + if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) return 0; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); @@ -771,7 +771,7 @@ bool32 MatchCall_IsRematchable(u32 idx) match_call_t matchCall; u32 i; - if (idx > 20) + if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) return 0; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); @@ -810,13 +810,13 @@ bool32 sub_81D17E8(u32 idx) match_call_t matchCall; u32 i; - if (idx > 20) + if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) return FALSE; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); if (gUnknown_08625338[i](matchCall)) return TRUE; - for (i = 0; i < 4; i++) + for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++) { if (sMatchCallCheckPageOverrides[i].idx == idx) return TRUE; @@ -854,7 +854,7 @@ u32 MatchCall_GetRematchTableIdx(u32 idx) match_call_t matchCall; u32 i; - if (idx > 20) + if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) return REMATCH_TABLE_ENTRIES; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); @@ -891,7 +891,7 @@ void MatchCall_GetMessage(u32 idx, u8 *dest) match_call_t matchCall; u32 i; - if (idx > 20) + if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) return; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); @@ -1093,7 +1093,7 @@ void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name) match_call_t matchCall; u32 i; - if (idx > 20) + if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) return; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); @@ -1146,11 +1146,11 @@ const u8 *sub_81D1B40(u32 idx, u32 offset) { u32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++) { if (sMatchCallCheckPageOverrides[i].idx == idx) { - for (; i + 1 < 4 && sMatchCallCheckPageOverrides[i + 1].idx == idx; i++) + for (; i + 1 < ARRAY_COUNT(sMatchCallCheckPageOverrides) && sMatchCallCheckPageOverrides[i + 1].idx == idx; i++) { if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].v4)) break; @@ -1244,7 +1244,7 @@ s32 sub_81D1BD0(u32 idx) { u32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++) { if (sMatchCallCheckPageOverrides[i].idx == idx) return sMatchCallCheckPageOverrides[i].v2; @@ -1256,7 +1256,7 @@ bool32 sub_81D1BF8(u32 idx) { s32 i; - for (i = 0; i < 21; i++) + for (i = 0; i < (s32)ARRAY_COUNT(sMatchCallHeaders); i++) { u32 r0 = MatchCall_GetRematchTableIdx(i); if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx) From 65d8b68f9db02252ae5e4ba8ee779218eb67f135 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 2 Apr 2019 01:10:20 -0400 Subject: [PATCH 20/84] Expicitly hardcode rematch indecies Inserting an entry without updating the indecies will now cause a compiler error. This will make it easier for modders to remember to update the constants. --- src/battle_setup.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/battle_setup.c b/src/battle_setup.c index 347486a0b0..cb7b63ebe8 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -296,7 +296,8 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = {{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b}, {{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc}, {{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e}, - {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b}, + // Wally's entry index is hardcoded. + [REMATCH_WALLY_ENTRY] = {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b}, {{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3}, {{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb}, {{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2}, @@ -305,7 +306,8 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = {{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4}, {{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6}, {{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7}, - {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8}, + + [REMATCH_ELITE_FOUR_ENTRIES] = {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8}, {{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8}, {{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8}, {{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8}, From 6916f09cd5cdb508e270bfba40f1bd165a16762f Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 2 Apr 2019 03:22:07 -0400 Subject: [PATCH 21/84] Expand MatchCallStruct defs, use REMATCH_* enum --- include/battle_setup.h | 5 +- include/constants/flags.h | 13 +- include/gym_leader_rematch.h | 2 + src/battle_setup.c | 162 ++++++++++++------------ src/pokenav_match_call.c | 236 ++++++++++++++++++++++++++++++----- 5 files changed, 298 insertions(+), 120 deletions(-) diff --git a/include/battle_setup.h b/include/battle_setup.h index 3b327e3f7a..e3faa5dcf2 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -1,10 +1,11 @@ #ifndef GUARD_BATTLE_SETUP_H #define GUARD_BATTLE_SETUP_H +#include "gym_leader_rematch.h" + #define REMATCHES_COUNT 5 #define REMATCH_TABLE_ENTRIES 78 -#define REMATCH_WALLY_ENTRY 64 -#define REMATCH_ELITE_FOUR_ENTRIES 73 +#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY struct RematchTrainer { diff --git a/include/constants/flags.h b/include/constants/flags.h index f28af3278d..0450e988dd 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -445,13 +445,14 @@ #define FLAG_REMATCH_NORMAN 0x1A2 #define FLAG_REMATCH_WINONA 0x1A3 #define FLAG_REMATCH_TATE_AND_LIZA 0x1A4 -#define FLAG_REMATCH_JUAN 0x1A5 -#define FLAG_REMATCH_SIDNEY 0x1A6 -#define FLAG_REMATCH_PHOEBE 0x1A7 -#define FLAG_REMATCH_GLACIA 0x1A8 -#define FLAG_REMATCH_DRAKE 0x1A9 -#define FLAG_REMATCH_WALLACE 0x1AA +// Note: FLAG_REMATCH_JUAN is handled by FLAG_ENABLE_JUAN_MATCH_CALL instead. +#define FLAG_REMATCH_SIDNEY 0x1A5 +#define FLAG_REMATCH_PHOEBE 0x1A6 +#define FLAG_REMATCH_GLACIA 0x1A7 +#define FLAG_REMATCH_DRAKE 0x1A8 +#define FLAG_REMATCH_WALLACE 0x1A9 +#define FLAG_UNUSED_0x1AA 0x1AA // Unused Flag #define FLAG_UNUSED_0x1AB 0x1AB // Unused Flag #define FLAG_DEFEATED_DEOXYS 0x1AC diff --git a/include/gym_leader_rematch.h b/include/gym_leader_rematch.h index ef0e5fef1e..ed1143db5d 100644 --- a/include/gym_leader_rematch.h +++ b/include/gym_leader_rematch.h @@ -75,6 +75,8 @@ enum { REMATCH_WINONA, REMATCH_TATE_AND_LIZA, REMATCH_JUAN, + + // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES. REMATCH_SIDNEY, REMATCH_PHOEBE, REMATCH_GLACIA, diff --git a/src/battle_setup.c b/src/battle_setup.c index cb7b63ebe8..7395c175b7 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -232,86 +232,84 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[] const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = { - {{TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5}, 0x0, 0x21}, - {{TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5}, 0x0, 0x14}, - {{TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5}, 0x0, 0x1a}, - {{TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5}, 0x0, 0x18}, - {{TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5}, 0x0, 0x18}, - {{TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5}, 0x0, 0x27}, - {{TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5}, 0x0, 0x24}, - {{TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5}, 0x0, 0x1a}, - {{TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5}, 0x0, 0x1a}, - {{TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5}, 0x18, 0x14}, - {{TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6}, 0x0, 0x13}, - {{TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5}, 0x18, 0x38}, - {{TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5}, 0x0, 0x24}, - {{TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5}, 0x0, 0x13}, - {{TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5}, 0x0, 0x1d}, - {{TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5}, 0x0, 0x16}, - {{TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5}, 0x0, 0x1e}, - {{TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5}, 0x0, 0x2a}, - {{TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5}, 0x0, 0x26}, - {{TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5}, 0x0, 0x21}, - {{TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5}, 0x0, 0x1d}, - {{TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5}, 0x18, 0xd}, - {{TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5}, 0x18, 0x1}, - {{TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5}, 0x0, 0x23}, - {{TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5}, 0x0, 0x26}, - {{TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5}, 0x0, 0x26}, - {{TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5}, 0x0, 0x24}, - {{TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5}, 0x0, 0x1f}, - {{TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5}, 0x0, 0x1f}, - {{TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5}, 0x0, 0x20}, - {{TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5}, 0x0, 0x19}, - {{TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5}, 0x0, 0x12}, - {{TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5}, 0x0, 0x1e}, - {{TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5}, 0x18, 0xc}, - {{TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5}, 0x0, 0x11}, - {{TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5}, 0x0, 0x15}, - {{TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5}, 0x0, 0x2b}, - {{TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5}, 0x0, 0x20}, - {{TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5}, 0x0, 0x19}, - {{TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5}, 0x0, 0x20}, - {{TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5}, 0x0, 0x2b}, - {{TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5}, 0x0, 0x19}, - {{TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5}, 0x0, 0x29}, - {{TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5}, 0x18, 0x1}, - {{TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5}, 0x0, 0x23}, - {{TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5}, 0x0, 0x1c}, - {{TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5}, 0x0, 0x1e}, - {{TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5}, 0x0, 0x1c}, - {{TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5}, 0x0, 0x27}, - {{TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5}, 0x18, 0xd}, - {{TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6}, 0x0, 0x12}, - {{TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5}, 0x0, 0x28}, - {{TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5}, 0x0, 0x17}, - {{TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5}, 0x0, 0x19}, - {{TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5}, 0x0, 0x20}, - {{TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5}, 0x0, 0x20}, - {{TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5}, 0x18, 0x11}, - {{TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5}, 0x0, 0x22}, - {{TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5}, 0x0, 0x22}, - {{TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5}, 0x0, 0x13}, - {{TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5}, 0x18, 0xb}, - {{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b}, - {{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc}, - {{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e}, - // Wally's entry index is hardcoded. - [REMATCH_WALLY_ENTRY] = {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b}, - {{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3}, - {{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb}, - {{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2}, - {{TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5}, 0x0, 0xc}, - {{TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5}, 0x0, 0x0}, - {{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4}, - {{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6}, - {{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7}, - - [REMATCH_ELITE_FOUR_ENTRIES] = {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8}, - {{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8}, - {{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8}, - {{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8}, - {{TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE}, 0x0, 0x8}, + [REMATCH_ROSE] = {{TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5}, 0x0, 0x21}, + [REMATCH_ANDRES] = {{TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5}, 0x0, 0x14}, + [REMATCH_DUSTY] = {{TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5}, 0x0, 0x1a}, + [REMATCH_LOLA] = {{TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5}, 0x0, 0x18}, + [REMATCH_RICKY] = {{TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5}, 0x0, 0x18}, + [REMATCH_LILA_AND_ROY] = {{TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5}, 0x0, 0x27}, + [REMATCH_CRISTIN] = {{TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5}, 0x0, 0x24}, + [REMATCH_BROOKE] = {{TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5}, 0x0, 0x1a}, + [REMATCH_WILTON] = {{TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5}, 0x0, 0x1a}, + [REMATCH_VALERIE] = {{TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5}, 0x18, 0x14}, + [REMATCH_CINDY] = {{TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6}, 0x0, 0x13}, + [REMATCH_THALIA] = {{TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5}, 0x18, 0x38}, + [REMATCH_JESSICA] = {{TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5}, 0x0, 0x24}, + [REMATCH_WINSTON] = {{TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5}, 0x0, 0x13}, + [REMATCH_STEVE] = {{TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5}, 0x0, 0x1d}, + [REMATCH_TONY] = {{TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5}, 0x0, 0x16}, + [REMATCH_NOB] = {{TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5}, 0x0, 0x1e}, + [REMATCH_KOJI] = {{TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5}, 0x0, 0x2a}, + [REMATCH_FERNANDO] = {{TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5}, 0x0, 0x26}, + [REMATCH_DALTON] = {{TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5}, 0x0, 0x21}, + [REMATCH_BERNIE] = {{TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5}, 0x0, 0x1d}, + [REMATCH_ETHAN] = {{TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5}, 0x18, 0xd}, + [REMATCH_JOHN_AND_JAY] = {{TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5}, 0x18, 0x1}, + [REMATCH_JEFFREY] = {{TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5}, 0x0, 0x23}, + [REMATCH_CAMERON] = {{TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5}, 0x0, 0x26}, + [REMATCH_JACKI] = {{TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5}, 0x0, 0x26}, + [REMATCH_WALTER] = {{TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5}, 0x0, 0x24}, + [REMATCH_KAREN] = {{TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5}, 0x0, 0x1f}, + [REMATCH_JERRY] = {{TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5}, 0x0, 0x1f}, + [REMATCH_ANNA_AND_MEG] = {{TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5}, 0x0, 0x20}, + [REMATCH_ISABEL] = {{TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5}, 0x0, 0x19}, + [REMATCH_MIGUEL] = {{TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5}, 0x0, 0x12}, + [REMATCH_TIMOTHY] = {{TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5}, 0x0, 0x1e}, + [REMATCH_SHELBY] = {{TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5}, 0x18, 0xc}, + [REMATCH_CALVIN] = {{TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5}, 0x0, 0x11}, + [REMATCH_ELLIOT] = {{TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5}, 0x0, 0x15}, + [REMATCH_ISAIAH] = {{TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5}, 0x0, 0x2b}, + [REMATCH_MARIA] = {{TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5}, 0x0, 0x20}, + [REMATCH_ABIGAIL] = {{TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5}, 0x0, 0x19}, + [REMATCH_DYLAN] = {{TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5}, 0x0, 0x20}, + [REMATCH_KATELYN] = {{TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5}, 0x0, 0x2b}, + [REMATCH_BENJAMIN] = {{TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5}, 0x0, 0x19}, + [REMATCH_PABLO] = {{TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5}, 0x0, 0x29}, + [REMATCH_NICOLAS] = {{TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5}, 0x18, 0x1}, + [REMATCH_ROBERT] = {{TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5}, 0x0, 0x23}, + [REMATCH_LAO] = {{TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5}, 0x0, 0x1c}, + [REMATCH_CYNDY] = {{TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5}, 0x0, 0x1e}, + [REMATCH_MADELINE] = {{TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5}, 0x0, 0x1c}, + [REMATCH_JENNY] = {{TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5}, 0x0, 0x27}, + [REMATCH_DIANA] = {{TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5}, 0x18, 0xd}, + [REMATCH_AMY_AND_LIV] = {{TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6}, 0x0, 0x12}, + [REMATCH_ERNEST] = {{TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5}, 0x0, 0x28}, + [REMATCH_CORY] = {{TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5}, 0x0, 0x17}, + [REMATCH_EDWIN] = {{TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5}, 0x0, 0x19}, + [REMATCH_LYDIA] = {{TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5}, 0x0, 0x20}, + [REMATCH_ISAAC] = {{TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5}, 0x0, 0x20}, + [REMATCH_GABRIELLE] = {{TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5}, 0x18, 0x11}, + [REMATCH_CATHERINE] = {{TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5}, 0x0, 0x22}, + [REMATCH_JACKSON] = {{TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5}, 0x0, 0x22}, + [REMATCH_HALEY] = {{TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5}, 0x0, 0x13}, + [REMATCH_JAMES] = {{TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5}, 0x18, 0xb}, + [REMATCH_TRENT] = {{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b}, + [REMATCH_SAWYER] = {{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc}, + [REMATCH_KIRA_AND_DAN] = {{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e}, + [REMATCH_WALLY_3] = {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b}, + [REMATCH_ROXANNE] = {{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3}, + [REMATCH_BRAWLY] = {{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb}, + [REMATCH_WATTSON] = {{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2}, + [REMATCH_FLANNERY] = {{TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5}, 0x0, 0xc}, + [REMATCH_NORMAN] = {{TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5}, 0x0, 0x0}, + [REMATCH_WINONA] = {{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4}, + [REMATCH_TATE_AND_LIZA] = {{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6}, + [REMATCH_JUAN] = {{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7}, + [REMATCH_SIDNEY] = {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8}, + [REMATCH_PHOEBE] = {{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8}, + [REMATCH_GLACIA] = {{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8}, + [REMATCH_DRAKE] = {{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8}, + [REMATCH_WALLACE] = {{TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE}, 0x0, 0x8}, }; static const u16 sBadgeFlags[8] = @@ -1547,7 +1545,7 @@ static bool32 sub_80B1D94(s32 rematchTableId) { if (rematchTableId >= REMATCH_ELITE_FOUR_ENTRIES) return TRUE; - else if (rematchTableId == REMATCH_WALLY_ENTRY) + else if (rematchTableId == REMATCH_WALLY_3) return (FlagGet(FLAG_DEFEATED_WALLY_VICTORY_ROAD) == FALSE); else return FALSE; @@ -1575,7 +1573,7 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u s32 i; bool32 ret = FALSE; - for (i = 0; i <= REMATCH_WALLY_ENTRY; i++) + for (i = 0; i <= REMATCH_WALLY_3; i++) { if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum && !sub_80B1D94(i)) { diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call.c index 0a21c4edcd..ce00401a9d 100644 --- a/src/pokenav_match_call.c +++ b/src/pokenav_match_call.c @@ -73,22 +73,17 @@ struct MatchCallStruct4 { const match_call_text_data_t *textData; }; +// Note: Type1 and Type5 have identical struct layouts. struct MatchCallStruct5 { u8 type; u8 v1; u16 flag; - u16 v4; + u16 rematchTableIdx; const u8 *desc; const u8 *name; const match_call_text_data_t *textData; }; -#define MATCHCALLDEF(name, type_, ...) \ -static const struct MatchCallStruct##type_ name = { \ - .type = type_, \ - __VA_ARGS__ \ -}; - typedef union { const struct MatchCallStructCommon *common; const struct MatchCallStruct0 *type0; @@ -328,7 +323,15 @@ static const match_call_text_data_t sMrStoneTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sMrStoneMatchCallHeader, 0, 10, 0xffff, gMrStoneMatchCallDesc, gMrStoneMatchCallName, sMrStoneTextScripts); +static const struct MatchCallStruct0 sMrStoneMatchCallHeader = +{ + .type = 0, + .v1 = 10, + .flag = 0xFFFF, + .desc = gMrStoneMatchCallDesc, + .name = gMrStoneMatchCallName, + .textData = sMrStoneTextScripts +}; static const match_call_text_data_t sNormanTextScripts[] = { { gText_Norman_Pokenav_2B5719, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF }, @@ -343,9 +346,25 @@ static const match_call_text_data_t sNormanTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sNormanMatchCallHeader, 5, 7, FLAG_ENABLE_NORMAN_MATCH_CALL, 0x45, gNormanMatchCallDesc, gNormanMatchCallName, sNormanTextScripts); +static const struct MatchCallStruct5 sNormanMatchCallHeader = +{ + .type = 5, + .v1 = 7, + .flag = FLAG_ENABLE_NORMAN_MATCH_CALL, + .rematchTableIdx = REMATCH_NORMAN, + .desc = gNormanMatchCallDesc, + .name = gNormanMatchCallName, + .textData = sNormanTextScripts +}; -MATCHCALLDEF(sProfBirchMatchCallHeader, 3, 0, FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, gProfBirchMatchCallDesc, gProfBirchMatchCallName) +static const struct MatchCallStruct3 sProfBirchMatchCallHeader = +{ + .type = 3, + .v1 = 0, + .flag = FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, + .desc = gProfBirchMatchCallDesc, + .name = gProfBirchMatchCallName +}; static const match_call_text_data_t sMomTextScripts[] = { { gText_Mom_Pokenav_2B227B, 0xffff, 0xffff }, @@ -354,7 +373,15 @@ static const match_call_text_data_t sMomTextScripts[] = { { NULL, 0xffff, 0xffff } }; -MATCHCALLDEF(sMomMatchCallHeader, 0, 0, FLAG_ENABLE_MOM_MATCH_CALL, gMomMatchCallDesc, gMomMatchCallName, sMomTextScripts); +static const struct MatchCallStruct0 sMomMatchCallHeader = +{ + .type = 0, + .v1 = 0, + .flag = FLAG_ENABLE_MOM_MATCH_CALL, + .desc = gMomMatchCallDesc, + .name = gMomMatchCallName, + .textData = sMomTextScripts +}; static const match_call_text_data_t sStevenTextScripts[] = { { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff }, @@ -367,7 +394,15 @@ static const match_call_text_data_t sStevenTextScripts[] = { { NULL, 0xffff, 0xffff }, }; -MATCHCALLDEF(sStevenMatchCallHeader, 0, 0xd5, FLAG_REGISTERED_STEVEN_POKENAV, gStevenMatchCallDesc, gStevenMatchCallName, sStevenTextScripts); +static const struct MatchCallStruct0 sStevenMatchCallHeader = +{ + .type = 0, + .v1 = 0xD5, + .flag = FLAG_REGISTERED_STEVEN_POKENAV, + .desc = gStevenMatchCallDesc, + .name = gStevenMatchCallName, + .textData = sStevenTextScripts +}; static const match_call_text_data_t sMayTextScripts[] = { { gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF }, @@ -388,7 +423,15 @@ static const match_call_text_data_t sMayTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sMayMatchCallHeader, 4, MALE, FLAG_ENABLE_RIVAL_MATCH_CALL, gMayBrendanMatchCallDesc, gExpandedPlaceholder_May, sMayTextScripts); +static const struct MatchCallStruct4 sMayMatchCallHeader = +{ + .type = 4, + .gender = MALE, + .flag = FLAG_ENABLE_RIVAL_MATCH_CALL, + .desc = gMayBrendanMatchCallDesc, + .name = gExpandedPlaceholder_May, + .textData = sMayTextScripts +}; static const match_call_text_data_t sBrendanTextScripts[] = { { gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF }, @@ -409,7 +452,15 @@ static const match_call_text_data_t sBrendanTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sBrendanMatchCallHeader, 4, FEMALE, FLAG_ENABLE_RIVAL_MATCH_CALL, gMayBrendanMatchCallDesc, gExpandedPlaceholder_Brendan, sBrendanTextScripts); +static const struct MatchCallStruct4 sBrendanMatchCallHeader = +{ + .type = 4, + .gender = FEMALE, + .flag = FLAG_ENABLE_RIVAL_MATCH_CALL, + .desc = gMayBrendanMatchCallDesc, + .name = gExpandedPlaceholder_Brendan, + .textData = sBrendanTextScripts +}; static const match_call_text_data_t sWallyTextScripts[] = { { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF }, @@ -429,7 +480,16 @@ const struct MatchCallSubstruct2 sWallyAdditionalData[] = { { 0xFFFF, 0xD5 } }; -MATCHCALLDEF(sWallyMatchCallHeader, 2, 0, FLAG_ENABLE_WALLY_MATCH_CALL, REMATCH_WALLY_3, gWallyMatchCallDesc, sWallyTextScripts, sWallyAdditionalData); +static const struct MatchCallStruct2 sWallyMatchCallHeader = +{ + .type = 2, + .v1 = 0, + .flag = FLAG_ENABLE_WALLY_MATCH_CALL, + .rematchTableIdx = REMATCH_WALLY_3, + .desc = gWallyMatchCallDesc, + .textData = sWallyTextScripts, + .v10 = sWallyAdditionalData +}; static const match_call_text_data_t sScottTextScripts[] = { { gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF }, @@ -443,7 +503,15 @@ static const match_call_text_data_t sScottTextScripts[] = { }; -MATCHCALLDEF(sScottMatchCallHeader, 0, 0xD5, FLAG_ENABLE_SCOTT_MATCH_CALL, gScottMatchCallDesc, gScottMatchCallName, sScottTextScripts); +static const struct MatchCallStruct0 sScottMatchCallHeader = +{ + .type = 0, + .v1 = 0xD5, + .flag = FLAG_ENABLE_SCOTT_MATCH_CALL, + .desc = gScottMatchCallDesc, + .name = gScottMatchCallName, + .textData = sScottTextScripts +}; static const match_call_text_data_t sRoxanneTextScripts[] = { { gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF }, @@ -453,7 +521,16 @@ static const match_call_text_data_t sRoxanneTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sRoxanneMatchCallHeader, 5, 10, FLAG_ENABLE_ROXANNE_MATCH_CALL, 0x41, gRoxanneMatchCallDesc, NULL, sRoxanneTextScripts); +static const struct MatchCallStruct5 sRoxanneMatchCallHeader = +{ + .type = 5, + .v1 = 10, + .flag = FLAG_ENABLE_ROXANNE_MATCH_CALL, + .rematchTableIdx = REMATCH_ROXANNE, + .desc = gRoxanneMatchCallDesc, + .name = NULL, + .textData = sRoxanneTextScripts +}; static const match_call_text_data_t sBrawlyTextScripts[] = { { gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF }, @@ -463,7 +540,16 @@ static const match_call_text_data_t sBrawlyTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sBrawlyMatchCallHeader, 5, 2, FLAG_ENABLE_BRAWLY_MATCH_CALL, 0x42, gBrawlyMatchCallDesc, NULL, sBrawlyTextScripts); +static const struct MatchCallStruct5 sBrawlyMatchCallHeader = +{ + .type = 5, + .v1 = 2, + .flag = FLAG_ENABLE_BRAWLY_MATCH_CALL, + .rematchTableIdx = REMATCH_BRAWLY, + .desc = gBrawlyMatchCallDesc, + .name = NULL, + .textData = sBrawlyTextScripts +}; static const match_call_text_data_t sWattsonTextScripts[] = { { gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF }, @@ -473,7 +559,16 @@ static const match_call_text_data_t sWattsonTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sWattsonMatchCallHeader, 5, 9, FLAG_ENABLE_WATTSON_MATCH_CALL, 0x43, gWattsonMatchCallDesc, NULL, sWattsonTextScripts); +static const struct MatchCallStruct5 sWattsonMatchCallHeader = +{ + .type = 5, + .v1 = 9, + .flag = FLAG_ENABLE_WATTSON_MATCH_CALL, + .rematchTableIdx = REMATCH_WATTSON, + .desc = gWattsonMatchCallDesc, + .name = NULL, + .textData = sWattsonTextScripts +}; static const match_call_text_data_t sFlanneryTextScripts[] = { { gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF }, @@ -483,7 +578,16 @@ static const match_call_text_data_t sFlanneryTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sFlanneryMatchCallHeader, 5, 3, FLAG_ENABLE_FLANNERY_MATCH_CALL, 0x44, gFlanneryMatchCallDesc, NULL, sFlanneryTextScripts); +static const struct MatchCallStruct5 sFlanneryMatchCallHeader = +{ + .type = 5, + .v1 = 3, + .flag = FLAG_ENABLE_FLANNERY_MATCH_CALL, + .rematchTableIdx = REMATCH_FLANNERY, + .desc = gFlanneryMatchCallDesc, + .name = NULL, + .textData = sFlanneryTextScripts +}; static const match_call_text_data_t sWinonaTextScripts[] = { { gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF }, @@ -493,7 +597,16 @@ static const match_call_text_data_t sWinonaTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sWinonaMatchCallHeader, 5, 11, FLAG_ENABLE_WINONA_MATCH_CALL, 0x46, gWinonaMatchCallDesc, NULL, sWinonaTextScripts); +static const struct MatchCallStruct5 sWinonaMatchCallHeader = +{ + .type = 5, + .v1 = 11, + .flag = FLAG_ENABLE_WINONA_MATCH_CALL, + .rematchTableIdx = REMATCH_WINONA, + .desc = gWinonaMatchCallDesc, + .name = NULL, + .textData = sWinonaTextScripts +}; static const match_call_text_data_t sTateLizaTextScripts[] = { { gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF }, @@ -503,7 +616,16 @@ static const match_call_text_data_t sTateLizaTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sTateLizaMatchCallHeader, 5, 13, FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL, 0x47, gTateLizaMatchCallDesc, NULL, sTateLizaTextScripts); +static const struct MatchCallStruct5 sTateLizaMatchCallHeader = +{ + .type = 5, + .v1 = 13, + .flag = FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL, + .rematchTableIdx = REMATCH_TATE_AND_LIZA, + .desc = gTateLizaMatchCallDesc, + .name = NULL, + .textData = sTateLizaTextScripts +}; static const match_call_text_data_t sJuanTextScripts[] = { { gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF }, @@ -513,42 +635,96 @@ static const match_call_text_data_t sJuanTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sJuanMatchCallHeader, 5, 14, FLAG_ENABLE_JUAN_MATCH_CALL, 0x48, gJuanMatchCallDesc, NULL, sJuanTextScripts); +static const struct MatchCallStruct5 sJuanMatchCallHeader = +{ + .type = 5, + .v1 = 14, + .flag = FLAG_ENABLE_JUAN_MATCH_CALL, + .rematchTableIdx = REMATCH_JUAN, + .desc = gJuanMatchCallDesc, + .name = NULL, + .textData = sJuanTextScripts +}; static const match_call_text_data_t sSidneyTextScripts[] = { { gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF }, { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sSidneyMatchCallHeader, 5, 15, FLAG_REMATCH_JUAN, 0x49, gEliteFourMatchCallDesc, NULL, sSidneyTextScripts); +static const struct MatchCallStruct5 sSidneyMatchCallHeader = +{ + .type = 5, + .v1 = 15, + .flag = FLAG_REMATCH_SIDNEY, + .rematchTableIdx = REMATCH_SIDNEY, + .desc = gEliteFourMatchCallDesc, + .name = NULL, + .textData = sSidneyTextScripts +}; static const match_call_text_data_t sPhoebeTextScripts[] = { { gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF }, { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sPhoebeMatchCallHeader, 5, 15, FLAG_REMATCH_SIDNEY, 0x4A, gEliteFourMatchCallDesc, NULL, sPhoebeTextScripts); +static const struct MatchCallStruct5 sPhoebeMatchCallHeader = +{ + .type = 5, + .v1 = 15, + .flag = FLAG_REMATCH_PHOEBE, + .rematchTableIdx = REMATCH_PHOEBE, + .desc = gEliteFourMatchCallDesc, + .name = NULL, + .textData = sPhoebeTextScripts +}; static const match_call_text_data_t sGlaciaTextScripts[] = { { gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF }, { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sGlaciaMatchCallHeader, 5, 15, FLAG_REMATCH_PHOEBE, 0x4B, gEliteFourMatchCallDesc, NULL, sGlaciaTextScripts); +static const struct MatchCallStruct5 sGlaciaMatchCallHeader = +{ + .type = 5, + .v1 = 15, + .flag = FLAG_REMATCH_GLACIA, + .rematchTableIdx = REMATCH_GLACIA, + .desc = gEliteFourMatchCallDesc, + .name = NULL, + .textData = sGlaciaTextScripts +}; static const match_call_text_data_t sDrakeTextScripts[] = { { gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF }, { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sDrakeMatchCallHeader, 5, 15, FLAG_REMATCH_GLACIA, 0x4C, gEliteFourMatchCallDesc, NULL, sDrakeTextScripts); +static const struct MatchCallStruct5 sDrakeMatchCallHeader = +{ + .type = 5, + .v1 = 15, + .flag = FLAG_REMATCH_DRAKE, + .rematchTableIdx = REMATCH_DRAKE, + .desc = gEliteFourMatchCallDesc, + .name = NULL, + .textData = sDrakeTextScripts +}; static const match_call_text_data_t sWallaceTextScripts[] = { { gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF }, { NULL, 0xFFFF, 0xFFFF } }; -MATCHCALLDEF(sWallaceMatchCallHeader, 5, 15, FLAG_REMATCH_DRAKE, 0x4D, gChampionMatchCallDesc, NULL, sWallaceTextScripts); +static const struct MatchCallStruct5 sWallaceMatchCallHeader = +{ + .type = 5, + .v1 = 15, + .flag = FLAG_REMATCH_WALLACE, + .rematchTableIdx = REMATCH_WALLACE, + .desc = gChampionMatchCallDesc, + .name = NULL, + .textData = sWallaceTextScripts +}; static const match_call_t sMatchCallHeaders[] = { {.type0 = &sMrStoneMatchCallHeader}, @@ -906,9 +1082,9 @@ static void MatchCall_GetMessage_Type0(match_call_t matchCall, u8 *dest) static void MatchCall_GetMessage_Type1(match_call_t matchCall, u8 *dest) { if (matchCall.common->type != 5) - sub_81D1920(matchCall.type5->textData, dest); + sub_81D1920(matchCall.type1->textData, dest); else - sub_81D199C(matchCall.type1->textData, matchCall.type1->rematchTableIdx, dest); + sub_81D199C(matchCall.type5->textData, matchCall.type5->rematchTableIdx, dest); } static void MatchCall_GetMessage_Type2(match_call_t matchCall, u8 *dest) From 9f44ebc5cd2b3088469f188c355db4fe905d299a Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 2 Apr 2019 03:27:05 -0400 Subject: [PATCH 22/84] Automatically calculate REMATCH_TABLE_ENTRIES Uses the standard C way of calculating the length of an enum. --- include/battle_setup.h | 1 - include/gym_leader_rematch.h | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/battle_setup.h b/include/battle_setup.h index e3faa5dcf2..984c820bbb 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -4,7 +4,6 @@ #include "gym_leader_rematch.h" #define REMATCHES_COUNT 5 -#define REMATCH_TABLE_ENTRIES 78 #define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY struct RematchTrainer diff --git a/include/gym_leader_rematch.h b/include/gym_leader_rematch.h index ed1143db5d..778d7a1e81 100644 --- a/include/gym_leader_rematch.h +++ b/include/gym_leader_rematch.h @@ -81,7 +81,11 @@ enum { REMATCH_PHOEBE, REMATCH_GLACIA, REMATCH_DRAKE, - REMATCH_WALLACE + REMATCH_WALLACE, + + // The total number of rematch entries. This must be the last element + // in the enum. + REMATCH_TABLE_ENTRIES }; void UpdateGymLeaderRematch(void); From 1aa95a1821cd4ebe552a39bbfed067a305071e31 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 2 Apr 2019 08:36:22 +0200 Subject: [PATCH 23/84] Document a bit of anims --- asm/macros/battle_anim_script.inc | 14 +++---- data/battle_anim_scripts.s | 70 +++++++++++++++---------------- src/battle_anim_effects_1.c | 16 +++---- src/battle_anim_effects_2.c | 4 +- src/bug.c | 19 ++++++--- src/dark.c | 44 +++++++++++-------- 6 files changed, 91 insertions(+), 76 deletions(-) diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index 6ccd8d505a..32d9de82c2 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -153,19 +153,19 @@ .byte \param4 .endm - .macro loopsewithpan se:req, param1:req, param2:req, param3:req + .macro loopsewithpan se:req, pan:req, wait:req, times:req .byte 0x1c .2byte \se - .byte \param1 - .byte \param2 - .byte \param3 + .byte \pan + .byte \wait + .byte \times .endm - .macro waitplaysewithpan se:req, param1:req, param2:req + .macro waitplaysewithpan se:req, pan:req, wait:req .byte 0x1d .2byte \se - .byte \param1 - .byte \param2 + .byte \pan + .byte \wait .endm .macro setbldcnt param0:req diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index e7a7e89b6c..5a19061d0e 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1515,7 +1515,7 @@ Move_VINE_WHIP: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 delay 6 playsewithpan SE_W010, SOUND_PAN_TARGET - createsprite gUnknown_085928E8, ANIM_TARGET, 2, 0, 0 + createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 0, 0 delay 6 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1 end @@ -1656,12 +1656,12 @@ Explosion1: Move_DEFENSE_CURL: loadspritegfx ANIM_TAG_ECLIPSING_ORB loopsewithpan SE_W161, SOUND_PAN_ATTACKER, 18, 3 - createvisualtask sub_811489C, 5, 0, 0 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 0 createvisualtask sub_815B338, 5 waitforvisualfinish createsprite gUnknown_085CE338, ANIM_ATTACKER, 2, 0, 6, 0, 1 waitforvisualfinish - createvisualtask sub_811489C, 5, 0, 1 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1 waitforvisualfinish end @@ -2003,7 +2003,7 @@ Move_ATTRACT: createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31 waitforvisualfinish waitplaysewithpan SE_W213B, 0, 15 - createvisualtask sub_81062E8, 5 + createvisualtask AnimTask_HeartsBackground, 5 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 16, 256, 0 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 224, 240, 15 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 126, 272, 30 @@ -2012,7 +2012,7 @@ Move_ATTRACT: createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 40, 256, 75 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 112, 256, 90 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 200, 272, 90 - delay 0x4B + delay 75 createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27) end @@ -3220,13 +3220,13 @@ EndureEffect: Move_CHARM: loadspritegfx ANIM_TAG_MAGENTA_HEART createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER delay 15 - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER delay 15 - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER waitforvisualfinish end @@ -4358,7 +4358,7 @@ Move_AERIAL_ACE: Move_IRON_DEFENSE: loopsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask sub_81144F8, 5, 0, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0 waitforvisualfinish end @@ -4393,13 +4393,13 @@ Move_COVET: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER delay 15 - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER delay 15 - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 @@ -4570,7 +4570,7 @@ Move_SHOCK_WAVE: Move_HARDEN: loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask sub_81144F8, 5, 0, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 waitforvisualfinish end @@ -7213,7 +7213,7 @@ Move_STEEL_WING: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask sub_81144F8, 5, 0, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 waitforvisualfinish monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET @@ -7239,7 +7239,7 @@ Move_STEEL_WING: Move_IRON_TAIL: loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask sub_81144F8, 5, 1, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 1, 0, 0 waitforvisualfinish monbg ANIM_TARGET setalpha 12, 8 @@ -7249,7 +7249,7 @@ Move_IRON_TAIL: createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask sub_811489C, 5, 0, 1 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1 clearmonbg ANIM_TARGET blendoff waitforvisualfinish @@ -7259,7 +7259,7 @@ Move_POISON_TAIL: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_POISON_BUBBLE loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask sub_81144F8, 5, 1, 1, RGB(24, 6, 23) + createvisualtask AnimTask_MetallicShine, 5, 1, 1, RGB(24, 6, 23) waitforvisualfinish monbg ANIM_TARGET setalpha 12, 8 @@ -7269,7 +7269,7 @@ Move_POISON_TAIL: createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask sub_811489C, 5, 0, 1 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1 clearmonbg ANIM_TARGET blendoff call PoisonBubblesEffect @@ -7279,7 +7279,7 @@ Move_POISON_TAIL: Move_METAL_CLAW: loadspritegfx ANIM_TAG_CLAW_SLASH loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask sub_81144F8, 5, 0, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 waitforvisualfinish createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 delay 2 @@ -7459,7 +7459,7 @@ Move_STRING_SHOT: end StringShot1: - createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 1 + createsprite gWebThreadSpriteTemplate, ANIM_TARGET, 2, 20, 0, 512, 20, 1 delay 1 return @@ -7488,7 +7488,7 @@ Move_SPIDER_WEB: call SpiderWeb1 waitforvisualfinish playsewithpan SE_W081B, SOUND_PAN_TARGET - createsprite gUnknown_08596A2C, ANIM_ATTACKER, 2 + createsprite gSpiderWebSpriteTemplate, ANIM_ATTACKER, 2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER delay 1 @@ -7496,7 +7496,7 @@ Move_SPIDER_WEB: end SpiderWeb1: - createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 0 + createsprite gWebThreadSpriteTemplate, ANIM_TARGET, 2, 20, 0, 512, 20, 0 delay 1 return @@ -7941,16 +7941,16 @@ Move_PERISH_SONG: panse_1B SE_W195, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 delay 80 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_BLACK - createvisualtask sub_811489C, 5, 4, 0 - createvisualtask sub_811489C, 5, 5, 0 - createvisualtask sub_811489C, 5, 6, 0 - createvisualtask sub_811489C, 5, 7, 0 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 4, 0 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 5, 0 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 6, 0 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 7, 0 delay 100 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_BLACK - createvisualtask sub_811489C, 5, 4, 1 - createvisualtask sub_811489C, 5, 5, 1 - createvisualtask sub_811489C, 5, 6, 1 - createvisualtask sub_811489C, 5, 7, 1 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 4, 1 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 5, 1 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 6, 1 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 7, 1 waitforvisualfinish end @@ -9570,7 +9570,7 @@ Move_DOOM_DESIRE: createvisualtask sub_8114960, 2 delay 1 monbg ANIM_ATK_PARTNER - createvisualtask sub_811489C, 5, 1, 0 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_TARGET, 0 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB_BLACK waitforvisualfinish setalpha 8, 8 @@ -9578,7 +9578,7 @@ Move_DOOM_DESIRE: createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1 waitforvisualfinish delay 20 - createvisualtask sub_811489C, 5, 1, 1 + createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_TARGET, 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 4, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_ATK_PARTNER @@ -10237,13 +10237,13 @@ Burn1: Status_Infatuation: loadspritegfx ANIM_TAG_MAGENTA_HEART playsewithpan SE_W204, SOUND_PAN_ATTACKER - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20 delay 15 playsewithpan SE_W204, SOUND_PAN_ATTACKER - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20 delay 15 playsewithpan SE_W204, SOUND_PAN_ATTACKER - createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20 + createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20 end Status_Sleep: diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index f14e502f33..af4bc19ec0 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -1093,7 +1093,7 @@ const struct SpriteTemplate gUnknown_085928D0 = .callback = sub_8100A50, }; -const struct SpriteTemplate gUnknown_085928E8 = +const struct SpriteTemplate gVineWhipSpriteTemplate = { .tileTag = ANIM_TAG_WHIP_HIT, .paletteTag = ANIM_TAG_WHIP_HIT, @@ -2336,7 +2336,7 @@ void AnimHyperBeamOrb(struct Sprite* sprite) { u16 speed; u16 animNum = Random2(); - + StartSpriteAnim(sprite, animNum % 8); sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -2660,7 +2660,7 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite) s16 a = sprite->data[0]; s16 b = sprite->data[7]; s16 r0; - + sprite->data[0] = 1; TranslateAnimHorizontalArc(sprite); r0 = sprite->data[7]; @@ -2675,7 +2675,7 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite) if (sprite->oam.affineParam == 30) destroy = TRUE; } - + if (sprite->pos1.x + sprite->pos2.x > 256 || sprite->pos1.x + sprite->pos2.x < -16 || sprite->pos1.y + sprite->pos2.y > 160 @@ -3748,7 +3748,7 @@ void sub_81009F8(struct Sprite* sprite) void sub_8100A50(struct Sprite* sprite) { - if (GetBattlerSide(gBattleAnimAttacker) == 0) + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) StartSpriteAnim(sprite, 1); sprite->callback = sub_81009DC; @@ -3770,7 +3770,7 @@ void sub_8100A94(struct Sprite* sprite) } // Moves the sprite in a diagonally slashing motion across the target mon. -// Used by moves such as MOVE_CUT and MOVE_AERIAL_ACE. +// Used by moves such as MOVE_CUT and MOVE_AERIAL_ACE. // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: slice direction; 0 = right-to-left, 1 = left-to-right @@ -5350,10 +5350,10 @@ static void sub_8102DE4(struct Sprite* sprite) void sub_8102EB0(struct Sprite* sprite) { - int a; + int a; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) { - a = gBattleAnimArgs[1]; + a = gBattleAnimArgs[1]; (u16)gBattleAnimArgs[1] = -a; } diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 80b3258b45..e3295acb87 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -889,7 +889,7 @@ const struct SpriteTemplate gUnknown_08593958 = .callback = sub_8105DE8, }; -const struct SpriteTemplate gUnknown_08593970 = +const struct SpriteTemplate gMagentaHeartSpriteTemplate = { .tileTag = ANIM_TAG_MAGENTA_HEART, .paletteTag = ANIM_TAG_MAGENTA_HEART, @@ -3286,7 +3286,7 @@ static void sub_810627C(struct Sprite *sprite) } } -void sub_81062E8(u8 taskId) +void AnimTask_HeartsBackground(u8 taskId) { struct BattleAnimBgData animBg; diff --git a/src/bug.c b/src/bug.c index 88f93a3d57..4fa6a5bb66 100644 --- a/src/bug.c +++ b/src/bug.c @@ -6,7 +6,7 @@ void sub_8110368(struct Sprite *); void sub_8110438(struct Sprite *); -void sub_81104E4(struct Sprite *); +void AnimTranslateWebThread(struct Sprite *); void sub_81105B4(struct Sprite *); void sub_811067C(struct Sprite *); void AnimTranslateStinger(struct Sprite *); @@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_085969C8 = .callback = sub_8110438, }; -const struct SpriteTemplate gUnknown_085969E0 = +const struct SpriteTemplate gWebThreadSpriteTemplate = { .tileTag = ANIM_TAG_WEB_THREAD, .paletteTag = ANIM_TAG_WEB_THREAD, @@ -98,7 +98,7 @@ const struct SpriteTemplate gUnknown_085969E0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81104E4, + .callback = AnimTranslateWebThread, }; const struct SpriteTemplate gUnknown_085969F8 = @@ -124,7 +124,7 @@ const union AffineAnimCmd *const gUnknown_08596A28[] = gUnknown_08596A10, }; -const struct SpriteTemplate gUnknown_08596A2C = +const struct SpriteTemplate gSpiderWebSpriteTemplate = { .tileTag = ANIM_TAG_SPIDER_WEB, .paletteTag = ANIM_TAG_SPIDER_WEB, @@ -247,12 +247,19 @@ void sub_8110438(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_81104E4(struct Sprite *sprite) +// Creates a single web thread that travels from attacker to target. +// Used by MOVE_STRING_SHOT and MOVE_SPIDER_WEB in their first move phase. +// arg 0: x +// arg 1: y +// arg 2: controls the left-to-right movement +// arg 3: amplitude +// arg 4: if targets both opponents +void AnimTranslateWebThread(struct Sprite *sprite) { if (IsContest()) gBattleAnimArgs[2] /= 2; - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; diff --git a/src/dark.c b/src/dark.c index 80ce618008..482c09c04b 100644 --- a/src/dark.c +++ b/src/dark.c @@ -803,17 +803,23 @@ void sub_81144BC(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_81144F8(u8 taskId) +// Makes the attacker metallic and shining. +// Used by MOVE_HARDEN and MOVE_IRON_DEFENSE. +// arg0: if true won't change battler's palette back +// arg1: if true, use custom color +// arg2: custom color +// Custom color argument is used in MOVE_POISON_TAIL to make the mon turn purplish/pinkish as if became cloaked in poison. +void AnimTask_MetallicShine(u8 taskId) { u16 species; u8 spriteId; u8 newSpriteId; u16 paletteNum; struct BattleAnimBgData animBg; - int var0 = 0; + bool32 priorityChanged = FALSE; - gBattle_WIN0H = var0; - gBattle_WIN0V = var0; + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); @@ -832,7 +838,7 @@ void sub_81144F8(u8 taskId) { gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority--; SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); - var0 = 1; + priorityChanged = TRUE; } } } @@ -861,7 +867,7 @@ void sub_81144F8(u8 taskId) gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32; paletteNum = 16 + gSprites[spriteId].oam.paletteNum; - if (gBattleAnimArgs[1] == 0) + if (gBattleAnimArgs[1] == 0) SetGreyscaleOrOriginalPalette(paletteNum, FALSE); else BlendPalette(paletteNum * 16, 16, 11, gBattleAnimArgs[2]); @@ -870,7 +876,7 @@ void sub_81144F8(u8 taskId) gTasks[taskId].data[1] = gBattleAnimArgs[0]; gTasks[taskId].data[2] = gBattleAnimArgs[1]; gTasks[taskId].data[3] = gBattleAnimArgs[2]; - gTasks[taskId].data[6] = var0; + gTasks[taskId].data[6] = priorityChanged; gTasks[taskId].func = sub_8114748; } @@ -879,29 +885,28 @@ static void sub_8114748(u8 taskId) struct BattleAnimBgData animBg; u16 paletteNum; u8 spriteId; - u8 taskIdCopy = taskId; - gTasks[taskIdCopy].data[10] += 4; + gTasks[taskId].data[10] += 4; gBattle_BG1_X -= 4; - if (gTasks[taskIdCopy].data[10] == 128) + if (gTasks[taskId].data[10] == 128) { - gTasks[taskIdCopy].data[10] = 0; + gTasks[taskId].data[10] = 0; gBattle_BG1_X += 128; - gTasks[taskIdCopy].data[11]++; - if (gTasks[taskIdCopy].data[11] == 2) + gTasks[taskId].data[11]++; + if (gTasks[taskId].data[11] == 2) { spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); paletteNum = 16 + gSprites[spriteId].oam.paletteNum; - if (gTasks[taskIdCopy].data[1] == 0) + if (gTasks[taskId].data[1] == 0) SetGreyscaleOrOriginalPalette(paletteNum, 1); - DestroySprite(&gSprites[gTasks[taskIdCopy].data[0]]); + DestroySprite(&gSprites[gTasks[taskId].data[0]]); sub_80A6B30(&animBg); sub_80A6C68(animBg.bgId); - if (gTasks[taskIdCopy].data[6] == 1) + if (gTasks[taskId].data[6] == 1) gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++; } - else if (gTasks[taskIdCopy].data[11] == 3) + else if (gTasks[taskId].data[11] == 3) { gBattle_WIN0H = 0; gBattle_WIN0V = 0; @@ -918,7 +923,10 @@ static void sub_8114748(u8 taskId) } } -void sub_811489C(u8 taskId) +// Changes battler's palette to either greyscale or original. +// arg0: which battler +// arg1: 0 grayscale, 1 original +void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId) { u8 spriteId; u8 battler; From 201c0953ae4f6c6b65958065f009cbaee3c8f3ee Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 1 Apr 2019 18:31:10 -0400 Subject: [PATCH 24/84] Cleanup OamData entries --- src/battle_anim.c | 362 +++++++++++++++++++++++++++++++++++++ src/battle_main.c | 22 +-- src/cable_car.c | 34 +++- src/contest.c | 39 ++-- src/contest_painting.c | 5 +- src/decoration.c | 13 +- src/field_effect.c | 41 ++++- src/field_weather_effect.c | 29 ++- src/link_rfu.c | 14 +- src/naming_screen.c | 29 ++- src/pokedex_cry_screen.c | 8 +- src/pokemon_icon.c | 11 +- 12 files changed, 511 insertions(+), 96 deletions(-) mode change 100755 => 100644 src/cable_car.c mode change 100755 => 100644 src/pokedex_cry_screen.c diff --git a/src/battle_anim.c b/src/battle_anim.c index 31ff11ee8e..88de3ee881 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -117,651 +117,1011 @@ EWRAM_DATA u8 gUnknown_02038440 = 0; const struct OamData gUnknown_08524904 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), + .x = 0, .size = SPRITE_SIZE(8x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852490C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), + .x = 0, .size = SPRITE_SIZE(16x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524914 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), + .x = 0, .size = SPRITE_SIZE(32x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852491C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), + .x = 0, .size = SPRITE_SIZE(64x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524924 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), + .x = 0, .size = SPRITE_SIZE(16x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852492C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), + .x = 0, .size = SPRITE_SIZE(32x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524934 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), + .x = 0, .size = SPRITE_SIZE(32x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852493C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), + .x = 0, .size = SPRITE_SIZE(64x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524944 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), + .x = 0, .size = SPRITE_SIZE(8x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852494C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x32), + .x = 0, .size = SPRITE_SIZE(8x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524954 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), + .x = 0, .size = SPRITE_SIZE(16x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852495C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), + .x = 0, .size = SPRITE_SIZE(32x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524964 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), + .x = 0, .size = SPRITE_SIZE(8x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852496C = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), + .x = 0, .size = SPRITE_SIZE(16x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524974 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), + .x = 0, .size = SPRITE_SIZE(32x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852497C = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), + .x = 0, .size = SPRITE_SIZE(64x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524984 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), + .x = 0, .size = SPRITE_SIZE(16x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852498C = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), + .x = 0, .size = SPRITE_SIZE(32x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524994 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), + .x = 0, .size = SPRITE_SIZE(32x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_0852499C = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), + .x = 0, .size = SPRITE_SIZE(64x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249A4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), + .x = 0, .size = SPRITE_SIZE(8x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249AC = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x32), + .x = 0, .size = SPRITE_SIZE(8x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249B4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), + .x = 0, .size = SPRITE_SIZE(16x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249BC = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), + .x = 0, .size = SPRITE_SIZE(32x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249C4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), + .x = 0, .size = SPRITE_SIZE(8x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249CC = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), + .x = 0, .size = SPRITE_SIZE(16x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249D4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), + .x = 0, .size = SPRITE_SIZE(32x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249DC = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), + .x = 0, .size = SPRITE_SIZE(64x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249E4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), + .x = 0, .size = SPRITE_SIZE(16x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249EC = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), + .x = 0, .size = SPRITE_SIZE(32x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249F4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), + .x = 0, .size = SPRITE_SIZE(32x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_085249FC = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), + .x = 0, .size = SPRITE_SIZE(64x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A04 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), + .x = 0, .size = SPRITE_SIZE(8x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A0C = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x32), + .x = 0, .size = SPRITE_SIZE(8x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A14 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), + .x = 0, .size = SPRITE_SIZE(16x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A1C = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), + .x = 0, .size = SPRITE_SIZE(32x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A24 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), + .x = 0, .size = SPRITE_SIZE(8x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A2C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), + .x = 0, .size = SPRITE_SIZE(16x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A34 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), + .x = 0, .size = SPRITE_SIZE(32x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A3C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), + .x = 0, .size = SPRITE_SIZE(64x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A44 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), + .x = 0, .size = SPRITE_SIZE(16x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A4C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), + .x = 0, .size = SPRITE_SIZE(32x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A54 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), + .x = 0, .size = SPRITE_SIZE(32x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A5C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), + .x = 0, .size = SPRITE_SIZE(64x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A64 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), + .x = 0, .size = SPRITE_SIZE(8x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A6C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x32), + .x = 0, .size = SPRITE_SIZE(8x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A74 = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), + .x = 0, .size = SPRITE_SIZE(16x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A7C = { + .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), + .x = 0, .size = SPRITE_SIZE(32x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A84 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), + .x = 0, .size = SPRITE_SIZE(8x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A8C = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), + .x = 0, .size = SPRITE_SIZE(16x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A94 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), + .x = 0, .size = SPRITE_SIZE(32x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524A9C = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), + .x = 0, .size = SPRITE_SIZE(64x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AA4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), + .x = 0, .size = SPRITE_SIZE(16x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AAC = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), + .x = 0, .size = SPRITE_SIZE(32x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AB4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), + .x = 0, .size = SPRITE_SIZE(32x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524ABC = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), + .x = 0, .size = SPRITE_SIZE(64x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AC4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), + .x = 0, .size = SPRITE_SIZE(8x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524ACC = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x32), + .x = 0, .size = SPRITE_SIZE(8x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AD4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), + .x = 0, .size = SPRITE_SIZE(16x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524ADC = { + .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), + .x = 0, .size = SPRITE_SIZE(32x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AE4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), + .x = 0, .size = SPRITE_SIZE(8x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AEC = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), + .x = 0, .size = SPRITE_SIZE(16x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AF4 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), + .x = 0, .size = SPRITE_SIZE(32x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524AFC = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), + .x = 0, .size = SPRITE_SIZE(64x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524B04 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), + .x = 0, .size = SPRITE_SIZE(16x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524B0C = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), + .x = 0, .size = SPRITE_SIZE(32x8), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524B14 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), + .x = 0, .size = SPRITE_SIZE(32x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524B1C = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), + .x = 0, .size = SPRITE_SIZE(64x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524B24 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), + .x = 0, .size = SPRITE_SIZE(8x16), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524B2C = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x32), + .x = 0, .size = SPRITE_SIZE(8x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524B34 = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), + .x = 0, .size = SPRITE_SIZE(16x32), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct OamData gUnknown_08524B3C = { + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), + .x = 0, .size = SPRITE_SIZE(32x64), + .tileNum = 0, .priority = 2, + .paletteNum = 0, }; const struct CompressedSpriteSheet gBattleAnimPicTable[] = @@ -3088,3 +3448,5 @@ static void ScriptCmd_stopsound(void) m4aMPlayStop(&gMPlayInfo_SE2); sBattleAnimScriptPtr++; } + + diff --git a/src/battle_main.c b/src/battle_main.c index 19fd01e3c9..92f12636d2 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -293,35 +293,31 @@ static const u8 sText_ShedinjaJpnName[] = _("ヌケニン"); // Nukenin const struct OamData gOamData_831ACA8 = { .y = 0, - .affineMode = 1, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, - .affineParam = 0 + .affineParam = 0, }; const struct OamData gOamData_831ACB0 = { .y = 0, - .affineMode = 1, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 2, - .affineParam = 0 + .affineParam = 0, }; // Unknown and unused data. Feel free to remove. @@ -5891,3 +5887,5 @@ static void HandleAction_ActionFinished(void) gBattleScripting.multihitMoveEffect = 0; gBattleResources->battleScriptsStack->size = 0; } + + diff --git a/src/cable_car.c b/src/cable_car.c old mode 100755 new mode 100644 index ab7b5726a1..4e6980c4e6 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -151,25 +151,46 @@ const struct SpritePalette gUnknown_085CDB74[] = { { } }; -const struct OamData gOamData_85CDB84 = { +const struct OamData gOamData_85CDB84 = +{ + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), + .x = 0, .size = SPRITE_SIZE(64x64), - .priority = 2 + .tileNum = 0, + .priority = 2, + .paletteNum = 0, }; -const struct OamData gOamData_85CDB8C = { +const struct OamData gOamData_85CDB8C = +{ + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), + .x = 0, .size = SPRITE_SIZE(16x8), - .priority = 2 + .tileNum = 0, + .priority = 2, + .paletteNum = 0, }; -const struct OamData gOamData_85CDB94 = { +const struct OamData gOamData_85CDB94 = +{ + .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), + .x = 0, .size = SPRITE_SIZE(16x16), - .priority = 2 + .tileNum = 0, + .priority = 2, + .paletteNum = 0, }; const struct SpriteTemplate gSpriteTemplate_85CDB9C[] = @@ -1007,3 +1028,4 @@ static void sub_81514C8(u8 arg0) sCableCar->unk1C = 0; } + diff --git a/src/contest.c b/src/contest.c index 0591668ff2..02d7038cfa 100644 --- a/src/contest.c +++ b/src/contest.c @@ -445,18 +445,15 @@ const struct CompressedSpriteSheet gUnknown_08587B88 = const struct OamData gOamData_8587B90 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, - .affineParam = 0 }; const struct SpriteTemplate gSpriteTemplate_8587B98 = @@ -486,18 +483,15 @@ const struct SpritePalette gUnknown_08587BB8 = const struct OamData gOamData_8587BC0 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 0, .paletteNum = 0, - .affineParam = 0 }; const struct SpriteTemplate gSpriteTemplate_8587BC8 = @@ -514,18 +508,15 @@ const struct SpriteTemplate gSpriteTemplate_8587BC8 = const struct OamData gOamData_8587BE0 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 3, .paletteNum = 2, - .affineParam = 0 }; const struct SpriteTemplate gSpriteTemplate_8587BE8 = @@ -768,18 +759,16 @@ static const struct SpritePalette sUnknown_08589924[] = const struct OamData gOamData_8589944 = { .y = 0, - .affineMode = 3, - .objMode = 1, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, - .affineParam = 0 + .affineParam = 0, }; const union AffineAnimCmd gSpriteAffineAnim_858994C[] = @@ -5762,3 +5751,5 @@ void sub_80DFA08(struct ContestPokemon *mon, s32 language) name[PLAYER_NAME_LENGTH] = EOS; } } + + diff --git a/src/contest_painting.c b/src/contest_painting.c index 29f3c871d6..87598f2bdd 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -152,16 +152,14 @@ const struct OamData gUnknown_085B0830 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 1, + .mosaic = TRUE, .bpp = ST_OAM_8BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, - .affineParam = 0, }; const u16 gUnknown_085B0838[] = {RGB(0, 0, 0), RGB(0, 0, 0)}; @@ -705,3 +703,4 @@ static void sub_8130884(u8 arg0, u8 arg1) sub_8130688(arg0); sub_8130430(arg0, arg1); } + diff --git a/src/decoration.c b/src/decoration.c index 3c8809c6a1..4baa6d4c8e 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -391,10 +391,18 @@ const struct SpritePalette gUnknown_085A73E0 = { Unknown_085A7328, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG }; -const struct OamData Unknown_085A73E8 = { +const struct OamData Unknown_085A73E8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), + .x = 0, .size = SPRITE_SIZE(16x16), - .priority = 1 + .tileNum = 0, + .priority = 1, + .paletteNum = 0, }; const union AnimCmd Unknown_085A73F0[] = { @@ -2740,3 +2748,4 @@ void sub_812A478(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_DecorationThrownAway); DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C); } + diff --git a/src/field_effect.c b/src/field_effect.c index 825efc3803..93d7e5ef82 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -284,20 +284,44 @@ bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) = const struct OamData gNewGameBirchOamAttributes = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), - .size = SPRITE_SIZE(64x64) + .x = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, }; const struct OamData gOamData_855C218 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), - .size = SPRITE_SIZE(8x8) + .x = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, }; const struct OamData gOamData_855C220 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), - .size = SPRITE_SIZE(16x16) + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, }; const struct SpriteFrameImage gNewGameBirchPicTable[] = @@ -347,8 +371,16 @@ const struct SpritePalette gFieldEffectObjectPaletteInfo5 = const struct OamData gOamData_855C26C = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), - .size = SPRITE_SIZE(32x16) + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, }; const struct SpriteFrameImage gSpriteImageTable_855C274[] = @@ -3759,3 +3791,4 @@ static void Fldeff_MoveDeoxysRock_Step(u8 taskId) break; } } + diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 6ec83f1a0d..1468f7ca05 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -1513,18 +1513,15 @@ void LoadAshSpriteSheet(void) const struct OamData gOamData_839ABB8 = { .y = 0, - .affineMode = 0, - .objMode = 1, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 15, - .affineParam = 0, }; const union AnimCmd gSpriteAnim_839ABC0[] = @@ -1750,18 +1747,15 @@ void CreateFog2Sprites(void) const struct OamData gOamData_839ABF0 = { .y = 0, - .affineMode = 0, - .objMode = 1, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, - .affineParam = 0, }; const union AnimCmd gSpriteAnim_839ABF8[] = @@ -1949,18 +1943,15 @@ void sub_80800E4(void) const struct OamData gOamData_839AC1C = { .y = 0, - .affineMode = 0, - .objMode = 1, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, - .affineParam = 0, }; const union AnimCmd gSpriteAnim_839AC24[] = @@ -2470,3 +2461,5 @@ static void UpdateRainCounter(u8 newWeather, u8 oldWeather) && (newWeather == WEATHER_RAIN_LIGHT || newWeather == WEATHER_RAIN_MED)) IncrementGameStat(GAME_STAT_GOT_RAINED_ON); } + + diff --git a/src/link_rfu.c b/src/link_rfu.c index a430f6e240..1e4c9c7e63 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -154,9 +154,18 @@ const u8 sWireless_RSEtoASCIITable[] = { 0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00 }; -const struct OamData sWirelessStatusIndicatorOamData = { +const struct OamData sWirelessStatusIndicatorOamData = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), - .size = SPRITE_SIZE(16x16) + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, }; static const union AnimCmd sWirelessStatusIndicatorAnim0[] = { // 3 bars @@ -5182,3 +5191,4 @@ u32 GetRfuRecvQueueLength(void) { return gUnknown_03005000.unk_124.unk_8c2; } + diff --git a/src/naming_screen.c b/src/naming_screen.c index 75b7c85661..3b8ba037c3 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1906,52 +1906,43 @@ static const struct NamingScreenTemplate *const sNamingScreenTemplates[] = const struct OamData gOamData_858BFEC = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 0, .paletteNum = 0, - .affineParam = 0, }; const struct OamData gOamData_858BFF4 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, - .affineParam = 0, }; const struct OamData gOamData_858BFFC = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 0, .paletteNum = 0, - .affineParam = 0, }; static const struct Subsprite gUnknown_0858C004[] = @@ -2203,3 +2194,5 @@ static const struct SpritePalette gUnknown_0858C230[] = {gNamingScreenMenu_Pal + 0x40, 0x0007}, {NULL} }; + + diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c old mode 100755 new mode 100644 index 8ca0c8d6e7..487db6d58f --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -169,9 +169,14 @@ const struct OamData gOamData_85B8C60 = { .y = 160, .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), + .x = 0, .size = SPRITE_SIZE(64x64), - .priority = 1 + .tileNum = 0, + .priority = 1, + .paletteNum = 0, }; const struct SpriteTemplate gUnknown_085B8C68 = @@ -521,3 +526,4 @@ static void sub_8145B24(s8 a0) sCryVolumeMeter->unk1 = r2; sCryVolumeMeter->unk2 = 5; } + diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 4ff182a0ec..a5d3f89619 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -927,18 +927,15 @@ const struct SpritePalette gMonIconPaletteTable[] = const struct OamData sMonIconOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, - .matrixNum = 0, .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, - .affineParam = 0 }; // fastest to slowest @@ -1311,3 +1308,5 @@ void sub_80D32C8(struct Sprite *sprite, u8 animNum) sprite->animDelayCounter = 0; sprite->animCmdIndex = 0; } + + From 02e2b1af97dc46824faa3b3b6a28dc2483c1b41d Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 2 Apr 2019 20:57:09 +0200 Subject: [PATCH 25/84] Use species defines in gMonIconTable --- src/pokemon_icon.c | 886 ++++++++++++++++++++++----------------------- 1 file changed, 442 insertions(+), 444 deletions(-) diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index a5d3f89619..6a135875ee 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -25,446 +25,446 @@ static u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8); const u8 *const gMonIconTable[] = { - gMonIcon_Bulbasaur, - gMonIcon_Bulbasaur, - gMonIcon_Ivysaur, - gMonIcon_Venusaur, - gMonIcon_Charmander, - gMonIcon_Charmeleon, - gMonIcon_Charizard, - gMonIcon_Squirtle, - gMonIcon_Wartortle, - gMonIcon_Blastoise, - gMonIcon_Caterpie, - gMonIcon_Metapod, - gMonIcon_Butterfree, - gMonIcon_Weedle, - gMonIcon_Kakuna, - gMonIcon_Beedrill, - gMonIcon_Pidgey, - gMonIcon_Pidgeotto, - gMonIcon_Pidgeot, - gMonIcon_Rattata, - gMonIcon_Raticate, - gMonIcon_Spearow, - gMonIcon_Fearow, - gMonIcon_Ekans, - gMonIcon_Arbok, - gMonIcon_Pikachu, - gMonIcon_Raichu, - gMonIcon_Sandshrew, - gMonIcon_Sandslash, - gMonIcon_NidoranF, - gMonIcon_Nidorina, - gMonIcon_Nidoqueen, - gMonIcon_NidoranM, - gMonIcon_Nidorino, - gMonIcon_Nidoking, - gMonIcon_Clefairy, - gMonIcon_Clefable, - gMonIcon_Vulpix, - gMonIcon_Ninetales, - gMonIcon_Jigglypuff, - gMonIcon_Wigglytuff, - gMonIcon_Zubat, - gMonIcon_Golbat, - gMonIcon_Oddish, - gMonIcon_Gloom, - gMonIcon_Vileplume, - gMonIcon_Paras, - gMonIcon_Parasect, - gMonIcon_Venonat, - gMonIcon_Venomoth, - gMonIcon_Diglett, - gMonIcon_Dugtrio, - gMonIcon_Meowth, - gMonIcon_Persian, - gMonIcon_Psyduck, - gMonIcon_Golduck, - gMonIcon_Mankey, - gMonIcon_Primeape, - gMonIcon_Growlithe, - gMonIcon_Arcanine, - gMonIcon_Poliwag, - gMonIcon_Poliwhirl, - gMonIcon_Poliwrath, - gMonIcon_Abra, - gMonIcon_Kadabra, - gMonIcon_Alakazam, - gMonIcon_Machop, - gMonIcon_Machoke, - gMonIcon_Machamp, - gMonIcon_Bellsprout, - gMonIcon_Weepinbell, - gMonIcon_Victreebel, - gMonIcon_Tentacool, - gMonIcon_Tentacruel, - gMonIcon_Geodude, - gMonIcon_Graveler, - gMonIcon_Golem, - gMonIcon_Ponyta, - gMonIcon_Rapidash, - gMonIcon_Slowpoke, - gMonIcon_Slowbro, - gMonIcon_Magnemite, - gMonIcon_Magneton, - gMonIcon_Farfetchd, - gMonIcon_Doduo, - gMonIcon_Dodrio, - gMonIcon_Seel, - gMonIcon_Dewgong, - gMonIcon_Grimer, - gMonIcon_Muk, - gMonIcon_Shellder, - gMonIcon_Cloyster, - gMonIcon_Gastly, - gMonIcon_Haunter, - gMonIcon_Gengar, - gMonIcon_Onix, - gMonIcon_Drowzee, - gMonIcon_Hypno, - gMonIcon_Krabby, - gMonIcon_Kingler, - gMonIcon_Voltorb, - gMonIcon_Electrode, - gMonIcon_Exeggcute, - gMonIcon_Exeggutor, - gMonIcon_Cubone, - gMonIcon_Marowak, - gMonIcon_Hitmonlee, - gMonIcon_Hitmonchan, - gMonIcon_Lickitung, - gMonIcon_Koffing, - gMonIcon_Weezing, - gMonIcon_Rhyhorn, - gMonIcon_Rhydon, - gMonIcon_Chansey, - gMonIcon_Tangela, - gMonIcon_Kangaskhan, - gMonIcon_Horsea, - gMonIcon_Seadra, - gMonIcon_Goldeen, - gMonIcon_Seaking, - gMonIcon_Staryu, - gMonIcon_Starmie, - gMonIcon_Mrmime, - gMonIcon_Scyther, - gMonIcon_Jynx, - gMonIcon_Electabuzz, - gMonIcon_Magmar, - gMonIcon_Pinsir, - gMonIcon_Tauros, - gMonIcon_Magikarp, - gMonIcon_Gyarados, - gMonIcon_Lapras, - gMonIcon_Ditto, - gMonIcon_Eevee, - gMonIcon_Vaporeon, - gMonIcon_Jolteon, - gMonIcon_Flareon, - gMonIcon_Porygon, - gMonIcon_Omanyte, - gMonIcon_Omastar, - gMonIcon_Kabuto, - gMonIcon_Kabutops, - gMonIcon_Aerodactyl, - gMonIcon_Snorlax, - gMonIcon_Articuno, - gMonIcon_Zapdos, - gMonIcon_Moltres, - gMonIcon_Dratini, - gMonIcon_Dragonair, - gMonIcon_Dragonite, - gMonIcon_Mewtwo, - gMonIcon_Mew, - gMonIcon_Chikorita, - gMonIcon_Bayleef, - gMonIcon_Meganium, - gMonIcon_Cyndaquil, - gMonIcon_Quilava, - gMonIcon_Typhlosion, - gMonIcon_Totodile, - gMonIcon_Croconaw, - gMonIcon_Feraligatr, - gMonIcon_Sentret, - gMonIcon_Furret, - gMonIcon_Hoothoot, - gMonIcon_Noctowl, - gMonIcon_Ledyba, - gMonIcon_Ledian, - gMonIcon_Spinarak, - gMonIcon_Ariados, - gMonIcon_Crobat, - gMonIcon_Chinchou, - gMonIcon_Lanturn, - gMonIcon_Pichu, - gMonIcon_Cleffa, - gMonIcon_Igglybuff, - gMonIcon_Togepi, - gMonIcon_Togetic, - gMonIcon_Natu, - gMonIcon_Xatu, - gMonIcon_Mareep, - gMonIcon_Flaaffy, - gMonIcon_Ampharos, - gMonIcon_Bellossom, - gMonIcon_Marill, - gMonIcon_Azumarill, - gMonIcon_Sudowoodo, - gMonIcon_Politoed, - gMonIcon_Hoppip, - gMonIcon_Skiploom, - gMonIcon_Jumpluff, - gMonIcon_Aipom, - gMonIcon_Sunkern, - gMonIcon_Sunflora, - gMonIcon_Yanma, - gMonIcon_Wooper, - gMonIcon_Quagsire, - gMonIcon_Espeon, - gMonIcon_Umbreon, - gMonIcon_Murkrow, - gMonIcon_Slowking, - gMonIcon_Misdreavus, - gMonIcon_UnownA, - gMonIcon_Wobbuffet, - gMonIcon_Girafarig, - gMonIcon_Pineco, - gMonIcon_Forretress, - gMonIcon_Dunsparce, - gMonIcon_Gligar, - gMonIcon_Steelix, - gMonIcon_Snubbull, - gMonIcon_Granbull, - gMonIcon_Qwilfish, - gMonIcon_Scizor, - gMonIcon_Shuckle, - gMonIcon_Heracross, - gMonIcon_Sneasel, - gMonIcon_Teddiursa, - gMonIcon_Ursaring, - gMonIcon_Slugma, - gMonIcon_Magcargo, - gMonIcon_Swinub, - gMonIcon_Piloswine, - gMonIcon_Corsola, - gMonIcon_Remoraid, - gMonIcon_Octillery, - gMonIcon_Delibird, - gMonIcon_Mantine, - gMonIcon_Skarmory, - gMonIcon_Houndour, - gMonIcon_Houndoom, - gMonIcon_Kingdra, - gMonIcon_Phanpy, - gMonIcon_Donphan, - gMonIcon_Porygon2, - gMonIcon_Stantler, - gMonIcon_Smeargle, - gMonIcon_Tyrogue, - gMonIcon_Hitmontop, - gMonIcon_Smoochum, - gMonIcon_Elekid, - gMonIcon_Magby, - gMonIcon_Miltank, - gMonIcon_Blissey, - gMonIcon_Raikou, - gMonIcon_Entei, - gMonIcon_Suicune, - gMonIcon_Larvitar, - gMonIcon_Pupitar, - gMonIcon_Tyranitar, - gMonIcon_Lugia, - gMonIcon_HoOh, - gMonIcon_Celebi, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_QuestionMark, - gMonIcon_Treecko, - gMonIcon_Grovyle, - gMonIcon_Sceptile, - gMonIcon_Torchic, - gMonIcon_Combusken, - gMonIcon_Blaziken, - gMonIcon_Mudkip, - gMonIcon_Marshtomp, - gMonIcon_Swampert, - gMonIcon_Poochyena, - gMonIcon_Mightyena, - gMonIcon_Zigzagoon, - gMonIcon_Linoone, - gMonIcon_Wurmple, - gMonIcon_Silcoon, - gMonIcon_Beautifly, - gMonIcon_Cascoon, - gMonIcon_Dustox, - gMonIcon_Lotad, - gMonIcon_Lombre, - gMonIcon_Ludicolo, - gMonIcon_Seedot, - gMonIcon_Nuzleaf, - gMonIcon_Shiftry, - gMonIcon_Nincada, - gMonIcon_Ninjask, - gMonIcon_Shedinja, - gMonIcon_Taillow, - gMonIcon_Swellow, - gMonIcon_Shroomish, - gMonIcon_Breloom, - gMonIcon_Spinda, - gMonIcon_Wingull, - gMonIcon_Pelipper, - gMonIcon_Surskit, - gMonIcon_Masquerain, - gMonIcon_Wailmer, - gMonIcon_Wailord, - gMonIcon_Skitty, - gMonIcon_Delcatty, - gMonIcon_Kecleon, - gMonIcon_Baltoy, - gMonIcon_Claydol, - gMonIcon_Nosepass, - gMonIcon_Torkoal, - gMonIcon_Sableye, - gMonIcon_Barboach, - gMonIcon_Whiscash, - gMonIcon_Luvdisc, - gMonIcon_Corphish, - gMonIcon_Crawdaunt, - gMonIcon_Feebas, - gMonIcon_Milotic, - gMonIcon_Carvanha, - gMonIcon_Sharpedo, - gMonIcon_Trapinch, - gMonIcon_Vibrava, - gMonIcon_Flygon, - gMonIcon_Makuhita, - gMonIcon_Hariyama, - gMonIcon_Electrike, - gMonIcon_Manectric, - gMonIcon_Numel, - gMonIcon_Camerupt, - gMonIcon_Spheal, - gMonIcon_Sealeo, - gMonIcon_Walrein, - gMonIcon_Cacnea, - gMonIcon_Cacturne, - gMonIcon_Snorunt, - gMonIcon_Glalie, - gMonIcon_Lunatone, - gMonIcon_Solrock, - gMonIcon_Azurill, - gMonIcon_Spoink, - gMonIcon_Grumpig, - gMonIcon_Plusle, - gMonIcon_Minun, - gMonIcon_Mawile, - gMonIcon_Meditite, - gMonIcon_Medicham, - gMonIcon_Swablu, - gMonIcon_Altaria, - gMonIcon_Wynaut, - gMonIcon_Duskull, - gMonIcon_Dusclops, - gMonIcon_Roselia, - gMonIcon_Slakoth, - gMonIcon_Vigoroth, - gMonIcon_Slaking, - gMonIcon_Gulpin, - gMonIcon_Swalot, - gMonIcon_Tropius, - gMonIcon_Whismur, - gMonIcon_Loudred, - gMonIcon_Exploud, - gMonIcon_Clamperl, - gMonIcon_Huntail, - gMonIcon_Gorebyss, - gMonIcon_Absol, - gMonIcon_Shuppet, - gMonIcon_Banette, - gMonIcon_Seviper, - gMonIcon_Zangoose, - gMonIcon_Relicanth, - gMonIcon_Aron, - gMonIcon_Lairon, - gMonIcon_Aggron, - gMonIcon_Castform, - gMonIcon_Volbeat, - gMonIcon_Illumise, - gMonIcon_Lileep, - gMonIcon_Cradily, - gMonIcon_Anorith, - gMonIcon_Armaldo, - gMonIcon_Ralts, - gMonIcon_Kirlia, - gMonIcon_Gardevoir, - gMonIcon_Bagon, - gMonIcon_Shelgon, - gMonIcon_Salamence, - gMonIcon_Beldum, - gMonIcon_Metang, - gMonIcon_Metagross, - gMonIcon_Regirock, - gMonIcon_Regice, - gMonIcon_Registeel, - gMonIcon_Kyogre, - gMonIcon_Groudon, - gMonIcon_Rayquaza, - gMonIcon_Latias, - gMonIcon_Latios, - gMonIcon_Jirachi, - gMonIcon_Deoxys, - gMonIcon_Chimecho, - gMonIcon_Egg, - gMonIcon_UnownB, - gMonIcon_UnownC, - gMonIcon_UnownD, - gMonIcon_UnownE, - gMonIcon_UnownF, - gMonIcon_UnownG, - gMonIcon_UnownH, - gMonIcon_UnownI, - gMonIcon_UnownJ, - gMonIcon_UnownK, - gMonIcon_UnownL, - gMonIcon_UnownM, - gMonIcon_UnownN, - gMonIcon_UnownO, - gMonIcon_UnownP, - gMonIcon_UnownQ, - gMonIcon_UnownR, - gMonIcon_UnownS, - gMonIcon_UnownT, - gMonIcon_UnownU, - gMonIcon_UnownV, - gMonIcon_UnownW, - gMonIcon_UnownX, - gMonIcon_UnownY, - gMonIcon_UnownZ, - gMonIcon_UnownExclamationMark, - gMonIcon_UnownQuestionMark, + [SPECIES_NONE] = gMonIcon_Bulbasaur, + [SPECIES_BULBASAUR] = gMonIcon_Bulbasaur, + [SPECIES_IVYSAUR] = gMonIcon_Ivysaur, + [SPECIES_VENUSAUR] = gMonIcon_Venusaur, + [SPECIES_CHARMANDER] = gMonIcon_Charmander, + [SPECIES_CHARMELEON] = gMonIcon_Charmeleon, + [SPECIES_CHARIZARD] = gMonIcon_Charizard, + [SPECIES_SQUIRTLE] = gMonIcon_Squirtle, + [SPECIES_WARTORTLE] = gMonIcon_Wartortle, + [SPECIES_BLASTOISE] = gMonIcon_Blastoise, + [SPECIES_CATERPIE] = gMonIcon_Caterpie, + [SPECIES_METAPOD] = gMonIcon_Metapod, + [SPECIES_BUTTERFREE] = gMonIcon_Butterfree, + [SPECIES_WEEDLE] = gMonIcon_Weedle, + [SPECIES_KAKUNA] = gMonIcon_Kakuna, + [SPECIES_BEEDRILL] = gMonIcon_Beedrill, + [SPECIES_PIDGEY] = gMonIcon_Pidgey, + [SPECIES_PIDGEOTTO] = gMonIcon_Pidgeotto, + [SPECIES_PIDGEOT] = gMonIcon_Pidgeot, + [SPECIES_RATTATA] = gMonIcon_Rattata, + [SPECIES_RATICATE] = gMonIcon_Raticate, + [SPECIES_SPEAROW] = gMonIcon_Spearow, + [SPECIES_FEAROW] = gMonIcon_Fearow, + [SPECIES_EKANS] = gMonIcon_Ekans, + [SPECIES_ARBOK] = gMonIcon_Arbok, + [SPECIES_PIKACHU] = gMonIcon_Pikachu, + [SPECIES_RAICHU] = gMonIcon_Raichu, + [SPECIES_SANDSHREW] = gMonIcon_Sandshrew, + [SPECIES_SANDSLASH] = gMonIcon_Sandslash, + [SPECIES_NIDORAN_F] = gMonIcon_NidoranF, + [SPECIES_NIDORINA] = gMonIcon_Nidorina, + [SPECIES_NIDOQUEEN] = gMonIcon_Nidoqueen, + [SPECIES_NIDORAN_M] = gMonIcon_NidoranM, + [SPECIES_NIDORINO] = gMonIcon_Nidorino, + [SPECIES_NIDOKING] = gMonIcon_Nidoking, + [SPECIES_CLEFAIRY] = gMonIcon_Clefairy, + [SPECIES_CLEFABLE] = gMonIcon_Clefable, + [SPECIES_VULPIX] = gMonIcon_Vulpix, + [SPECIES_NINETALES] = gMonIcon_Ninetales, + [SPECIES_JIGGLYPUFF] = gMonIcon_Jigglypuff, + [SPECIES_WIGGLYTUFF] = gMonIcon_Wigglytuff, + [SPECIES_ZUBAT] = gMonIcon_Zubat, + [SPECIES_GOLBAT] = gMonIcon_Golbat, + [SPECIES_ODDISH] = gMonIcon_Oddish, + [SPECIES_GLOOM] = gMonIcon_Gloom, + [SPECIES_VILEPLUME] = gMonIcon_Vileplume, + [SPECIES_PARAS] = gMonIcon_Paras, + [SPECIES_PARASECT] = gMonIcon_Parasect, + [SPECIES_VENONAT] = gMonIcon_Venonat, + [SPECIES_VENOMOTH] = gMonIcon_Venomoth, + [SPECIES_DIGLETT] = gMonIcon_Diglett, + [SPECIES_DUGTRIO] = gMonIcon_Dugtrio, + [SPECIES_MEOWTH] = gMonIcon_Meowth, + [SPECIES_PERSIAN] = gMonIcon_Persian, + [SPECIES_PSYDUCK] = gMonIcon_Psyduck, + [SPECIES_GOLDUCK] = gMonIcon_Golduck, + [SPECIES_MANKEY] = gMonIcon_Mankey, + [SPECIES_PRIMEAPE] = gMonIcon_Primeape, + [SPECIES_GROWLITHE] = gMonIcon_Growlithe, + [SPECIES_ARCANINE] = gMonIcon_Arcanine, + [SPECIES_POLIWAG] = gMonIcon_Poliwag, + [SPECIES_POLIWHIRL] = gMonIcon_Poliwhirl, + [SPECIES_POLIWRATH] = gMonIcon_Poliwrath, + [SPECIES_ABRA] = gMonIcon_Abra, + [SPECIES_KADABRA] = gMonIcon_Kadabra, + [SPECIES_ALAKAZAM] = gMonIcon_Alakazam, + [SPECIES_MACHOP] = gMonIcon_Machop, + [SPECIES_MACHOKE] = gMonIcon_Machoke, + [SPECIES_MACHAMP] = gMonIcon_Machamp, + [SPECIES_BELLSPROUT] = gMonIcon_Bellsprout, + [SPECIES_WEEPINBELL] = gMonIcon_Weepinbell, + [SPECIES_VICTREEBEL] = gMonIcon_Victreebel, + [SPECIES_TENTACOOL] = gMonIcon_Tentacool, + [SPECIES_TENTACRUEL] = gMonIcon_Tentacruel, + [SPECIES_GEODUDE] = gMonIcon_Geodude, + [SPECIES_GRAVELER] = gMonIcon_Graveler, + [SPECIES_GOLEM] = gMonIcon_Golem, + [SPECIES_PONYTA] = gMonIcon_Ponyta, + [SPECIES_RAPIDASH] = gMonIcon_Rapidash, + [SPECIES_SLOWPOKE] = gMonIcon_Slowpoke, + [SPECIES_SLOWBRO] = gMonIcon_Slowbro, + [SPECIES_MAGNEMITE] = gMonIcon_Magnemite, + [SPECIES_MAGNETON] = gMonIcon_Magneton, + [SPECIES_FARFETCHD] = gMonIcon_Farfetchd, + [SPECIES_DODUO] = gMonIcon_Doduo, + [SPECIES_DODRIO] = gMonIcon_Dodrio, + [SPECIES_SEEL] = gMonIcon_Seel, + [SPECIES_DEWGONG] = gMonIcon_Dewgong, + [SPECIES_GRIMER] = gMonIcon_Grimer, + [SPECIES_MUK] = gMonIcon_Muk, + [SPECIES_SHELLDER] = gMonIcon_Shellder, + [SPECIES_CLOYSTER] = gMonIcon_Cloyster, + [SPECIES_GASTLY] = gMonIcon_Gastly, + [SPECIES_HAUNTER] = gMonIcon_Haunter, + [SPECIES_GENGAR] = gMonIcon_Gengar, + [SPECIES_ONIX] = gMonIcon_Onix, + [SPECIES_DROWZEE] = gMonIcon_Drowzee, + [SPECIES_HYPNO] = gMonIcon_Hypno, + [SPECIES_KRABBY] = gMonIcon_Krabby, + [SPECIES_KINGLER] = gMonIcon_Kingler, + [SPECIES_VOLTORB] = gMonIcon_Voltorb, + [SPECIES_ELECTRODE] = gMonIcon_Electrode, + [SPECIES_EXEGGCUTE] = gMonIcon_Exeggcute, + [SPECIES_EXEGGUTOR] = gMonIcon_Exeggutor, + [SPECIES_CUBONE] = gMonIcon_Cubone, + [SPECIES_MAROWAK] = gMonIcon_Marowak, + [SPECIES_HITMONLEE] = gMonIcon_Hitmonlee, + [SPECIES_HITMONCHAN] = gMonIcon_Hitmonchan, + [SPECIES_LICKITUNG] = gMonIcon_Lickitung, + [SPECIES_KOFFING] = gMonIcon_Koffing, + [SPECIES_WEEZING] = gMonIcon_Weezing, + [SPECIES_RHYHORN] = gMonIcon_Rhyhorn, + [SPECIES_RHYDON] = gMonIcon_Rhydon, + [SPECIES_CHANSEY] = gMonIcon_Chansey, + [SPECIES_TANGELA] = gMonIcon_Tangela, + [SPECIES_KANGASKHAN] = gMonIcon_Kangaskhan, + [SPECIES_HORSEA] = gMonIcon_Horsea, + [SPECIES_SEADRA] = gMonIcon_Seadra, + [SPECIES_GOLDEEN] = gMonIcon_Goldeen, + [SPECIES_SEAKING] = gMonIcon_Seaking, + [SPECIES_STARYU] = gMonIcon_Staryu, + [SPECIES_STARMIE] = gMonIcon_Starmie, + [SPECIES_MR_MIME] = gMonIcon_Mrmime, + [SPECIES_SCYTHER] = gMonIcon_Scyther, + [SPECIES_JYNX] = gMonIcon_Jynx, + [SPECIES_ELECTABUZZ] = gMonIcon_Electabuzz, + [SPECIES_MAGMAR] = gMonIcon_Magmar, + [SPECIES_PINSIR] = gMonIcon_Pinsir, + [SPECIES_TAUROS] = gMonIcon_Tauros, + [SPECIES_MAGIKARP] = gMonIcon_Magikarp, + [SPECIES_GYARADOS] = gMonIcon_Gyarados, + [SPECIES_LAPRAS] = gMonIcon_Lapras, + [SPECIES_DITTO] = gMonIcon_Ditto, + [SPECIES_EEVEE] = gMonIcon_Eevee, + [SPECIES_VAPOREON] = gMonIcon_Vaporeon, + [SPECIES_JOLTEON] = gMonIcon_Jolteon, + [SPECIES_FLAREON] = gMonIcon_Flareon, + [SPECIES_PORYGON] = gMonIcon_Porygon, + [SPECIES_OMANYTE] = gMonIcon_Omanyte, + [SPECIES_OMASTAR] = gMonIcon_Omastar, + [SPECIES_KABUTO] = gMonIcon_Kabuto, + [SPECIES_KABUTOPS] = gMonIcon_Kabutops, + [SPECIES_AERODACTYL] = gMonIcon_Aerodactyl, + [SPECIES_SNORLAX] = gMonIcon_Snorlax, + [SPECIES_ARTICUNO] = gMonIcon_Articuno, + [SPECIES_ZAPDOS] = gMonIcon_Zapdos, + [SPECIES_MOLTRES] = gMonIcon_Moltres, + [SPECIES_DRATINI] = gMonIcon_Dratini, + [SPECIES_DRAGONAIR] = gMonIcon_Dragonair, + [SPECIES_DRAGONITE] = gMonIcon_Dragonite, + [SPECIES_MEWTWO] = gMonIcon_Mewtwo, + [SPECIES_MEW] = gMonIcon_Mew, + [SPECIES_CHIKORITA] = gMonIcon_Chikorita, + [SPECIES_BAYLEEF] = gMonIcon_Bayleef, + [SPECIES_MEGANIUM] = gMonIcon_Meganium, + [SPECIES_CYNDAQUIL] = gMonIcon_Cyndaquil, + [SPECIES_QUILAVA] = gMonIcon_Quilava, + [SPECIES_TYPHLOSION] = gMonIcon_Typhlosion, + [SPECIES_TOTODILE] = gMonIcon_Totodile, + [SPECIES_CROCONAW] = gMonIcon_Croconaw, + [SPECIES_FERALIGATR] = gMonIcon_Feraligatr, + [SPECIES_SENTRET] = gMonIcon_Sentret, + [SPECIES_FURRET] = gMonIcon_Furret, + [SPECIES_HOOTHOOT] = gMonIcon_Hoothoot, + [SPECIES_NOCTOWL] = gMonIcon_Noctowl, + [SPECIES_LEDYBA] = gMonIcon_Ledyba, + [SPECIES_LEDIAN] = gMonIcon_Ledian, + [SPECIES_SPINARAK] = gMonIcon_Spinarak, + [SPECIES_ARIADOS] = gMonIcon_Ariados, + [SPECIES_CROBAT] = gMonIcon_Crobat, + [SPECIES_CHINCHOU] = gMonIcon_Chinchou, + [SPECIES_LANTURN] = gMonIcon_Lanturn, + [SPECIES_PICHU] = gMonIcon_Pichu, + [SPECIES_CLEFFA] = gMonIcon_Cleffa, + [SPECIES_IGGLYBUFF] = gMonIcon_Igglybuff, + [SPECIES_TOGEPI] = gMonIcon_Togepi, + [SPECIES_TOGETIC] = gMonIcon_Togetic, + [SPECIES_NATU] = gMonIcon_Natu, + [SPECIES_XATU] = gMonIcon_Xatu, + [SPECIES_MAREEP] = gMonIcon_Mareep, + [SPECIES_FLAAFFY] = gMonIcon_Flaaffy, + [SPECIES_AMPHAROS] = gMonIcon_Ampharos, + [SPECIES_BELLOSSOM] = gMonIcon_Bellossom, + [SPECIES_MARILL] = gMonIcon_Marill, + [SPECIES_AZUMARILL] = gMonIcon_Azumarill, + [SPECIES_SUDOWOODO] = gMonIcon_Sudowoodo, + [SPECIES_POLITOED] = gMonIcon_Politoed, + [SPECIES_HOPPIP] = gMonIcon_Hoppip, + [SPECIES_SKIPLOOM] = gMonIcon_Skiploom, + [SPECIES_JUMPLUFF] = gMonIcon_Jumpluff, + [SPECIES_AIPOM] = gMonIcon_Aipom, + [SPECIES_SUNKERN] = gMonIcon_Sunkern, + [SPECIES_SUNFLORA] = gMonIcon_Sunflora, + [SPECIES_YANMA] = gMonIcon_Yanma, + [SPECIES_WOOPER] = gMonIcon_Wooper, + [SPECIES_QUAGSIRE] = gMonIcon_Quagsire, + [SPECIES_ESPEON] = gMonIcon_Espeon, + [SPECIES_UMBREON] = gMonIcon_Umbreon, + [SPECIES_MURKROW] = gMonIcon_Murkrow, + [SPECIES_SLOWKING] = gMonIcon_Slowking, + [SPECIES_MISDREAVUS] = gMonIcon_Misdreavus, + [SPECIES_UNOWN] = gMonIcon_UnownA, + [SPECIES_WOBBUFFET] = gMonIcon_Wobbuffet, + [SPECIES_GIRAFARIG] = gMonIcon_Girafarig, + [SPECIES_PINECO] = gMonIcon_Pineco, + [SPECIES_FORRETRESS] = gMonIcon_Forretress, + [SPECIES_DUNSPARCE] = gMonIcon_Dunsparce, + [SPECIES_GLIGAR] = gMonIcon_Gligar, + [SPECIES_STEELIX] = gMonIcon_Steelix, + [SPECIES_SNUBBULL] = gMonIcon_Snubbull, + [SPECIES_GRANBULL] = gMonIcon_Granbull, + [SPECIES_QWILFISH] = gMonIcon_Qwilfish, + [SPECIES_SCIZOR] = gMonIcon_Scizor, + [SPECIES_SHUCKLE] = gMonIcon_Shuckle, + [SPECIES_HERACROSS] = gMonIcon_Heracross, + [SPECIES_SNEASEL] = gMonIcon_Sneasel, + [SPECIES_TEDDIURSA] = gMonIcon_Teddiursa, + [SPECIES_URSARING] = gMonIcon_Ursaring, + [SPECIES_SLUGMA] = gMonIcon_Slugma, + [SPECIES_MAGCARGO] = gMonIcon_Magcargo, + [SPECIES_SWINUB] = gMonIcon_Swinub, + [SPECIES_PILOSWINE] = gMonIcon_Piloswine, + [SPECIES_CORSOLA] = gMonIcon_Corsola, + [SPECIES_REMORAID] = gMonIcon_Remoraid, + [SPECIES_OCTILLERY] = gMonIcon_Octillery, + [SPECIES_DELIBIRD] = gMonIcon_Delibird, + [SPECIES_MANTINE] = gMonIcon_Mantine, + [SPECIES_SKARMORY] = gMonIcon_Skarmory, + [SPECIES_HOUNDOUR] = gMonIcon_Houndour, + [SPECIES_HOUNDOOM] = gMonIcon_Houndoom, + [SPECIES_KINGDRA] = gMonIcon_Kingdra, + [SPECIES_PHANPY] = gMonIcon_Phanpy, + [SPECIES_DONPHAN] = gMonIcon_Donphan, + [SPECIES_PORYGON2] = gMonIcon_Porygon2, + [SPECIES_STANTLER] = gMonIcon_Stantler, + [SPECIES_SMEARGLE] = gMonIcon_Smeargle, + [SPECIES_TYROGUE] = gMonIcon_Tyrogue, + [SPECIES_HITMONTOP] = gMonIcon_Hitmontop, + [SPECIES_SMOOCHUM] = gMonIcon_Smoochum, + [SPECIES_ELEKID] = gMonIcon_Elekid, + [SPECIES_MAGBY] = gMonIcon_Magby, + [SPECIES_MILTANK] = gMonIcon_Miltank, + [SPECIES_BLISSEY] = gMonIcon_Blissey, + [SPECIES_RAIKOU] = gMonIcon_Raikou, + [SPECIES_ENTEI] = gMonIcon_Entei, + [SPECIES_SUICUNE] = gMonIcon_Suicune, + [SPECIES_LARVITAR] = gMonIcon_Larvitar, + [SPECIES_PUPITAR] = gMonIcon_Pupitar, + [SPECIES_TYRANITAR] = gMonIcon_Tyranitar, + [SPECIES_LUGIA] = gMonIcon_Lugia, + [SPECIES_HO_OH] = gMonIcon_HoOh, + [SPECIES_CELEBI] = gMonIcon_Celebi, + [SPECIES_OLD_UNOWN_B] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_C] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_D] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_E] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_F] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_G] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_H] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_I] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_J] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_K] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_L] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_M] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_N] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_O] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_P] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_Q] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_R] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_S] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_T] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_U] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_V] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_W] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_X] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_Y] = gMonIcon_QuestionMark, + [SPECIES_OLD_UNOWN_Z] = gMonIcon_QuestionMark, + [SPECIES_TREECKO] = gMonIcon_Treecko, + [SPECIES_GROVYLE] = gMonIcon_Grovyle, + [SPECIES_SCEPTILE] = gMonIcon_Sceptile, + [SPECIES_TORCHIC] = gMonIcon_Torchic, + [SPECIES_COMBUSKEN] = gMonIcon_Combusken, + [SPECIES_BLAZIKEN] = gMonIcon_Blaziken, + [SPECIES_MUDKIP] = gMonIcon_Mudkip, + [SPECIES_MARSHTOMP] = gMonIcon_Marshtomp, + [SPECIES_SWAMPERT] = gMonIcon_Swampert, + [SPECIES_POOCHYENA] = gMonIcon_Poochyena, + [SPECIES_MIGHTYENA] = gMonIcon_Mightyena, + [SPECIES_ZIGZAGOON] = gMonIcon_Zigzagoon, + [SPECIES_LINOONE] = gMonIcon_Linoone, + [SPECIES_WURMPLE] = gMonIcon_Wurmple, + [SPECIES_SILCOON] = gMonIcon_Silcoon, + [SPECIES_BEAUTIFLY] = gMonIcon_Beautifly, + [SPECIES_CASCOON] = gMonIcon_Cascoon, + [SPECIES_DUSTOX] = gMonIcon_Dustox, + [SPECIES_LOTAD] = gMonIcon_Lotad, + [SPECIES_LOMBRE] = gMonIcon_Lombre, + [SPECIES_LUDICOLO] = gMonIcon_Ludicolo, + [SPECIES_SEEDOT] = gMonIcon_Seedot, + [SPECIES_NUZLEAF] = gMonIcon_Nuzleaf, + [SPECIES_SHIFTRY] = gMonIcon_Shiftry, + [SPECIES_NINCADA] = gMonIcon_Nincada, + [SPECIES_NINJASK] = gMonIcon_Ninjask, + [SPECIES_SHEDINJA] = gMonIcon_Shedinja, + [SPECIES_TAILLOW] = gMonIcon_Taillow, + [SPECIES_SWELLOW] = gMonIcon_Swellow, + [SPECIES_SHROOMISH] = gMonIcon_Shroomish, + [SPECIES_BRELOOM] = gMonIcon_Breloom, + [SPECIES_SPINDA] = gMonIcon_Spinda, + [SPECIES_WINGULL] = gMonIcon_Wingull, + [SPECIES_PELIPPER] = gMonIcon_Pelipper, + [SPECIES_SURSKIT] = gMonIcon_Surskit, + [SPECIES_MASQUERAIN] = gMonIcon_Masquerain, + [SPECIES_WAILMER] = gMonIcon_Wailmer, + [SPECIES_WAILORD] = gMonIcon_Wailord, + [SPECIES_SKITTY] = gMonIcon_Skitty, + [SPECIES_DELCATTY] = gMonIcon_Delcatty, + [SPECIES_KECLEON] = gMonIcon_Kecleon, + [SPECIES_BALTOY] = gMonIcon_Baltoy, + [SPECIES_CLAYDOL] = gMonIcon_Claydol, + [SPECIES_NOSEPASS] = gMonIcon_Nosepass, + [SPECIES_TORKOAL] = gMonIcon_Torkoal, + [SPECIES_SABLEYE] = gMonIcon_Sableye, + [SPECIES_BARBOACH] = gMonIcon_Barboach, + [SPECIES_WHISCASH] = gMonIcon_Whiscash, + [SPECIES_LUVDISC] = gMonIcon_Luvdisc, + [SPECIES_CORPHISH] = gMonIcon_Corphish, + [SPECIES_CRAWDAUNT] = gMonIcon_Crawdaunt, + [SPECIES_FEEBAS] = gMonIcon_Feebas, + [SPECIES_MILOTIC] = gMonIcon_Milotic, + [SPECIES_CARVANHA] = gMonIcon_Carvanha, + [SPECIES_SHARPEDO] = gMonIcon_Sharpedo, + [SPECIES_TRAPINCH] = gMonIcon_Trapinch, + [SPECIES_VIBRAVA] = gMonIcon_Vibrava, + [SPECIES_FLYGON] = gMonIcon_Flygon, + [SPECIES_MAKUHITA] = gMonIcon_Makuhita, + [SPECIES_HARIYAMA] = gMonIcon_Hariyama, + [SPECIES_ELECTRIKE] = gMonIcon_Electrike, + [SPECIES_MANECTRIC] = gMonIcon_Manectric, + [SPECIES_NUMEL] = gMonIcon_Numel, + [SPECIES_CAMERUPT] = gMonIcon_Camerupt, + [SPECIES_SPHEAL] = gMonIcon_Spheal, + [SPECIES_SEALEO] = gMonIcon_Sealeo, + [SPECIES_WALREIN] = gMonIcon_Walrein, + [SPECIES_CACNEA] = gMonIcon_Cacnea, + [SPECIES_CACTURNE] = gMonIcon_Cacturne, + [SPECIES_SNORUNT] = gMonIcon_Snorunt, + [SPECIES_GLALIE] = gMonIcon_Glalie, + [SPECIES_LUNATONE] = gMonIcon_Lunatone, + [SPECIES_SOLROCK] = gMonIcon_Solrock, + [SPECIES_AZURILL] = gMonIcon_Azurill, + [SPECIES_SPOINK] = gMonIcon_Spoink, + [SPECIES_GRUMPIG] = gMonIcon_Grumpig, + [SPECIES_PLUSLE] = gMonIcon_Plusle, + [SPECIES_MINUN] = gMonIcon_Minun, + [SPECIES_MAWILE] = gMonIcon_Mawile, + [SPECIES_MEDITITE] = gMonIcon_Meditite, + [SPECIES_MEDICHAM] = gMonIcon_Medicham, + [SPECIES_SWABLU] = gMonIcon_Swablu, + [SPECIES_ALTARIA] = gMonIcon_Altaria, + [SPECIES_WYNAUT] = gMonIcon_Wynaut, + [SPECIES_DUSKULL] = gMonIcon_Duskull, + [SPECIES_DUSCLOPS] = gMonIcon_Dusclops, + [SPECIES_ROSELIA] = gMonIcon_Roselia, + [SPECIES_SLAKOTH] = gMonIcon_Slakoth, + [SPECIES_VIGOROTH] = gMonIcon_Vigoroth, + [SPECIES_SLAKING] = gMonIcon_Slaking, + [SPECIES_GULPIN] = gMonIcon_Gulpin, + [SPECIES_SWALOT] = gMonIcon_Swalot, + [SPECIES_TROPIUS] = gMonIcon_Tropius, + [SPECIES_WHISMUR] = gMonIcon_Whismur, + [SPECIES_LOUDRED] = gMonIcon_Loudred, + [SPECIES_EXPLOUD] = gMonIcon_Exploud, + [SPECIES_CLAMPERL] = gMonIcon_Clamperl, + [SPECIES_HUNTAIL] = gMonIcon_Huntail, + [SPECIES_GOREBYSS] = gMonIcon_Gorebyss, + [SPECIES_ABSOL] = gMonIcon_Absol, + [SPECIES_SHUPPET] = gMonIcon_Shuppet, + [SPECIES_BANETTE] = gMonIcon_Banette, + [SPECIES_SEVIPER] = gMonIcon_Seviper, + [SPECIES_ZANGOOSE] = gMonIcon_Zangoose, + [SPECIES_RELICANTH] = gMonIcon_Relicanth, + [SPECIES_ARON] = gMonIcon_Aron, + [SPECIES_LAIRON] = gMonIcon_Lairon, + [SPECIES_AGGRON] = gMonIcon_Aggron, + [SPECIES_CASTFORM] = gMonIcon_Castform, + [SPECIES_VOLBEAT] = gMonIcon_Volbeat, + [SPECIES_ILLUMISE] = gMonIcon_Illumise, + [SPECIES_LILEEP] = gMonIcon_Lileep, + [SPECIES_CRADILY] = gMonIcon_Cradily, + [SPECIES_ANORITH] = gMonIcon_Anorith, + [SPECIES_ARMALDO] = gMonIcon_Armaldo, + [SPECIES_RALTS] = gMonIcon_Ralts, + [SPECIES_KIRLIA] = gMonIcon_Kirlia, + [SPECIES_GARDEVOIR] = gMonIcon_Gardevoir, + [SPECIES_BAGON] = gMonIcon_Bagon, + [SPECIES_SHELGON] = gMonIcon_Shelgon, + [SPECIES_SALAMENCE] = gMonIcon_Salamence, + [SPECIES_BELDUM] = gMonIcon_Beldum, + [SPECIES_METANG] = gMonIcon_Metang, + [SPECIES_METAGROSS] = gMonIcon_Metagross, + [SPECIES_REGIROCK] = gMonIcon_Regirock, + [SPECIES_REGICE] = gMonIcon_Regice, + [SPECIES_REGISTEEL] = gMonIcon_Registeel, + [SPECIES_KYOGRE] = gMonIcon_Kyogre, + [SPECIES_GROUDON] = gMonIcon_Groudon, + [SPECIES_RAYQUAZA] = gMonIcon_Rayquaza, + [SPECIES_LATIAS] = gMonIcon_Latias, + [SPECIES_LATIOS] = gMonIcon_Latios, + [SPECIES_JIRACHI] = gMonIcon_Jirachi, + [SPECIES_DEOXYS] = gMonIcon_Deoxys, + [SPECIES_CHIMECHO] = gMonIcon_Chimecho, + [SPECIES_EGG] = gMonIcon_Egg, + [SPECIES_UNOWN_B] = gMonIcon_UnownB, + [SPECIES_UNOWN_C] = gMonIcon_UnownC, + [SPECIES_UNOWN_D] = gMonIcon_UnownD, + [SPECIES_UNOWN_E] = gMonIcon_UnownE, + [SPECIES_UNOWN_F] = gMonIcon_UnownF, + [SPECIES_UNOWN_G] = gMonIcon_UnownG, + [SPECIES_UNOWN_H] = gMonIcon_UnownH, + [SPECIES_UNOWN_I] = gMonIcon_UnownI, + [SPECIES_UNOWN_J] = gMonIcon_UnownJ, + [SPECIES_UNOWN_K] = gMonIcon_UnownK, + [SPECIES_UNOWN_L] = gMonIcon_UnownL, + [SPECIES_UNOWN_M] = gMonIcon_UnownM, + [SPECIES_UNOWN_N] = gMonIcon_UnownN, + [SPECIES_UNOWN_O] = gMonIcon_UnownO, + [SPECIES_UNOWN_P] = gMonIcon_UnownP, + [SPECIES_UNOWN_Q] = gMonIcon_UnownQ, + [SPECIES_UNOWN_R] = gMonIcon_UnownR, + [SPECIES_UNOWN_S] = gMonIcon_UnownS, + [SPECIES_UNOWN_T] = gMonIcon_UnownT, + [SPECIES_UNOWN_U] = gMonIcon_UnownU, + [SPECIES_UNOWN_V] = gMonIcon_UnownV, + [SPECIES_UNOWN_W] = gMonIcon_UnownW, + [SPECIES_UNOWN_X] = gMonIcon_UnownX, + [SPECIES_UNOWN_Y] = gMonIcon_UnownY, + [SPECIES_UNOWN_Z] = gMonIcon_UnownZ, + [SPECIES_UNOWN_EMARK] = gMonIcon_UnownExclamationMark, + [SPECIES_UNOWN_QMARK] = gMonIcon_UnownQuestionMark, }; const u8 gMonIconPaletteIndices[] = @@ -1138,7 +1138,7 @@ void sub_80D2EF8(struct Sprite *sprite) void LoadMonIconPalettes(void) { u8 i; - for (i = 0; i < 6; i++) + for (i = 0; i < ARRAY_COUNT(gMonIconPaletteTable); i++) LoadSpritePalette(&gMonIconPaletteTable[i]); } @@ -1192,7 +1192,7 @@ void sub_80D3014(struct Sprite *sprite) const u8* GetMonIconTiles(u16 species, bool32 extra) { const u8* iconSprite = gMonIconTable[species]; - if(species == SPECIES_DEOXYS && extra == TRUE) + if (species == SPECIES_DEOXYS && extra == TRUE) { iconSprite = (const u8*)(0x400 + (u32)iconSprite); //WTF? } @@ -1308,5 +1308,3 @@ void sub_80D32C8(struct Sprite *sprite, u8 animNum) sprite->animDelayCounter = 0; sprite->animCmdIndex = 0; } - - From 2745cdc7d26e84d7efc5349519a494610390e130 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 2 Apr 2019 18:02:43 +0200 Subject: [PATCH 26/84] Remove unneeded sMonAnimationDelayTable entries --- src/pokemon.c | 358 +------------------------------------------------- 1 file changed, 1 insertion(+), 357 deletions(-) diff --git a/src/pokemon.c b/src/pokemon.c index 7c26b4c221..984c484a24 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1810,419 +1810,63 @@ static const u8 sMonFrontAnimIdsTable[] = [SPECIES_CHIMECHO - 1] = 0x1d, }; -static const u8 sMonAnimationDelayTable[] = +static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = { - [SPECIES_BULBASAUR - 1] = 0x00, - [SPECIES_IVYSAUR - 1] = 0x00, - [SPECIES_VENUSAUR - 1] = 0x00, - [SPECIES_CHARMANDER - 1] = 0x00, - [SPECIES_CHARMELEON - 1] = 0x00, - [SPECIES_CHARIZARD - 1] = 0x00, - [SPECIES_SQUIRTLE - 1] = 0x00, - [SPECIES_WARTORTLE - 1] = 0x00, [SPECIES_BLASTOISE - 1] = 0x32, - [SPECIES_CATERPIE - 1] = 0x00, - [SPECIES_METAPOD - 1] = 0x00, - [SPECIES_BUTTERFREE - 1] = 0x00, [SPECIES_WEEDLE - 1] = 0x0a, [SPECIES_KAKUNA - 1] = 0x14, [SPECIES_BEEDRILL - 1] = 0x23, - [SPECIES_PIDGEY - 1] = 0x00, [SPECIES_PIDGEOTTO - 1] = 0x19, - [SPECIES_PIDGEOT - 1] = 0x00, - [SPECIES_RATTATA - 1] = 0x00, - [SPECIES_RATICATE - 1] = 0x00, - [SPECIES_SPEAROW - 1] = 0x00, [SPECIES_FEAROW - 1] = 0x02, [SPECIES_EKANS - 1] = 0x1e, - [SPECIES_ARBOK - 1] = 0x00, - [SPECIES_PIKACHU - 1] = 0x00, - [SPECIES_RAICHU - 1] = 0x00, - [SPECIES_SANDSHREW - 1] = 0x00, - [SPECIES_SANDSLASH - 1] = 0x00, [SPECIES_NIDORAN_F - 1] = 0x1c, - [SPECIES_NIDORINA - 1] = 0x00, - [SPECIES_NIDOQUEEN - 1] = 0x00, - [SPECIES_NIDORAN_M - 1] = 0x00, - [SPECIES_NIDORINO - 1] = 0x00, [SPECIES_NIDOKING - 1] = 0x19, - [SPECIES_CLEFAIRY - 1] = 0x00, - [SPECIES_CLEFABLE - 1] = 0x00, - [SPECIES_VULPIX - 1] = 0x00, - [SPECIES_NINETALES - 1] = 0x00, - [SPECIES_JIGGLYPUFF - 1] = 0x00, - [SPECIES_WIGGLYTUFF - 1] = 0x00, - [SPECIES_ZUBAT - 1] = 0x00, - [SPECIES_GOLBAT - 1] = 0x00, - [SPECIES_ODDISH - 1] = 0x00, - [SPECIES_GLOOM - 1] = 0x00, - [SPECIES_VILEPLUME - 1] = 0x00, [SPECIES_PARAS - 1] = 0x0a, [SPECIES_PARASECT - 1] = 0x2d, [SPECIES_VENONAT - 1] = 0x14, - [SPECIES_VENOMOTH - 1] = 0x00, [SPECIES_DIGLETT - 1] = 0x19, [SPECIES_DUGTRIO - 1] = 0x23, [SPECIES_MEOWTH - 1] = 0x28, [SPECIES_PERSIAN - 1] = 0x14, - [SPECIES_PSYDUCK - 1] = 0x00, - [SPECIES_GOLDUCK - 1] = 0x00, [SPECIES_MANKEY - 1] = 0x14, - [SPECIES_PRIMEAPE - 1] = 0x00, [SPECIES_GROWLITHE - 1] = 0x1e, [SPECIES_ARCANINE - 1] = 0x28, - [SPECIES_POLIWAG - 1] = 0x00, [SPECIES_POLIWHIRL - 1] = 0x05, - [SPECIES_POLIWRATH - 1] = 0x00, - [SPECIES_ABRA - 1] = 0x00, - [SPECIES_KADABRA - 1] = 0x00, - [SPECIES_ALAKAZAM - 1] = 0x00, - [SPECIES_MACHOP - 1] = 0x00, - [SPECIES_MACHOKE - 1] = 0x00, - [SPECIES_MACHAMP - 1] = 0x00, - [SPECIES_BELLSPROUT - 1] = 0x00, [SPECIES_WEEPINBELL - 1] = 0x03, - [SPECIES_VICTREEBEL - 1] = 0x00, - [SPECIES_TENTACOOL - 1] = 0x00, - [SPECIES_TENTACRUEL - 1] = 0x00, - [SPECIES_GEODUDE - 1] = 0x00, - [SPECIES_GRAVELER - 1] = 0x00, - [SPECIES_GOLEM - 1] = 0x00, - [SPECIES_PONYTA - 1] = 0x00, - [SPECIES_RAPIDASH - 1] = 0x00, - [SPECIES_SLOWPOKE - 1] = 0x00, - [SPECIES_SLOWBRO - 1] = 0x00, - [SPECIES_MAGNEMITE - 1] = 0x00, - [SPECIES_MAGNETON - 1] = 0x00, - [SPECIES_FARFETCHD - 1] = 0x00, - [SPECIES_DODUO - 1] = 0x00, - [SPECIES_DODRIO - 1] = 0x00, - [SPECIES_SEEL - 1] = 0x00, - [SPECIES_DEWGONG - 1] = 0x00, - [SPECIES_GRIMER - 1] = 0x00, [SPECIES_MUK - 1] = 0x2d, [SPECIES_SHELLDER - 1] = 0x14, - [SPECIES_CLOYSTER - 1] = 0x00, - [SPECIES_GASTLY - 1] = 0x00, [SPECIES_HAUNTER - 1] = 0x17, - [SPECIES_GENGAR - 1] = 0x00, - [SPECIES_ONIX - 1] = 0x00, [SPECIES_DROWZEE - 1] = 0x30, [SPECIES_HYPNO - 1] = 0x28, - [SPECIES_KRABBY - 1] = 0x00, - [SPECIES_KINGLER - 1] = 0x00, - [SPECIES_VOLTORB - 1] = 0x00, - [SPECIES_ELECTRODE - 1] = 0x00, - [SPECIES_EXEGGCUTE - 1] = 0x00, - [SPECIES_EXEGGUTOR - 1] = 0x00, - [SPECIES_CUBONE - 1] = 0x00, - [SPECIES_MAROWAK - 1] = 0x00, - [SPECIES_HITMONLEE - 1] = 0x00, [SPECIES_HITMONCHAN - 1] = 0x19, - [SPECIES_LICKITUNG - 1] = 0x00, - [SPECIES_KOFFING - 1] = 0x00, - [SPECIES_WEEZING - 1] = 0x00, - [SPECIES_RHYHORN - 1] = 0x00, - [SPECIES_RHYDON - 1] = 0x00, - [SPECIES_CHANSEY - 1] = 0x00, - [SPECIES_TANGELA - 1] = 0x00, - [SPECIES_KANGASKHAN - 1] = 0x00, - [SPECIES_HORSEA - 1] = 0x00, - [SPECIES_SEADRA - 1] = 0x00, - [SPECIES_GOLDEEN - 1] = 0x00, - [SPECIES_SEAKING - 1] = 0x00, - [SPECIES_STARYU - 1] = 0x00, - [SPECIES_STARMIE - 1] = 0x00, - [SPECIES_MR_MIME - 1] = 0x00, [SPECIES_SCYTHER - 1] = 0x0a, - [SPECIES_JYNX - 1] = 0x00, - [SPECIES_ELECTABUZZ - 1] = 0x00, - [SPECIES_MAGMAR - 1] = 0x00, - [SPECIES_PINSIR - 1] = 0x00, [SPECIES_TAUROS - 1] = 0x0a, - [SPECIES_MAGIKARP - 1] = 0x00, - [SPECIES_GYARADOS - 1] = 0x00, - [SPECIES_LAPRAS - 1] = 0x00, - [SPECIES_DITTO - 1] = 0x00, - [SPECIES_EEVEE - 1] = 0x00, - [SPECIES_VAPOREON - 1] = 0x00, - [SPECIES_JOLTEON - 1] = 0x00, - [SPECIES_FLAREON - 1] = 0x00, - [SPECIES_PORYGON - 1] = 0x00, - [SPECIES_OMANYTE - 1] = 0x00, - [SPECIES_OMASTAR - 1] = 0x00, - [SPECIES_KABUTO - 1] = 0x00, - [SPECIES_KABUTOPS - 1] = 0x00, - [SPECIES_AERODACTYL - 1] = 0x00, - [SPECIES_SNORLAX - 1] = 0x00, - [SPECIES_ARTICUNO - 1] = 0x00, - [SPECIES_ZAPDOS - 1] = 0x00, - [SPECIES_MOLTRES - 1] = 0x00, - [SPECIES_DRATINI - 1] = 0x00, - [SPECIES_DRAGONAIR - 1] = 0x00, - [SPECIES_DRAGONITE - 1] = 0x00, - [SPECIES_MEWTWO - 1] = 0x00, - [SPECIES_MEW - 1] = 0x00, - [SPECIES_CHIKORITA - 1] = 0x00, - [SPECIES_BAYLEEF - 1] = 0x00, - [SPECIES_MEGANIUM - 1] = 0x00, - [SPECIES_CYNDAQUIL - 1] = 0x00, - [SPECIES_QUILAVA - 1] = 0x00, [SPECIES_TYPHLOSION - 1] = 0x14, - [SPECIES_TOTODILE - 1] = 0x00, - [SPECIES_CROCONAW - 1] = 0x00, [SPECIES_FERALIGATR - 1] = 0x05, - [SPECIES_SENTRET - 1] = 0x00, - [SPECIES_FURRET - 1] = 0x00, - [SPECIES_HOOTHOOT - 1] = 0x00, - [SPECIES_NOCTOWL - 1] = 0x00, - [SPECIES_LEDYBA - 1] = 0x00, - [SPECIES_LEDIAN - 1] = 0x00, - [SPECIES_SPINARAK - 1] = 0x00, - [SPECIES_ARIADOS - 1] = 0x00, - [SPECIES_CROBAT - 1] = 0x00, - [SPECIES_CHINCHOU - 1] = 0x00, - [SPECIES_LANTURN - 1] = 0x00, - [SPECIES_PICHU - 1] = 0x00, - [SPECIES_CLEFFA - 1] = 0x00, - [SPECIES_IGGLYBUFF - 1] = 0x00, - [SPECIES_TOGEPI - 1] = 0x00, - [SPECIES_TOGETIC - 1] = 0x00, [SPECIES_NATU - 1] = 0x1e, - [SPECIES_XATU - 1] = 0x00, [SPECIES_MAREEP - 1] = 0x32, - [SPECIES_FLAAFFY - 1] = 0x00, [SPECIES_AMPHAROS - 1] = 0x0a, - [SPECIES_BELLOSSOM - 1] = 0x00, - [SPECIES_MARILL - 1] = 0x00, - [SPECIES_AZUMARILL - 1] = 0x00, - [SPECIES_SUDOWOODO - 1] = 0x00, [SPECIES_POLITOED - 1] = 0x28, - [SPECIES_HOPPIP - 1] = 0x00, - [SPECIES_SKIPLOOM - 1] = 0x00, - [SPECIES_JUMPLUFF - 1] = 0x00, - [SPECIES_AIPOM - 1] = 0x00, - [SPECIES_SUNKERN - 1] = 0x00, - [SPECIES_SUNFLORA - 1] = 0x00, - [SPECIES_YANMA - 1] = 0x00, - [SPECIES_WOOPER - 1] = 0x00, - [SPECIES_QUAGSIRE - 1] = 0x00, - [SPECIES_ESPEON - 1] = 0x00, - [SPECIES_UMBREON - 1] = 0x00, - [SPECIES_MURKROW - 1] = 0x00, - [SPECIES_SLOWKING - 1] = 0x00, - [SPECIES_MISDREAVUS - 1] = 0x00, - [SPECIES_UNOWN - 1] = 0x00, - [SPECIES_WOBBUFFET - 1] = 0x00, - [SPECIES_GIRAFARIG - 1] = 0x00, - [SPECIES_PINECO - 1] = 0x00, - [SPECIES_FORRETRESS - 1] = 0x00, [SPECIES_DUNSPARCE - 1] = 0x0a, - [SPECIES_GLIGAR - 1] = 0x00, [SPECIES_STEELIX - 1] = 0x2d, - [SPECIES_SNUBBULL - 1] = 0x00, - [SPECIES_GRANBULL - 1] = 0x00, [SPECIES_QWILFISH - 1] = 0x27, [SPECIES_SCIZOR - 1] = 0x13, - [SPECIES_SHUCKLE - 1] = 0x00, - [SPECIES_HERACROSS - 1] = 0x00, - [SPECIES_SNEASEL - 1] = 0x00, - [SPECIES_TEDDIURSA - 1] = 0x00, - [SPECIES_URSARING - 1] = 0x00, - [SPECIES_SLUGMA - 1] = 0x00, - [SPECIES_MAGCARGO - 1] = 0x00, - [SPECIES_SWINUB - 1] = 0x00, - [SPECIES_PILOSWINE - 1] = 0x00, - [SPECIES_CORSOLA - 1] = 0x00, - [SPECIES_REMORAID - 1] = 0x00, [SPECIES_OCTILLERY - 1] = 0x14, - [SPECIES_DELIBIRD - 1] = 0x00, - [SPECIES_MANTINE - 1] = 0x00, - [SPECIES_SKARMORY - 1] = 0x00, - [SPECIES_HOUNDOUR - 1] = 0x00, - [SPECIES_HOUNDOOM - 1] = 0x00, - [SPECIES_KINGDRA - 1] = 0x00, - [SPECIES_PHANPY - 1] = 0x00, - [SPECIES_DONPHAN - 1] = 0x00, - [SPECIES_PORYGON2 - 1] = 0x00, - [SPECIES_STANTLER - 1] = 0x00, - [SPECIES_SMEARGLE - 1] = 0x00, - [SPECIES_TYROGUE - 1] = 0x00, - [SPECIES_HITMONTOP - 1] = 0x00, [SPECIES_SMOOCHUM - 1] = 0x28, - [SPECIES_ELEKID - 1] = 0x00, - [SPECIES_MAGBY - 1] = 0x00, - [SPECIES_MILTANK - 1] = 0x00, - [SPECIES_BLISSEY - 1] = 0x00, - [SPECIES_RAIKOU - 1] = 0x00, - [SPECIES_ENTEI - 1] = 0x00, - [SPECIES_SUICUNE - 1] = 0x00, - [SPECIES_LARVITAR - 1] = 0x00, - [SPECIES_PUPITAR - 1] = 0x00, [SPECIES_TYRANITAR - 1] = 0x0a, [SPECIES_LUGIA - 1] = 0x14, - [SPECIES_HO_OH - 1] = 0x00, - [SPECIES_CELEBI - 1] = 0x00, - [SPECIES_OLD_UNOWN_B - 1] = 0x00, - [SPECIES_OLD_UNOWN_C - 1] = 0x00, - [SPECIES_OLD_UNOWN_D - 1] = 0x00, - [SPECIES_OLD_UNOWN_E - 1] = 0x00, - [SPECIES_OLD_UNOWN_F - 1] = 0x00, - [SPECIES_OLD_UNOWN_G - 1] = 0x00, - [SPECIES_OLD_UNOWN_H - 1] = 0x00, - [SPECIES_OLD_UNOWN_I - 1] = 0x00, - [SPECIES_OLD_UNOWN_J - 1] = 0x00, - [SPECIES_OLD_UNOWN_K - 1] = 0x00, - [SPECIES_OLD_UNOWN_L - 1] = 0x00, - [SPECIES_OLD_UNOWN_M - 1] = 0x00, - [SPECIES_OLD_UNOWN_N - 1] = 0x00, - [SPECIES_OLD_UNOWN_O - 1] = 0x00, - [SPECIES_OLD_UNOWN_P - 1] = 0x00, - [SPECIES_OLD_UNOWN_Q - 1] = 0x00, - [SPECIES_OLD_UNOWN_R - 1] = 0x00, - [SPECIES_OLD_UNOWN_S - 1] = 0x00, - [SPECIES_OLD_UNOWN_T - 1] = 0x00, - [SPECIES_OLD_UNOWN_U - 1] = 0x00, - [SPECIES_OLD_UNOWN_V - 1] = 0x00, - [SPECIES_OLD_UNOWN_W - 1] = 0x00, - [SPECIES_OLD_UNOWN_X - 1] = 0x00, - [SPECIES_OLD_UNOWN_Y - 1] = 0x00, - [SPECIES_OLD_UNOWN_Z - 1] = 0x00, - [SPECIES_TREECKO - 1] = 0x00, - [SPECIES_GROVYLE - 1] = 0x00, - [SPECIES_SCEPTILE - 1] = 0x00, - [SPECIES_TORCHIC - 1] = 0x00, - [SPECIES_COMBUSKEN - 1] = 0x00, - [SPECIES_BLAZIKEN - 1] = 0x00, - [SPECIES_MUDKIP - 1] = 0x00, - [SPECIES_MARSHTOMP - 1] = 0x00, - [SPECIES_SWAMPERT - 1] = 0x00, - [SPECIES_POOCHYENA - 1] = 0x00, - [SPECIES_MIGHTYENA - 1] = 0x00, - [SPECIES_ZIGZAGOON - 1] = 0x00, - [SPECIES_LINOONE - 1] = 0x00, - [SPECIES_WURMPLE - 1] = 0x00, - [SPECIES_SILCOON - 1] = 0x00, - [SPECIES_BEAUTIFLY - 1] = 0x00, - [SPECIES_CASCOON - 1] = 0x00, - [SPECIES_DUSTOX - 1] = 0x00, - [SPECIES_LOTAD - 1] = 0x00, - [SPECIES_LOMBRE - 1] = 0x00, - [SPECIES_LUDICOLO - 1] = 0x00, - [SPECIES_SEEDOT - 1] = 0x00, - [SPECIES_NUZLEAF - 1] = 0x00, - [SPECIES_SHIFTRY - 1] = 0x00, - [SPECIES_NINCADA - 1] = 0x00, - [SPECIES_NINJASK - 1] = 0x00, - [SPECIES_SHEDINJA - 1] = 0x00, - [SPECIES_TAILLOW - 1] = 0x00, - [SPECIES_SWELLOW - 1] = 0x00, - [SPECIES_SHROOMISH - 1] = 0x00, - [SPECIES_BRELOOM - 1] = 0x00, - [SPECIES_SPINDA - 1] = 0x00, - [SPECIES_WINGULL - 1] = 0x00, - [SPECIES_PELIPPER - 1] = 0x00, - [SPECIES_SURSKIT - 1] = 0x00, - [SPECIES_MASQUERAIN - 1] = 0x00, - [SPECIES_WAILMER - 1] = 0x00, [SPECIES_WAILORD - 1] = 0x0a, - [SPECIES_SKITTY - 1] = 0x00, - [SPECIES_DELCATTY - 1] = 0x00, [SPECIES_KECLEON - 1] = 0x1e, - [SPECIES_BALTOY - 1] = 0x00, - [SPECIES_CLAYDOL - 1] = 0x00, - [SPECIES_NOSEPASS - 1] = 0x00, - [SPECIES_TORKOAL - 1] = 0x00, - [SPECIES_SABLEYE - 1] = 0x00, - [SPECIES_BARBOACH - 1] = 0x00, - [SPECIES_WHISCASH - 1] = 0x00, - [SPECIES_LUVDISC - 1] = 0x00, - [SPECIES_CORPHISH - 1] = 0x00, - [SPECIES_CRAWDAUNT - 1] = 0x00, - [SPECIES_FEEBAS - 1] = 0x00, [SPECIES_MILOTIC - 1] = 0x2d, - [SPECIES_CARVANHA - 1] = 0x00, - [SPECIES_SHARPEDO - 1] = 0x00, - [SPECIES_TRAPINCH - 1] = 0x00, - [SPECIES_VIBRAVA - 1] = 0x00, - [SPECIES_FLYGON - 1] = 0x00, - [SPECIES_MAKUHITA - 1] = 0x00, - [SPECIES_HARIYAMA - 1] = 0x00, - [SPECIES_ELECTRIKE - 1] = 0x00, - [SPECIES_MANECTRIC - 1] = 0x00, - [SPECIES_NUMEL - 1] = 0x00, - [SPECIES_CAMERUPT - 1] = 0x00, [SPECIES_SPHEAL - 1] = 0x0f, - [SPECIES_SEALEO - 1] = 0x00, - [SPECIES_WALREIN - 1] = 0x00, - [SPECIES_CACNEA - 1] = 0x00, - [SPECIES_CACTURNE - 1] = 0x00, [SPECIES_SNORUNT - 1] = 0x14, - [SPECIES_GLALIE - 1] = 0x00, - [SPECIES_LUNATONE - 1] = 0x00, - [SPECIES_SOLROCK - 1] = 0x00, - [SPECIES_AZURILL - 1] = 0x00, - [SPECIES_SPOINK - 1] = 0x00, [SPECIES_GRUMPIG - 1] = 0x0f, - [SPECIES_PLUSLE - 1] = 0x00, - [SPECIES_MINUN - 1] = 0x00, - [SPECIES_MAWILE - 1] = 0x00, - [SPECIES_MEDITITE - 1] = 0x00, - [SPECIES_MEDICHAM - 1] = 0x00, - [SPECIES_SWABLU - 1] = 0x00, - [SPECIES_ALTARIA - 1] = 0x00, [SPECIES_WYNAUT - 1] = 0x0f, - [SPECIES_DUSKULL - 1] = 0x00, [SPECIES_DUSCLOPS - 1] = 0x1e, - [SPECIES_ROSELIA - 1] = 0x00, - [SPECIES_SLAKOTH - 1] = 0x00, - [SPECIES_VIGOROTH - 1] = 0x00, - [SPECIES_SLAKING - 1] = 0x00, - [SPECIES_GULPIN - 1] = 0x00, - [SPECIES_SWALOT - 1] = 0x00, - [SPECIES_TROPIUS - 1] = 0x00, - [SPECIES_WHISMUR - 1] = 0x00, - [SPECIES_LOUDRED - 1] = 0x00, - [SPECIES_EXPLOUD - 1] = 0x00, - [SPECIES_CLAMPERL - 1] = 0x00, - [SPECIES_HUNTAIL - 1] = 0x00, - [SPECIES_GOREBYSS - 1] = 0x00, [SPECIES_ABSOL - 1] = 0x2d, - [SPECIES_SHUPPET - 1] = 0x00, - [SPECIES_BANETTE - 1] = 0x00, - [SPECIES_SEVIPER - 1] = 0x00, - [SPECIES_ZANGOOSE - 1] = 0x00, - [SPECIES_RELICANTH - 1] = 0x00, - [SPECIES_ARON - 1] = 0x00, - [SPECIES_LAIRON - 1] = 0x00, - [SPECIES_AGGRON - 1] = 0x00, - [SPECIES_CASTFORM - 1] = 0x00, - [SPECIES_VOLBEAT - 1] = 0x00, - [SPECIES_ILLUMISE - 1] = 0x00, - [SPECIES_LILEEP - 1] = 0x00, - [SPECIES_CRADILY - 1] = 0x00, - [SPECIES_ANORITH - 1] = 0x00, - [SPECIES_ARMALDO - 1] = 0x00, - [SPECIES_RALTS - 1] = 0x00, - [SPECIES_KIRLIA - 1] = 0x00, - [SPECIES_GARDEVOIR - 1] = 0x00, - [SPECIES_BAGON - 1] = 0x00, - [SPECIES_SHELGON - 1] = 0x00, [SPECIES_SALAMENCE - 1] = 0x46, - [SPECIES_BELDUM - 1] = 0x00, - [SPECIES_METANG - 1] = 0x00, - [SPECIES_METAGROSS - 1] = 0x00, - [SPECIES_REGIROCK - 1] = 0x00, - [SPECIES_REGICE - 1] = 0x00, - [SPECIES_REGISTEEL - 1] = 0x00, [SPECIES_KYOGRE - 1] = 0x3c, - [SPECIES_GROUDON - 1] = 0x00, [SPECIES_RAYQUAZA - 1] = 0x3c, - [SPECIES_LATIAS - 1] = 0x00, - [SPECIES_LATIOS - 1] = 0x00, - [SPECIES_JIRACHI - 1] = 0x00, - [SPECIES_DEOXYS - 1] = 0x00, - [SPECIES_CHIMECHO - 1] = 0x00, }; const u8 gPPUpGetMask[] = {0x03, 0x0c, 0x30, 0xc0}; // Masks for getting PP Up count, also PP Max values From baa187665b102b0210ecd7296aaaf0de512d3e87 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 2 Apr 2019 13:35:52 +0200 Subject: [PATCH 27/84] Document a bit of script menu and battle anims --- data/battle_anim_scripts.s | 16 ++--- include/menu.h | 2 +- include/script_menu.h | 2 +- src/ghost.c | 106 +++++++++++++++-------------- src/mauville_old_man.c | 2 +- src/menu.c | 14 ++-- src/script_menu.c | 107 ++++++++++++++---------------- src/script_pokemon_util_80F87D8.c | 2 +- 8 files changed, 126 insertions(+), 125 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 5a19061d0e..8655d9bc3e 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -5347,7 +5347,7 @@ Move_ICE_BEAM: loadspritegfx ANIM_TAG_ICE_CRYSTALS createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 7, RGB_BLACK waitforvisualfinish - createsoundtask sub_8158C58, 183, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 4, 4, 0, 10 + createsoundtask sub_8158C58, SE_W062B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 4, 4, 0, 10 createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, 12, 0, 12, 20 createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, -12, 0, -12, 20 delay 1 @@ -5403,7 +5403,7 @@ Move_AURORA_BEAM: call AuroraBeam1 call AuroraBeam1 setarg 7, -1 - createsoundtask sub_8158C58, 183, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 6, 0, 10 + createsoundtask sub_8158C58, SE_W062B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 6, 0, 10 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 40, 1 call AuroraBeam1 call AuroraBeam1 @@ -7123,7 +7123,7 @@ Move_PSYBEAM: loadspritegfx ANIM_TAG_GOLD_RING playsewithpan SE_W060, SOUND_PAN_ATTACKER call SetPsychicBackground - createsoundtask sub_8158C58, 200, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 4, 0, 15 + createsoundtask sub_8158C58, SE_W060B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 4, 0, 15 call Psybeam1 call Psybeam1 createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, ANIM_TARGET @@ -7169,7 +7169,7 @@ Move_PSYWAVE: playsewithpan SE_W060, SOUND_PAN_ATTACKER call SetPsychicBackground createvisualtask sub_81076C8, 5, 100 - createsoundtask sub_8158C58, 203, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10 + createsoundtask sub_8158C58, SE_W100, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10 call Psywave1 call Psywave1 createvisualtask sub_8115A04, 2, 4, 1, 4, 0, 12, RGB(31, 18, 31) @@ -7346,8 +7346,8 @@ Move_SHADOW_BALL: fadetobg BG_GHOST waitbgfadein delay 15 - createsoundtask sub_8158C58, 168, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 5, 0, 5 - createsprite gUnknown_08596D58, ANIM_TARGET, 2, 16, 16, 8 + createsoundtask sub_8158C58, SE_W054, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 5, 0, 5 + createsprite gShadowBallSpriteTemplate, ANIM_TARGET, 2, 16, 16, 8 waitforvisualfinish playsewithpan SE_W028, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1 @@ -8019,7 +8019,7 @@ Move_TRI_ATTACK: delay 20 playsewithpan SE_W161, SOUND_PAN_ATTACKER delay 20 - createsoundtask sub_8158C58, 220, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 6, 0, 7 + createsoundtask sub_8158C58, SE_W161, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 6, 0, 7 waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK delay 16 @@ -8356,7 +8356,7 @@ Move_HYPER_BEAM: createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 4, 1 waitforvisualfinish delay 30 - createsoundtask sub_8158C58, 247, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5 + createsoundtask sub_8158C58, SE_W063B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 createvisualtask sub_8115D94, 2, ANIM_TAG_ORBS, 1, 12, 31, 16, 0, 0 call HyperBeam1 diff --git a/include/menu.h b/include/menu.h index 4f3c4a3cc4..2392de703f 100644 --- a/include/menu.h +++ b/include/menu.h @@ -91,7 +91,7 @@ void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP); void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram); void sub_8197AE8(bool8 copyToVram); -void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs); +void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, const struct MenuAction *strs); s8 Menu_ProcessInputGridLayout(void); u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); s8 Menu_ProcessInputNoWrapAround_other(void); diff --git a/include/script_menu.h b/include/script_menu.h index 1f4e549fec..efb51870be 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -11,7 +11,7 @@ bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); int convert_pixel_width_to_tile_width(int); u8 CreateWindowFromRect(u8, u8, u8, u8); -void sub_80E2A78(u8); +void ClearToTransparentAndRemoveWindow(u8); int display_text_and_get_width(const u8*, int); int sub_80E2D5C(int arg0, int tileWidth); bool16 ScrSpecial_CreatePCMenu(void); diff --git a/src/ghost.c b/src/ghost.c index 998be0caa5..97b86aa764 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -87,7 +87,7 @@ const union AffineAnimCmd *const gUnknown_08596D54[] = gUnknown_08596D44, }; -const struct SpriteTemplate gUnknown_08596D58 = +const struct SpriteTemplate gShadowBallSpriteTemplate = { .tileTag = ANIM_TAG_SHADOW_BALL, .paletteTag = ANIM_TAG_SHADOW_BALL, @@ -261,20 +261,20 @@ static void sub_81116E8(struct Sprite *sprite) AnimTranslateLinear(sprite); sprite->pos2.x += Sin(sprite->data[5], 10); sprite->pos2.y += Cos(sprite->data[5], 15); - + r2 = sprite->data[5]; sprite->data[5] = (sprite->data[5] + 5) & 0xFF; r0 = sprite->data[5]; - + if (r2 == 0 || r2 > 196) { if (r0 > 0) PlaySE(SE_W109); } - + if (sprite->data[6] == 0) { - sprite->invisible = TRUE; + sprite->invisible = TRUE; sprite->callback = DestroyAnimSpriteAndDisableBlend; } else @@ -283,18 +283,18 @@ static void sub_81116E8(struct Sprite *sprite) static void sub_8111764(struct Sprite *sprite) { - - s16 r0; + + s16 r0; if (sprite->data[6] > 0xFF) { if (++sprite->data[6] == 0x10d) sprite->data[6] = 0; return; } - + r0 = sprite->data[7]; sprite->data[7]++; - + if ((r0 & 0xFF) == 0) { sprite->data[7] &= 0xff00; @@ -392,16 +392,16 @@ static void sub_811196C(u8 taskId) } } -// Spins a sprite towards the target, pausing in the middle. -// Used in Shadow Ball. +// Spins a sprite towards the target, pausing in the middle. +// Used in Shadow Ball. // arg 0: duration step 1 (attacker -> center) // arg 1: duration step 2 (spin center) // arg 2: duration step 3 (center -> target) static void InitAnimShadowBall(struct Sprite *sprite) { - u16 r5, r6; - r5 = sprite->pos1.x; - r6 = sprite->pos1.y; + s16 oldPosX = sprite->pos1.x; + s16 oldPosY = sprite->pos1.y; + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); sprite->data[0] = 0; @@ -410,8 +410,8 @@ static void InitAnimShadowBall(struct Sprite *sprite) sprite->data[3] = gBattleAnimArgs[2]; sprite->data[4] = sprite->pos1.x << 4; sprite->data[5] = sprite->pos1.y << 4; - sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1); - sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1); + sprite->data[6] = ((oldPosX - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1); + sprite->data[7] = ((oldPosY - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1); sprite->callback = AnimShadowBallStep; } @@ -465,50 +465,57 @@ static void sub_8111B9C(struct Sprite *sprite) sprite->callback = sub_8111BB4; } -static void sub_8111BB4(struct Sprite *sprite) { - - s8 r5 = FALSE; +static void sub_8111BB4(struct Sprite *sprite) +{ + bool8 r5 = FALSE; bool8 r6 = FALSE; - if(sprite->animEnded) + + if (sprite->animEnded) { - if(!(sprite->invisible)) - sprite->invisible=TRUE; - switch(sprite->data[0]) + if (!sprite->invisible) + sprite->invisible = TRUE; + + switch (sprite->data[0]) { - case 0: - if((sprite->data[1]) != 2) - break; - goto loc_08111C06; - case 1: - if((sprite->data[1]) == 4) - r5 = TRUE; - break; - default: - r6 = TRUE; + default: + r6 = TRUE; + break; + case 0: + if (sprite->data[1] == 2) + r5 = TRUE; + break; + case 1: + if (sprite->data[1] == 4) + r5 = TRUE; + break; } - if(r5) + + if (r5) { - loc_08111C06: sprite->invisible ^= 1; sprite->data[2]++; sprite->data[1] = 0; - if(sprite->data[2] == 5) + if (sprite->data[2] == 5) { sprite->data[2] = 0; sprite->data[0]++; } } - else if(r6) + else if (r6) + { DestroyAnimSprite(sprite); + } else + { sprite->data[1]++; + } } } void sub_8111C50(u8 taskId) { struct Task *task; - + task = &gTasks[taskId]; task->data[0] = CloneBattlerSpriteWithBlend(1); if (task->data[0] < 0) @@ -523,7 +530,7 @@ void sub_8111C50(u8 taskId) SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL)); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[2], task->data[3])); gSprites[task->data[0]].data[0] = 80; - if (GetBattlerSide(gBattleAnimTarget) == 0) + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { gSprites[task->data[0]].data[1] = -144; gSprites[task->data[0]].data[2] = 112; @@ -573,6 +580,7 @@ static void sub_8111D78(u8 taskId) break; case 2: DestroyAnimVisualTask(taskId); + break; } } @@ -595,7 +603,7 @@ static void sub_8111E78(u8 taskId) switch (task->data[15]) { case 0: - task->data[14] = AllocSpritePalette(0x2771); + task->data[14] = AllocSpritePalette(ANIM_TAG_BENT_SPOON); if (task->data[14] == 0xFF || task->data[14] == 0xF) { DestroyAnimVisualTask(taskId); @@ -605,7 +613,7 @@ static void sub_8111E78(u8 taskId) task->data[0] = CloneBattlerSpriteWithBlend(1); if (task->data[0] < 0) { - FreeSpritePaletteByTag(0x2771); + FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON); DestroyAnimVisualTask(taskId); } else @@ -698,14 +706,14 @@ static void sub_81120DC(u8 taskId) static void sub_8112170(u8 taskId) { struct Task *task = &gTasks[taskId]; - u8 position = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); + u8 rank = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); switch (task->data[15]) { case 0: gScanlineEffect.state = 3; task->data[14] = GetAnimBattlerSpriteId(1); - if (position == 1) + if (rank == 1) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); else ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); @@ -714,12 +722,12 @@ static void sub_8112170(u8 taskId) BlendPalette(task->data[4], 16, 0, RGB(13, 0, 15)); break; case 2: - gSprites[task->data[14]].invisible = 1; + gSprites[task->data[14]].invisible = TRUE; obj_delete_but_dont_free_vram(&gSprites[task->data[0]]); - FreeSpritePaletteByTag(0x2771); + FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON); SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); - if (position == 1) + if (rank == 1) SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); else SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); @@ -886,7 +894,7 @@ static void sub_81125E0(u8 taskId) } } } - + if (task->data[10]) task->data[10]--; else if (task->data[6]) @@ -1081,7 +1089,7 @@ static void sub_8112ACC(struct Sprite *sprite) if (sprite->data[0] == 0) { SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL)); - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0x10, 0)); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); sprite->data[0]++; sprite->data[1] = 0; sprite->data[2] = 0; @@ -1120,7 +1128,7 @@ static void sub_8112B78(struct Sprite *sprite) sprite->pos2.x = Sin(sprite->data[0], 12); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->pos2.x = -sprite->pos2.x; - + sprite->data[0] = (sprite->data[0] + 6) & 0xFF; sprite->data[1] += 0x100; sprite->pos2.y = -(sprite->data[1] >> 8); diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index ddd3f931e0..8bb9cb6e4c 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -1193,7 +1193,7 @@ static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu gSpecialVar_Result = 1; sSelectedStory = selection; } - sub_80E2A78(sStorytellerWindowId); + ClearToTransparentAndRemoveWindow(sStorytellerWindowId); DestroyTask(taskId); EnableBothScriptContexts(); break; diff --git a/src/menu.c b/src/menu.c index 958788b25c..80d440771f 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1661,16 +1661,14 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sYesNoWindowId, 2, initialCursorPos); } -void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs) +void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, const struct MenuAction *strs) { - u32 i; - u32 j; - for (i = 0; i < a7; i++) + u32 i, j; + + for (i = 0; i < verticalCount; i++) { - for (j = 0; j < a6; j++) - { - AddTextPrinterParameterized(windowId, 1, strs[(i * a6) + j].text, (a4 * j) + 8, (i * 16) + 1, 0xFF, NULL); - } + for (j = 0; j < horizontalCount; j++) + AddTextPrinterParameterized(windowId, 1, strs[(i * horizontalCount) + j].text, (optionWidth * j) + 8, (i * 16) + 1, 0xFF, NULL); } CopyWindowToVram(windowId, 2); } diff --git a/src/script_menu.c b/src/script_menu.c index c7523a370f..082253e35d 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -1183,7 +1183,7 @@ static void Task_HandleMultichoiceInput(u8 taskId) { gSpecialVar_Result = selection; } - sub_80E2A78(tWindowId); + ClearToTransparentAndRemoveWindow(tWindowId); DestroyTask(taskId); EnableBothScriptContexts(); } @@ -1219,8 +1219,6 @@ bool8 IsScriptActive(void) static void Task_HandleYesNoInput(u8 taskId) { - u8 left, top; - if (gTasks[taskId].tRight < 5) { gTasks[taskId].tRight++; @@ -1229,9 +1227,9 @@ static void Task_HandleYesNoInput(u8 taskId) switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case -2: + case MENU_NOTHING_CHOSEN: return; - case -1: + case MENU_B_PRESSED: case 1: PlaySE(SE_SELECT); gSpecialVar_Result = 0; @@ -1247,8 +1245,6 @@ static void Task_HandleYesNoInput(u8 taskId) bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount) { - u8 bottom = 0; - if (FuncIsActiveTask(Task_HandleMultichoiceGridInput) == TRUE) { return FALSE; @@ -1256,10 +1252,8 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr else { u8 taskId; - u8 unk2; - int width; - int i; - u8 newWidth; + u8 rowCount, newWidth; + int i, width; gSpecialVar_Result = 0xFF; width = 0; @@ -1272,15 +1266,15 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr newWidth = convert_pixel_width_to_tile_width(width); left = sub_80E2D5C(left, columnCount * newWidth); - unk2 = gMultichoiceLists[multichoiceId].count / columnCount; + rowCount = gMultichoiceLists[multichoiceId].count / columnCount; taskId = CreateTask(Task_HandleMultichoiceGridInput, 80); gTasks[taskId].tIgnoreBPress = ignoreBPress; - gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, unk2 * 2); + gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, rowCount * 2); SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 0); - sub_81997AC(gTasks[taskId].tWindowId, newWidth * 8, columnCount, unk2, gMultichoiceLists[multichoiceId].list); - sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, unk2, 0); + PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, gMultichoiceLists[multichoiceId].list); + sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, 0); CopyWindowToVram(gTasks[taskId].tWindowId, 3); return TRUE; } @@ -1291,23 +1285,24 @@ static void Task_HandleMultichoiceGridInput(u8 taskId) s16 *data = gTasks[taskId].data; s8 selection = Menu_ProcessInputGridLayout(); - if (selection != -2) + switch (selection) { - if (selection == -1) - { - if (tIgnoreBPress) - return; - PlaySE(SE_SELECT); - gSpecialVar_Result = 0x7F; - } - else - { - gSpecialVar_Result = selection; - } - sub_80E2A78(tWindowId); - DestroyTask(taskId); - EnableBothScriptContexts(); + case MENU_NOTHING_CHOSEN: + return; + case MENU_B_PRESSED: + if (tIgnoreBPress) + return; + PlaySE(SE_SELECT); + gSpecialVar_Result = 0x7F; + break; + default: + gSpecialVar_Result = selection; + break; } + + ClearToTransparentAndRemoveWindow(tWindowId); + DestroyTask(taskId); + EnableBothScriptContexts(); } #undef tWindowId @@ -1564,7 +1559,7 @@ static void Task_PokemonPicWindow(u8 taskId) task->tState++; break; case 3: - sub_80E2A78(task->tWindowId); + ClearToTransparentAndRemoveWindow(task->tWindowId); DestroyTask(taskId); break; } @@ -1628,7 +1623,7 @@ u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height) return windowId; } -void sub_80E2A78(u8 windowId) +void ClearToTransparentAndRemoveWindow(u8 windowId) { ClearStdWindowAndFrameToTransparent(windowId, TRUE); RemoveWindow(windowId); @@ -1638,30 +1633,30 @@ static void sub_80E2A94(u8 multichoiceId) { switch (multichoiceId) { - case 77: - FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); - break; - case 76: - FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); - break; - case 78: - FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); - break; - case 79: - FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); - break; - case 75: - FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); - break; - case 74: - FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); - break; + case 77: + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + break; + case 76: + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + break; + case 78: + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + break; + case 79: + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + break; + case 75: + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + break; + case 74: + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + break; } } diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index 7e4c145313..ece0303950 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -395,7 +395,7 @@ static void sub_80F8EE8(u8 taskId) task->data[0]++; break; case 4: - sub_80E2A78(gTasks[taskId].data[5]); + ClearToTransparentAndRemoveWindow(gTasks[taskId].data[5]); DestroyTask(taskId); break; } From d8c9f1b30fb92289e7aa4d44dfcf1b2120bea8d6 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 2 Apr 2019 15:06:44 +0200 Subject: [PATCH 28/84] Rows and columns --- include/menu.h | 4 ++-- src/menu.c | 60 +++++++++++++++++++++++++------------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/include/menu.h b/include/menu.h index 2392de703f..4d55fc9552 100644 --- a/include/menu.h +++ b/include/menu.h @@ -69,7 +69,7 @@ u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8); -u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos); +u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos); u8 sub_8199134(s8, s8); u8 GetStartMenuWindowId(void); void sub_819A2BC(u8, u8); @@ -91,7 +91,7 @@ void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP); void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram); void sub_8197AE8(bool8 copyToVram); -void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, const struct MenuAction *strs); +void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs); s8 Menu_ProcessInputGridLayout(void); u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); s8 Menu_ProcessInputNoWrapAround_other(void); diff --git a/src/menu.c b/src/menu.c index 80d440771f..b766b1b869 100644 --- a/src/menu.c +++ b/src/menu.c @@ -43,8 +43,8 @@ struct Menu u8 fontId; u8 optionWidth; u8 optionHeight; - u8 horizontalCount; - u8 verticalCount; + u8 columns; + u8 rows; bool8 APressMuted; }; @@ -1283,8 +1283,8 @@ u8 sub_8198F58(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 cursorHeight, sMenu.fontId = fontId; sMenu.optionWidth = a4; sMenu.optionHeight = cursorHeight; - sMenu.horizontalCount = a6; - sMenu.verticalCount = a7; + sMenu.columns = a6; + sMenu.rows = a7; pos = a9; @@ -1308,16 +1308,16 @@ void sub_8199060(u8 oldCursorPos, u8 newCursorPos) { u8 cursorWidth = GetMenuCursorDimensionByFont(sMenu.fontId, 0); u8 cursorHeight = GetMenuCursorDimensionByFont(sMenu.fontId, 1); - u8 xPos = (oldCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left; - u8 yPos = (oldCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top; + u8 xPos = (oldCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left; + u8 yPos = (oldCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top; FillWindowPixelRect(sMenu.windowId, PIXEL_FILL(1), xPos, yPos, cursorWidth, cursorHeight); - xPos = (newCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left; - yPos = (newCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top; + xPos = (newCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left; + yPos = (newCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top; AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow3, @@ -1333,13 +1333,13 @@ u8 sub_8199134(s8 deltaX, s8 deltaY) if (deltaX != 0) { - if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < 0) + if ((sMenu.cursorPos % sMenu.columns) + deltaX < 0) { - sMenu.cursorPos += sMenu.horizontalCount - 1; + sMenu.cursorPos += sMenu.columns - 1; } - else if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= sMenu.horizontalCount) + else if ((sMenu.cursorPos % sMenu.columns) + deltaX >= sMenu.columns) { - sMenu.cursorPos = (sMenu.cursorPos / sMenu.horizontalCount) * sMenu.horizontalCount; + sMenu.cursorPos = (sMenu.cursorPos / sMenu.columns) * sMenu.columns; } else { @@ -1349,17 +1349,17 @@ u8 sub_8199134(s8 deltaX, s8 deltaY) if (deltaY != 0) { - if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < 0) + if ((sMenu.cursorPos / sMenu.columns) + deltaY < 0) { - sMenu.cursorPos += sMenu.horizontalCount * (sMenu.verticalCount - 1); + sMenu.cursorPos += sMenu.columns * (sMenu.rows - 1); } - else if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= sMenu.verticalCount) + else if ((sMenu.cursorPos / sMenu.columns) + deltaY >= sMenu.rows) { - sMenu.cursorPos -= sMenu.horizontalCount * (sMenu.verticalCount - 1); + sMenu.cursorPos -= sMenu.columns * (sMenu.rows - 1); } else { - sMenu.cursorPos += (sMenu.horizontalCount * deltaY); + sMenu.cursorPos += (sMenu.columns * deltaY); } } @@ -1381,8 +1381,8 @@ u8 sub_81991F8(s8 deltaX, s8 deltaY) if (deltaX != 0) { - if (((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= 0) && - ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < sMenu.horizontalCount)) + if (((sMenu.cursorPos % sMenu.columns) + deltaX >= 0) && + ((sMenu.cursorPos % sMenu.columns) + deltaX < sMenu.columns)) { sMenu.cursorPos += deltaX; } @@ -1390,10 +1390,10 @@ u8 sub_81991F8(s8 deltaX, s8 deltaY) if (deltaY != 0) { - if (((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= 0) && - ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < sMenu.verticalCount)) + if (((sMenu.cursorPos / sMenu.columns) + deltaY >= 0) && + ((sMenu.cursorPos / sMenu.columns) + deltaY < sMenu.rows)) { - sMenu.cursorPos += (sMenu.horizontalCount * deltaY); + sMenu.cursorPos += (sMenu.columns * deltaY); } } @@ -1661,14 +1661,14 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sYesNoWindowId, 2, initialCursorPos); } -void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, const struct MenuAction *strs) +void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs) { u32 i, j; - for (i = 0; i < verticalCount; i++) + for (i = 0; i < rows; i++) { - for (j = 0; j < horizontalCount; j++) - AddTextPrinterParameterized(windowId, 1, strs[(i * horizontalCount) + j].text, (optionWidth * j) + 8, (i * 16) + 1, 0xFF, NULL); + for (j = 0; j < columns; j++) + AddTextPrinterParameterized(windowId, 1, strs[(i * columns) + j].text, (optionWidth * j) + 8, (i * 16) + 1, 0xFF, NULL); } CopyWindowToVram(windowId, 2); } @@ -1704,20 +1704,20 @@ void sub_819983C(u8 windowId, u8 a4, u8 itemCount, u8 itemCount2, const struct M CopyWindowToVram(windowId, 2); } -u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos) +u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos) { s32 pos; sMenu.left = 0; sMenu.top = 1; sMenu.minCursorPos = 0; - sMenu.maxCursorPos = (horizontalCount * verticalCount) - 1; + sMenu.maxCursorPos = (columns * rows) - 1; sMenu.windowId = windowId; sMenu.fontId = 1; sMenu.optionWidth = optionWidth; sMenu.optionHeight = 16; - sMenu.horizontalCount = horizontalCount; - sMenu.verticalCount = verticalCount; + sMenu.columns = columns; + sMenu.rows = rows; pos = initialCursorPos; From 1241700b204b9f450221299c6e837c0f522f60b2 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 2 Apr 2019 18:28:56 -0500 Subject: [PATCH 29/84] Finish documenting the other weather effects --- data/specials.inc | 2 +- graphics/weather/1.pal | 19 -- graphics/weather/2.pal | 19 -- include/field_weather.h | 59 ++-- src/cable_car.c | 19 +- src/field_weather.c | 6 +- src/field_weather_effect.c | 603 ++++++++++++++++++++----------------- 7 files changed, 366 insertions(+), 361 deletions(-) delete mode 100644 graphics/weather/1.pal delete mode 100644 graphics/weather/2.pal diff --git a/data/specials.inc b/data/specials.inc index 5a812cffa7..af69b51a15 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -327,7 +327,7 @@ gSpecials:: @ 81DBA64 def_special SetUpTrainerMovement def_special DoSealedChamberShakingEffect2 def_special FoundBlackGlasses - def_special sub_80AC81C + def_special StartDroughtWeatherBlend def_special DoDiveWarp def_special DoFallWarp def_special ShowContestEntryMonPic diff --git a/graphics/weather/1.pal b/graphics/weather/1.pal deleted file mode 100644 index fe57a8c7f7..0000000000 --- a/graphics/weather/1.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -65 148 255 -180 222 255 -115 205 246 -131 197 255 -82 189 246 -172 238 246 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/weather/2.pal b/graphics/weather/2.pal deleted file mode 100644 index 9516c7a191..0000000000 --- a/graphics/weather/2.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 230 139 -189 131 74 -238 197 123 -213 164 98 -164 106 49 -255 246 164 -222 205 164 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/include/field_weather.h b/include/field_weather.h index 7a4864075b..3a84a8a730 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -3,10 +3,13 @@ #include "sprite.h" -#define MAX_RAIN_SPRITES 24 -#define NUM_CLOUD_SPRITES 3 -#define NUM_FOG_SPRITES 20 -#define NUM_ASH_SPRITES 20 +#define MAX_RAIN_SPRITES 24 +#define NUM_CLOUD_SPRITES 3 +#define NUM_FOG1_SPRITES 20 +#define NUM_ASH_SPRITES 20 +#define NUM_FOG2_SPRITES 20 +#define NUM_SANDSTORM_SPRITES 20 +#define NUM_SWIRL_SANDSTORM_SPRITES 5 // Controls how the weather should be changing the screen palettes. enum @@ -39,11 +42,11 @@ struct Weather struct { u8 filler0[0xA0]; - struct Sprite *fog1Sprites[NUM_FOG_SPRITES]; + struct Sprite *fog1Sprites[NUM_FOG1_SPRITES]; struct Sprite *ashSprites[NUM_ASH_SPRITES]; - struct Sprite *fog2Sprites[20]; - struct Sprite *sandstormSprites1[20]; - struct Sprite *sandstormSprites2[5]; + struct Sprite *fog2Sprites[NUM_FOG2_SPRITES]; + struct Sprite *sandstormSprites1[NUM_SANDSTORM_SPRITES]; + struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES]; } s2; } sprites; u8 gammaShifts[19][32]; @@ -92,32 +95,32 @@ struct Weather u8 lightenedFogSpritePals[6]; u8 lightenedFogSpritePalsCount; u8 fog1SpritesCreated; - u16 baseAshSpritesX; + u16 ashBaseSpritesX; u16 unknown_6FE; u8 ashSpritesCreated; u8 filler_701[3]; - u32 unknown_704; - u32 unknown_708; + u32 sandstormXOffset; + u32 sandstormYOffset; u8 filler_70C[2]; - u16 unknown_70E; - u16 unknown_710; - u16 unknown_712; - u16 unknown_714; - u8 sandstormSprites1Created; - u8 sandstormSprites2Created; - u16 unknown_718; - u16 unknown_71A; - u16 unknown_71C; - u16 unknown_71E; - u16 unknown_720; - u16 unknown_722; + u16 sandstormBaseSpritesX; + u16 sandstormPosY; + u16 sandstormWaveIndex; + u16 sandstormWaveCounter; + u8 sandstormSpritesCreated; + u8 sandstormSwirlSpritesCreated; + u16 fog2BaseSpritesX; + u16 fog2PosY; + u16 fog2ScrollXCounter; + u16 fog2ScrollYCounter; + u16 fog2XOffset; + u16 fog2YOffset; u8 fog2SpritesCreated; u8 filler_725[1]; - u16 unknown_726; - u16 unknown_728; - u16 unknown_72A; - u16 unknown_72C; - u8 unknown_72E; + u16 bubblesDelayCounter; + u16 bubblesDelayIndex; + u16 bubblesCoordsIndex; + u16 bubblesSpriteCount; + u8 bubblesSpritesCreated; u8 filler_72F; u16 currBlendEVA; u16 currBlendEVB; diff --git a/src/cable_car.c b/src/cable_car.c index ab7b5726a1..42137e8046 100755 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -407,13 +407,12 @@ static void sub_81503E4(u8 taskId) case WEATHER_ASH: if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL && gWeatherPtr->sprites.s2.ashSprites[0]->oam.priority != 0) { - for (; i < 20; i++) + for (; i < NUM_ASH_SPRITES; i++) { - if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL) - { + if (gWeatherPtr->sprites.s2.ashSprites[i]) gWeatherPtr->sprites.s2.ashSprites[i]->oam.priority = 0; - } } + sCableCar->state = 2; } break; @@ -424,12 +423,10 @@ static void sub_81503E4(u8 taskId) } else if (sCableCar->timer >= sCableCar->unk4 + 8) { - for (; i < 20; i++) + for (; i < NUM_ASH_SPRITES; i++) { - if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL) - { - gWeatherPtr->sprites.s2.ashSprites[i]->invisible ^= TRUE; - } + if (gWeatherPtr->sprites.s2.ashSprites[i]) + gWeatherPtr->sprites.s2.ashSprites[i]->invisible ^= 1; } } break; @@ -445,9 +442,7 @@ static void sub_81503E4(u8 taskId) break; case 3: if (!gPaletteFade.active) - { sCableCar->state = 0xFF; - } break; case 0xFF: SetVBlankCallback(NULL); @@ -536,7 +531,7 @@ static void sub_8150664(u8 taskId) if (sCableCar->timer < sCableCar->unk4) gSpriteCoordOffsetX = (gSpriteCoordOffsetX + 247) % 248; else - gWeatherPtr->unknown_6FC = (gWeatherPtr->unknown_6FC + 247) % 248; + gWeatherPtr->ashBaseSpritesX = (gWeatherPtr->ashBaseSpritesX + 247) % 248; } static void CableCarVblankCallback(void) diff --git a/src/field_weather.c b/src/field_weather.c index 346d30a382..814e85ef47 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -173,9 +173,9 @@ void StartWeather(void) gWeatherPtr->ashSpritesCreated = 0; gWeatherPtr->fog1SpritesCreated = 0; gWeatherPtr->fog2SpritesCreated = 0; - gWeatherPtr->sandstormSprites1Created = 0; - gWeatherPtr->sandstormSprites2Created = 0; - gWeatherPtr->unknown_72E = 0; + gWeatherPtr->sandstormSpritesCreated = 0; + gWeatherPtr->sandstormSwirlSpritesCreated = 0; + gWeatherPtr->bubblesSpritesCreated = 0; gWeatherPtr->lightenedFogSpritePalsCount = 0; Weather_SetBlendCoeffs(16, 0); gWeatherPtr->currWeather = 0; diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 0544710ada..eac434983e 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle_anim.h" #include "event_object_movement.h" #include "field_weather.h" #include "overworld.h" @@ -17,8 +18,8 @@ EWRAM_DATA static u8 gCurrentAlternatingWeather = 0; EWRAM_DATA static u16 gUnusedWeatherRelated = 0; // CONST -const u16 gUnknown_0854C290[] = INCBIN_U16("graphics/weather/1.gbapal"); -const u16 gUnknown_0854C2B0[] = INCBIN_U16("graphics/weather/2.gbapal"); +const u16 gCloudsWeatherPalette[] = INCBIN_U16("graphics/weather/cloud.gbapal"); +const u16 gSandstormWeatherPalette[] = INCBIN_U16("graphics/weather/sandstorm.gbapal"); const u8 gWeatherFog2Tiles[] = INCBIN_U8("graphics/weather/fog2.4bpp"); const u8 gWeatherFog1Tiles[] = INCBIN_U8("graphics/weather/fog1.4bpp"); const u8 gWeatherCloudTiles[] = INCBIN_U8("graphics/weather/cloud.4bpp"); @@ -180,7 +181,7 @@ static void CreateCloudSprites(void) return; LoadSpriteSheet(&sCloudSpriteSheet); - LoadCustomWeatherSpritePalette(gUnknown_0854C290); + LoadCustomWeatherSpritePalette(gCloudsWeatherPalette); for (i = 0; i < NUM_CLOUD_SPRITES; i++) { spriteId = CreateSprite(&sCloudSpriteTemplate, 0, 0, 0xFF); @@ -229,6 +230,8 @@ static void UpdateCloudSprite(struct Sprite *sprite) // Drought //------------------------------------------------------------------------------ +static void UpdateDroughtBlend(u8); + void Drought_InitVars(void) { gWeatherPtr->initStep = 0; @@ -280,14 +283,12 @@ void Drought_Main(void) bool8 Drought_Finish(void) { - return 0; + return FALSE; } -void task50_0807B6D4(u8); - -void sub_80AC81C(void) +void StartDroughtWeatherBlend(void) { - CreateTask(task50_0807B6D4, 0x50); + CreateTask(UpdateDroughtBlend, 0x50); } #define tState data[0] @@ -295,7 +296,7 @@ void sub_80AC81C(void) #define tBlendDelay data[2] #define tWinRange data[3] -void task50_0807B6D4(u8 taskId) +static void UpdateDroughtBlend(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1436,7 +1437,7 @@ static void CreateFog1Sprites(void) .tag = 0x1201, }; LoadSpriteSheet(&fog1SpriteSheet); - for (i = 0; i < NUM_FOG_SPRITES; i++) + for (i = 0; i < NUM_FOG1_SPRITES; i++) { spriteId = CreateSpriteAtEnd(&sFog1SpriteTemplate, 0, 0, 0xFF); if (spriteId != MAX_SPRITES) @@ -1463,7 +1464,7 @@ static void DestroyFog1Sprites(void) if (gWeatherPtr->fog1SpritesCreated) { - for (i = 0; i < NUM_FOG_SPRITES; i++) + for (i = 0; i < NUM_FOG1_SPRITES; i++) { if (gWeatherPtr->sprites.s2.fog1Sprites[i] != NULL) DestroySprite(gWeatherPtr->sprites.s2.fog1Sprites[i]); @@ -1508,9 +1509,9 @@ void Ash_InitAll(void) void Ash_Main(void) { - gWeatherPtr->baseAshSpritesX = gSpriteCoordOffsetX & 0x1FF; - while (gWeatherPtr->baseAshSpritesX >= 240) - gWeatherPtr->baseAshSpritesX -= 240; + gWeatherPtr->ashBaseSpritesX = gSpriteCoordOffsetX & 0x1FF; + while (gWeatherPtr->ashBaseSpritesX >= 240) + gWeatherPtr->ashBaseSpritesX -= 240; switch (gWeatherPtr->initStep) { @@ -1676,10 +1677,10 @@ static void UpdateAshSprite(struct Sprite *sprite) } sprite->pos1.y = gSpriteCoordOffsetY + sprite->tOffsetY; - sprite->pos1.x = gWeatherPtr->baseAshSpritesX + 32 + sprite->tSpriteColumn * 64; + sprite->pos1.x = gWeatherPtr->ashBaseSpritesX + 32 + sprite->tSpriteColumn * 64; if (sprite->pos1.x > 271) { - sprite->pos1.x = gWeatherPtr->baseAshSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->pos1.x = gWeatherPtr->ashBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; sprite->pos1.x &= 0x1FF; } } @@ -1693,6 +1694,11 @@ static void UpdateAshSprite(struct Sprite *sprite) // Fog 2 //------------------------------------------------------------------------------ +static void UpdateFog2Movement(void); +static void CreateFog2Sprites(void); +static void DestroyFog2Sprites(void); +static void UpdateFog2Sprite(struct Sprite *); + void Fog2_InitVars(void) { gWeatherPtr->initStep = 0; @@ -1701,20 +1707,18 @@ void Fog2_InitVars(void) gWeatherPtr->gammaStepDelay = 20; gWeatherPtr->fog1ScrollCounter = 0; gWeatherPtr->fog1ScrollOffset = 1; - if (gWeatherPtr->fog2SpritesCreated == 0) + if (!gWeatherPtr->fog2SpritesCreated) { - gWeatherPtr->unknown_71C = 0; - gWeatherPtr->unknown_71E = 0; - gWeatherPtr->unknown_720 = 0; - gWeatherPtr->unknown_722 = 0; - gWeatherPtr->unknown_718 = 0; - gWeatherPtr->unknown_71A = 0; + gWeatherPtr->fog2ScrollXCounter = 0; + gWeatherPtr->fog2ScrollYCounter = 0; + gWeatherPtr->fog2XOffset = 0; + gWeatherPtr->fog2YOffset = 0; + gWeatherPtr->fog2BaseSpritesX = 0; + gWeatherPtr->fog2PosY = 0; Weather_SetBlendCoeffs(0, 16); } } -void Fog2_Main(void); - void Fog2_InitAll(void) { Fog2_InitVars(); @@ -1722,12 +1726,9 @@ void Fog2_InitAll(void) Fog2_Main(); } -void sub_807FC9C(void); -void CreateFog2Sprites(void); - void Fog2_Main(void) { - sub_807FC9C(); + UpdateFog2Movement(); switch (gWeatherPtr->initStep) { case 0: @@ -1747,11 +1748,9 @@ void Fog2_Main(void) } } -void DestroyFog2Sprites(void); - bool8 Fog2_Finish(void) { - sub_807FC9C(); + UpdateFog2Movement(); switch (gWeatherPtr->finishStep) { case 0: @@ -1773,57 +1772,32 @@ bool8 Fog2_Finish(void) return TRUE; } -void sub_807FC9C(void) +static void UpdateFog2Movement(void) { - if (++gWeatherPtr->unknown_71C > 2) + if (++gWeatherPtr->fog2ScrollXCounter > 2) { - gWeatherPtr->unknown_720++; - gWeatherPtr->unknown_71C = 0; + gWeatherPtr->fog2XOffset++; + gWeatherPtr->fog2ScrollXCounter = 0; } - if (++gWeatherPtr->unknown_71E > 4) + if (++gWeatherPtr->fog2ScrollYCounter > 4) { - gWeatherPtr->unknown_722++; - gWeatherPtr->unknown_71E = 0; + gWeatherPtr->fog2YOffset++; + gWeatherPtr->fog2ScrollYCounter = 0; } - gWeatherPtr->unknown_718 = (gSpriteCoordOffsetX - gWeatherPtr->unknown_720) & 0xFF; - gWeatherPtr->unknown_71A = gSpriteCoordOffsetY + gWeatherPtr->unknown_722; + gWeatherPtr->fog2BaseSpritesX = (gSpriteCoordOffsetX - gWeatherPtr->fog2XOffset) & 0xFF; + gWeatherPtr->fog2PosY = gSpriteCoordOffsetY + gWeatherPtr->fog2YOffset; } -extern const struct SpriteTemplate sFog2SpriteTemplate; // defined below - -void CreateFog2Sprites(void) +static const struct SpriteSheet gFog2SpriteSheet = { - u16 i; + .data = gWeatherFog2Tiles, + .size = sizeof(gWeatherFog2Tiles), + .tag = 0x1203, +}; - if (!gWeatherPtr->fog2SpritesCreated) - { - struct SpriteSheet fog2SpriteSheet = {gWeatherFog2Tiles, sizeof(gWeatherFog2Tiles), 0x1203}; - - LoadSpriteSheet(&fog2SpriteSheet); - for (i = 0; i < 20; i++) - { - u8 spriteId = CreateSpriteAtEnd(&sFog2SpriteTemplate, 0, (i / 5) * 64, 0xFF); - - if (spriteId != MAX_SPRITES) - { - struct Sprite *sprite = &gSprites[spriteId]; - - sprite->data[0] = i % 5; - sprite->data[1] = i / 5; - gWeatherPtr->sprites.s2.fog2Sprites[i] = sprite; - } - else - { - gWeatherPtr->sprites.s2.fog2Sprites[i] = NULL; - } - } - gWeatherPtr->fog2SpritesCreated = TRUE; - } -} - -const struct OamData gOamData_839ABF0 = +static const struct OamData sFog2SpriteOamData = { .y = 0, .affineMode = 0, @@ -1840,103 +1814,146 @@ const struct OamData gOamData_839ABF0 = .affineParam = 0, }; -const union AnimCmd gSpriteAnim_839ABF8[] = +static const union AnimCmd sFog2SpriteAnimCmd0[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_END, }; -const union AnimCmd *const gSpriteAnimTable_839AC00[] = +static const union AnimCmd *const sFog2SpriteAnimCmds[] = { - gSpriteAnim_839ABF8, + sFog2SpriteAnimCmd0, }; -void Fog2SpriteCallback(struct Sprite *); -const struct SpriteTemplate sFog2SpriteTemplate = +static const struct SpriteTemplate sFog2SpriteTemplate = { - .tileTag = 4611, + .tileTag = 0x1203, .paletteTag = 0x1200, - .oam = &gOamData_839ABF0, - .anims = gSpriteAnimTable_839AC00, + .oam = &sFog2SpriteOamData, + .anims = sFog2SpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = Fog2SpriteCallback, + .callback = UpdateFog2Sprite, }; -void DestroyFog2Sprites(void) +#define tSpriteColumn data[0] +#define tSpriteRow data[1] + +static void CreateFog2Sprites(void) +{ + u16 i; + struct SpriteSheet fog2SpriteSheet; + u8 spriteId; + struct Sprite *sprite; + + if (!gWeatherPtr->fog2SpritesCreated) + { + fog2SpriteSheet = gFog2SpriteSheet; + LoadSpriteSheet(&fog2SpriteSheet); + for (i = 0; i < NUM_FOG2_SPRITES; i++) + { + spriteId = CreateSpriteAtEnd(&sFog2SpriteTemplate, 0, (i / 5) * 64, 0xFF); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->tSpriteColumn = i % 5; + sprite->tSpriteRow = i / 5; + gWeatherPtr->sprites.s2.fog2Sprites[i] = sprite; + } + else + { + gWeatherPtr->sprites.s2.fog2Sprites[i] = NULL; + } + } + + gWeatherPtr->fog2SpritesCreated = TRUE; + } +} + +static void DestroyFog2Sprites(void) { u16 i; if (gWeatherPtr->fog2SpritesCreated) { - for (i = 0; i < 20; i++) + for (i = 0; i < NUM_FOG2_SPRITES; i++) { - if (gWeatherPtr->sprites.s2.fog2Sprites[i] != NULL) + if (gWeatherPtr->sprites.s2.fog2Sprites[i]) DestroySprite(gWeatherPtr->sprites.s2.fog2Sprites[i]); } + FreeSpriteTilesByTag(0x1203); gWeatherPtr->fog2SpritesCreated = FALSE; } } -void Fog2SpriteCallback(struct Sprite *sprite) +static void UpdateFog2Sprite(struct Sprite *sprite) { - sprite->pos2.y = gWeatherPtr->unknown_71A; - sprite->pos1.x = gWeatherPtr->unknown_718 + 32 + sprite->data[0] * 64; + sprite->pos2.y = gWeatherPtr->fog2PosY; + sprite->pos1.x = gWeatherPtr->fog2BaseSpritesX + 32 + sprite->tSpriteColumn * 64; if (sprite->pos1.x > 271) { - sprite->pos1.x = gWeatherPtr->unknown_718 + 0x1E0 - (4 - sprite->data[0]) * 64; + sprite->pos1.x = gWeatherPtr->fog2BaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; sprite->pos1.x &= 0x1FF; } } +#undef tSpriteColumn +#undef tSpriteRow + //------------------------------------------------------------------------------ // Sandstorm //------------------------------------------------------------------------------ +static void UpdateSandstormWaveIndex(void); +static void UpdateSandstormMovement(void); +static void CreateSandstormSprites(void); +static void CreateSwirlSandstormSprites(void); +static void DestroySandstormSprites(void); +static void UpdateSandstormSprite(struct Sprite *); +static void WaitSandSwirlSpriteEntrance(struct Sprite *); +static void UpdateSandstormSwirlSprite(struct Sprite *); + +#define MIN_SANDSTORM_WAVE_INDEX 0x20 + void Sandstorm_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = 0; gWeatherPtr->gammaTargetIndex = 0; gWeatherPtr->gammaStepDelay = 20; - if (gWeatherPtr->sandstormSprites1Created == 0) + if (!gWeatherPtr->sandstormSpritesCreated) { - gWeatherPtr->unknown_704 = gWeatherPtr->unknown_708 = 0; - gWeatherPtr->unknown_712 = 8; - gWeatherPtr->unknown_714 = 0; + gWeatherPtr->sandstormXOffset = gWeatherPtr->sandstormYOffset = 0; + gWeatherPtr->sandstormWaveIndex = 8; + gWeatherPtr->sandstormWaveCounter = 0; // Dead code. How does the compiler not optimize this out? - if (gWeatherPtr->unknown_712 > 0x5F) - gWeatherPtr->unknown_712 = 0x80 - gWeatherPtr->unknown_712; + if (gWeatherPtr->sandstormWaveIndex >= 0x80 - MIN_SANDSTORM_WAVE_INDEX) + gWeatherPtr->sandstormWaveIndex = 0x80 - gWeatherPtr->sandstormWaveIndex; + Weather_SetBlendCoeffs(0, 16); } } -void Sandstorm_Main(void); - void Sandstorm_InitAll(void) { Sandstorm_InitVars(); - while (gWeatherPtr->weatherGfxLoaded == FALSE) + while (!gWeatherPtr->weatherGfxLoaded) Sandstorm_Main(); } -void sub_808002C(void); -void sub_8080064(void); -void CreateSandstormSprites_1(void); -void CreateSandstormSprites_2(void); - void Sandstorm_Main(void) { - sub_8080064(); - sub_808002C(); - if (gWeatherPtr->unknown_712 > 0x5F) - gWeatherPtr->unknown_712 = 32; + UpdateSandstormMovement(); + UpdateSandstormWaveIndex(); + if (gWeatherPtr->sandstormWaveIndex >= 0x80 - MIN_SANDSTORM_WAVE_INDEX) + gWeatherPtr->sandstormWaveIndex = MIN_SANDSTORM_WAVE_INDEX; + switch (gWeatherPtr->initStep) { case 0: - CreateSandstormSprites_1(); - CreateSandstormSprites_2(); + CreateSandstormSprites(); + CreateSwirlSandstormSprites(); gWeatherPtr->initStep++; break; case 1: @@ -1944,20 +1961,19 @@ void Sandstorm_Main(void) gWeatherPtr->initStep++; break; case 2: - if (!Weather_UpdateBlend()) - break; - gWeatherPtr->weatherGfxLoaded = TRUE; - gWeatherPtr->initStep++; + if (Weather_UpdateBlend()) + { + gWeatherPtr->weatherGfxLoaded = TRUE; + gWeatherPtr->initStep++; + } break; } } -void sub_80800E4(void); - bool8 Sandstorm_Finish(void) { - sub_8080064(); - sub_808002C(); + UpdateSandstormMovement(); + UpdateSandstormWaveIndex(); switch (gWeatherPtr->finishStep) { case 0: @@ -1965,64 +1981,66 @@ bool8 Sandstorm_Finish(void) gWeatherPtr->finishStep++; break; case 1: - if (!Weather_UpdateBlend()) - break; - gWeatherPtr->finishStep++; + if (Weather_UpdateBlend()) + gWeatherPtr->finishStep++; break; case 2: - sub_80800E4(); + DestroySandstormSprites(); gWeatherPtr->finishStep++; break; default: return FALSE; } + return TRUE; } -void sub_808002C(void) +static void UpdateSandstormWaveIndex(void) { - if (gWeatherPtr->unknown_714++ > 4) + if (gWeatherPtr->sandstormWaveCounter++ > 4) { - gWeatherPtr->unknown_712++; - gWeatherPtr->unknown_714 = 0; + gWeatherPtr->sandstormWaveIndex++; + gWeatherPtr->sandstormWaveCounter = 0; } } -void sub_8080064(void) +static void UpdateSandstormMovement(void) { - gWeatherPtr->unknown_704 -= gSineTable[gWeatherPtr->unknown_712] * 4; - gWeatherPtr->unknown_708 -= gSineTable[gWeatherPtr->unknown_712]; - gWeatherPtr->unknown_70E = (gSpriteCoordOffsetX + (gWeatherPtr->unknown_704 >> 8)) & 0xFF; - gWeatherPtr->unknown_710 = gSpriteCoordOffsetY + (gWeatherPtr->unknown_708 >> 8); + gWeatherPtr->sandstormXOffset -= gSineTable[gWeatherPtr->sandstormWaveIndex] * 4; + gWeatherPtr->sandstormYOffset -= gSineTable[gWeatherPtr->sandstormWaveIndex]; + gWeatherPtr->sandstormBaseSpritesX = (gSpriteCoordOffsetX + (gWeatherPtr->sandstormXOffset >> 8)) & 0xFF; + gWeatherPtr->sandstormPosY = gSpriteCoordOffsetY + (gWeatherPtr->sandstormYOffset >> 8); } -void sub_80800E4(void) +static void DestroySandstormSprites(void) { u16 i; - if (gWeatherPtr->sandstormSprites1Created) + if (gWeatherPtr->sandstormSpritesCreated) { - for (i = 0; i < 20; i++) + for (i = 0; i < NUM_SANDSTORM_SPRITES; i++) { - if (gWeatherPtr->sprites.s2.sandstormSprites1[i] != NULL) + if (gWeatherPtr->sprites.s2.sandstormSprites1[i]) DestroySprite(gWeatherPtr->sprites.s2.sandstormSprites1[i]); } - gWeatherPtr->sandstormSprites1Created = FALSE; + + gWeatherPtr->sandstormSpritesCreated = FALSE; FreeSpriteTilesByTag(0x1204); } - if (gWeatherPtr->sandstormSprites2Created) + if (gWeatherPtr->sandstormSwirlSpritesCreated) { - for (i = 0; i < 5; i++) + for (i = 0; i < NUM_SWIRL_SANDSTORM_SPRITES; i++) { if (gWeatherPtr->sprites.s2.sandstormSprites2[i] != NULL) DestroySprite(gWeatherPtr->sprites.s2.sandstormSprites2[i]); } - gWeatherPtr->sandstormSprites2Created = FALSE; + + gWeatherPtr->sandstormSwirlSpritesCreated = FALSE; } } -const struct OamData gOamData_839AC1C = +static const struct OamData sSandstormSpriteOamData = { .y = 0, .affineMode = 0, @@ -2039,142 +2057,162 @@ const struct OamData gOamData_839AC1C = .affineParam = 0, }; -const union AnimCmd gSpriteAnim_839AC24[] = +static const union AnimCmd sSandstormSpriteAnimCmd0[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_END, }; -const union AnimCmd gSpriteAnim_839AC2C[] = +static const union AnimCmd sSandstormSpriteAnimCmd1[] = { ANIMCMD_FRAME(64, 3), ANIMCMD_END, }; -const union AnimCmd *const gSpriteAnimTable_839AC34[] = +static const union AnimCmd *const sSandstormSpriteAnimCmds[] = { - gSpriteAnim_839AC24, - gSpriteAnim_839AC2C, + sSandstormSpriteAnimCmd0, + sSandstormSpriteAnimCmd1, }; -void SandstormSpriteCallback1(struct Sprite *); -const struct SpriteTemplate sSandstormSpriteTemplate = +static const struct SpriteTemplate sSandstormSpriteTemplate = { .tileTag = 0x1204, .paletteTag = 0x1201, - .oam = &gOamData_839AC1C, - .anims = gSpriteAnimTable_839AC34, + .oam = &sSandstormSpriteOamData, + .anims = sSandstormSpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SandstormSpriteCallback1, + .callback = UpdateSandstormSprite, }; -static const struct SpriteSheet sSandstormSpriteSheet = {gWeatherSandstormTiles, sizeof(gWeatherSandstormTiles), 0x1204}; +static const struct SpriteSheet sSandstormSpriteSheet = +{ + .data = gWeatherSandstormTiles, + .size = sizeof(gWeatherSandstormTiles), + .tag = 0x1204, +}; -void CreateSandstormSprites_1(void) +// Regular sandstorm sprites +#define tSpriteColumn data[0] +#define tSpriteRow data[1] + +// Swirly sandstorm sprites +#define tRadius data[0] +#define tWaveIndex data[1] +#define tRadiusCounter data[2] +#define tEntranceDelay data[3] + +static void CreateSandstormSprites(void) { u16 i; + u8 spriteId; - if (!gWeatherPtr->sandstormSprites1Created) + if (!gWeatherPtr->sandstormSpritesCreated) { LoadSpriteSheet(&sSandstormSpriteSheet); - LoadCustomWeatherSpritePalette(gUnknown_0854C2B0); - for (i = 0; i < 20; i++) + LoadCustomWeatherSpritePalette(gSandstormWeatherPalette); + for (i = 0; i < NUM_SANDSTORM_SPRITES; i++) { - u8 spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, 0, (i / 5) * 64, 1); - + spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, 0, (i / 5) * 64, 1); if (spriteId != MAX_SPRITES) { gWeatherPtr->sprites.s2.sandstormSprites1[i] = &gSprites[spriteId]; - gWeatherPtr->sprites.s2.sandstormSprites1[i]->data[0] = i % 5; - gWeatherPtr->sprites.s2.sandstormSprites1[i]->data[1] = i / 5; + gWeatherPtr->sprites.s2.sandstormSprites1[i]->tSpriteColumn = i % 5; + gWeatherPtr->sprites.s2.sandstormSprites1[i]->tSpriteRow = i / 5; } else { gWeatherPtr->sprites.s2.sandstormSprites1[i] = NULL; } } - gWeatherPtr->sandstormSprites1Created = TRUE; + + gWeatherPtr->sandstormSpritesCreated = TRUE; } } -const u16 gUnknown_0839AC5C[] = {0, 120, 80, 160, 40, 0}; +static const u16 sSwirlEntranceDelays[] = {0, 120, 80, 160, 40, 0}; -void SandstormSpriteCallback2(struct Sprite *); - -void CreateSandstormSprites_2(void) +static void CreateSwirlSandstormSprites(void) { u16 i; + u8 spriteId; - if (!gWeatherPtr->sandstormSprites2Created) + if (!gWeatherPtr->sandstormSwirlSpritesCreated) { - for (i = 0; i < 5; i++) + for (i = 0; i < NUM_SWIRL_SANDSTORM_SPRITES; i++) { - u8 spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, i * 48 + 24, 208, 1); - + spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, i * 48 + 24, 208, 1); if (spriteId != MAX_SPRITES) { gWeatherPtr->sprites.s2.sandstormSprites2[i] = &gSprites[spriteId]; gWeatherPtr->sprites.s2.sandstormSprites2[i]->oam.size = 2; - gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[1] = i * 51; - gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[0] = 8; - gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[2] = 0; - gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[4] = 0x6730; - gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[3] = gUnknown_0839AC5C[i]; + gWeatherPtr->sprites.s2.sandstormSprites2[i]->tSpriteRow = i * 51; + gWeatherPtr->sprites.s2.sandstormSprites2[i]->tRadius = 8; + gWeatherPtr->sprites.s2.sandstormSprites2[i]->tRadiusCounter = 0; + gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[4] = 0x6730; // unused value + gWeatherPtr->sprites.s2.sandstormSprites2[i]->tEntranceDelay = sSwirlEntranceDelays[i]; StartSpriteAnim(gWeatherPtr->sprites.s2.sandstormSprites2[i], 1); CalcCenterToCornerVec(gWeatherPtr->sprites.s2.sandstormSprites2[i], 0, 2, 0); - gWeatherPtr->sprites.s2.sandstormSprites2[i]->callback = SandstormSpriteCallback2; + gWeatherPtr->sprites.s2.sandstormSprites2[i]->callback = WaitSandSwirlSpriteEntrance; } else { gWeatherPtr->sprites.s2.sandstormSprites2[i] = NULL; } - gWeatherPtr->sandstormSprites2Created = TRUE; + + gWeatherPtr->sandstormSwirlSpritesCreated = TRUE; } } } -void SandstormSpriteCallback1(struct Sprite *sprite) +static void UpdateSandstormSprite(struct Sprite *sprite) { - sprite->pos2.y = gWeatherPtr->unknown_710; - sprite->pos1.x = gWeatherPtr->unknown_70E + 32 + sprite->data[0] * 64; + sprite->pos2.y = gWeatherPtr->sandstormPosY; + sprite->pos1.x = gWeatherPtr->sandstormBaseSpritesX + 32 + sprite->tSpriteColumn * 64; if (sprite->pos1.x > 271) { - sprite->pos1.x = gWeatherPtr->unknown_70E + 0x1E0 - (4 - sprite->data[0]) * 64; + sprite->pos1.x = gWeatherPtr->sandstormBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; sprite->pos1.x &= 0x1FF; } } -void SandstormSpriteCallback3(struct Sprite *); - -void SandstormSpriteCallback2(struct Sprite *sprite) +static void WaitSandSwirlSpriteEntrance(struct Sprite *sprite) { - if (--sprite->data[3] == -1) - sprite->callback = SandstormSpriteCallback3; + if (--sprite->tEntranceDelay == -1) + sprite->callback = UpdateSandstormSwirlSprite; } -void SandstormSpriteCallback3(struct Sprite *sprite) +static void UpdateSandstormSwirlSprite(struct Sprite *sprite) { - u32 x; - u32 y; + u32 x, y; if (--sprite->pos1.y < -48) { sprite->pos1.y = 208; - sprite->data[0] = 4; + sprite->tRadius = 4; } - x = sprite->data[0] * gSineTable[sprite->data[1]]; - y = sprite->data[0] * gSineTable[sprite->data[1] + 64]; + + x = sprite->tRadius * gSineTable[sprite->tWaveIndex]; + y = sprite->tRadius * gSineTable[sprite->tWaveIndex + 0x40]; sprite->pos2.x = x >> 8; sprite->pos2.y = y >> 8; - sprite->data[1] = (sprite->data[1] + 10) & 0xFF; - if (++sprite->data[2] > 8) + sprite->tWaveIndex = (sprite->tWaveIndex + 10) & 0xFF; + if (++sprite->tRadiusCounter > 8) { - sprite->data[2] = 0; - sprite->data[0]++; + sprite->tRadiusCounter = 0; + sprite->tRadius++; } } +#undef tSpriteColumn +#undef tSpriteRow + +#undef tRadius +#undef tWaveIndex +#undef tRadiusCounter +#undef tEntranceDelay + //------------------------------------------------------------------------------ // Shade //------------------------------------------------------------------------------ @@ -2204,61 +2242,20 @@ bool8 Shade_Finish(void) // Bubbles //------------------------------------------------------------------------------ -const u8 gUnknown_0839AC68[] = {40, 90, 60, 90, 2, 60, 40, 30}; +static void CreateBubbleSprite(u16); +static void DestroyBubbleSprites(void); +static void UpdateBubbleSprite(struct Sprite *); -const struct SpriteSheet gWeatherBubbleSpriteSheet = {gWeatherBubbleTiles, sizeof(gWeatherBubbleTiles), 0x1205}; +static const u8 sBubbleStartDelays[] = {40, 90, 60, 90, 2, 60, 40, 30}; -void Bubbles_InitVars(void) +static const struct SpriteSheet sWeatherBubbleSpriteSheet = { - Fog1_InitVars(); - if (gWeatherPtr->unknown_72E == 0) - { - LoadSpriteSheet(&gWeatherBubbleSpriteSheet); - gWeatherPtr->unknown_728 = 0; - gWeatherPtr->unknown_726 = gUnknown_0839AC68[0]; - gWeatherPtr->unknown_72A = 0; - gWeatherPtr->unknown_72C = 0; - } -} + .data = gWeatherBubbleTiles, + .size = sizeof(gWeatherBubbleTiles), + .tag = 0x1205, +}; -void Bubbles_Main(void); - -void Bubbles_InitAll(void) -{ - Bubbles_InitVars(); - while (gWeatherPtr->weatherGfxLoaded == FALSE) - Bubbles_Main(); -} - -void sub_8080588(u16); - -void Bubbles_Main(void) -{ - Fog1_Main(); - if (++gWeatherPtr->unknown_726 > gUnknown_0839AC68[gWeatherPtr->unknown_728]) - { - gWeatherPtr->unknown_726 = 0; - if (++gWeatherPtr->unknown_728 > 7) - gWeatherPtr->unknown_728 = 0; - sub_8080588(gWeatherPtr->unknown_72A); - if (++gWeatherPtr->unknown_72A > 12) - gWeatherPtr->unknown_72A = 0; - } -} - -void sub_8080610(void); - -bool8 Bubbles_Finish(void) -{ - if (!Fog1_Finish()) - { - sub_8080610(); - return FALSE; - } - return TRUE; -} - -const s16 gUnknown_0839AC78[][2] = +static const s16 sBubbleStartCoords[][2] = { {120, 160}, {376, 160}, @@ -2275,91 +2272,139 @@ const s16 gUnknown_0839AC78[][2] = {256, 160}, }; -const union AnimCmd gSpriteAnim_839ACAC[] = +void Bubbles_InitVars(void) +{ + Fog1_InitVars(); + if (!gWeatherPtr->bubblesSpritesCreated) + { + LoadSpriteSheet(&sWeatherBubbleSpriteSheet); + gWeatherPtr->bubblesDelayIndex = 0; + gWeatherPtr->bubblesDelayCounter = sBubbleStartDelays[0]; + gWeatherPtr->bubblesCoordsIndex = 0; + gWeatherPtr->bubblesSpriteCount = 0; + } +} + +void Bubbles_InitAll(void) +{ + Bubbles_InitVars(); + while (!gWeatherPtr->weatherGfxLoaded) + Bubbles_Main(); +} + +void Bubbles_Main(void) +{ + Fog1_Main(); + if (++gWeatherPtr->bubblesDelayCounter > sBubbleStartDelays[gWeatherPtr->bubblesDelayIndex]) + { + gWeatherPtr->bubblesDelayCounter = 0; + if (++gWeatherPtr->bubblesDelayIndex > ARRAY_COUNT(sBubbleStartDelays) - 1) + gWeatherPtr->bubblesDelayIndex = 0; + + CreateBubbleSprite(gWeatherPtr->bubblesCoordsIndex); + if (++gWeatherPtr->bubblesCoordsIndex > ARRAY_COUNT(sBubbleStartCoords) - 1) + gWeatherPtr->bubblesCoordsIndex = 0; + } +} + +bool8 Bubbles_Finish(void) +{ + if (!Fog1_Finish()) + { + DestroyBubbleSprites(); + return FALSE; + } + + return TRUE; +} + +static const union AnimCmd sBubbleSpriteAnimCmd0[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), ANIMCMD_END, }; -const union AnimCmd *const gSpriteAnimTable_839ACB8[] = +static const union AnimCmd *const sBubbleSpriteAnimCmds[] = { - gSpriteAnim_839ACAC, + sBubbleSpriteAnimCmd0, }; -extern const struct OamData gUnknown_08524904; - -void unc_0807DAB4(struct Sprite *); -const struct SpriteTemplate gSpriteTemplate_839ACBC = +static const struct SpriteTemplate sBubbleSpriteTemplate = { - .tileTag = 4613, + .tileTag = 0x1205, .paletteTag = 0x1200, .oam = &gUnknown_08524904, - .anims = gSpriteAnimTable_839ACB8, + .anims = sBubbleSpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = unc_0807DAB4, + .callback = UpdateBubbleSprite, }; -void sub_8080588(u16 a) -{ - s16 x = gUnknown_0839AC78[a][0]; - s16 y = gUnknown_0839AC78[a][1] - gSpriteCoordOffsetY; - u8 spriteId = CreateSpriteAtEnd( - &gSpriteTemplate_839ACBC, - x, - y, - 0); +#define tScrollXCounter data[0] +#define tScrollXDir data[1] +#define tCounter data[2] +static void CreateBubbleSprite(u16 coordsIndex) +{ + s16 x = sBubbleStartCoords[coordsIndex][0]; + s16 y = sBubbleStartCoords[coordsIndex][1] - gSpriteCoordOffsetY; + u8 spriteId = CreateSpriteAtEnd(&sBubbleSpriteTemplate, x, y, 0); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 1; gSprites[spriteId].coordOffsetEnabled = TRUE; - gSprites[spriteId].data[0] = 0; - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].data[2] = 0; - gWeatherPtr->unknown_72C++; + gSprites[spriteId].tScrollXCounter = 0; + gSprites[spriteId].tScrollXDir = 0; + gSprites[spriteId].tCounter = 0; + gWeatherPtr->bubblesSpriteCount++; } } -void sub_8080610(void) +static void DestroyBubbleSprites(void) { u16 i; - if (gWeatherPtr->unknown_72C != 0) + if (gWeatherPtr->bubblesSpriteCount) { - for (i = 0; i < 64; i++) + for (i = 0; i < MAX_SPRITES; i++) { - if (gSprites[i].template == &gSpriteTemplate_839ACBC) + if (gSprites[i].template == &sBubbleSpriteTemplate) DestroySprite(&gSprites[i]); } + FreeSpriteTilesByTag(0x1205); - gWeatherPtr->unknown_72C = 0; + gWeatherPtr->bubblesSpriteCount = 0; } } -void unc_0807DAB4(struct Sprite *sprite) +static void UpdateBubbleSprite(struct Sprite *sprite) { - ++sprite->data[0]; - if (++sprite->data[0] > 8) // double increment + ++sprite->tScrollXCounter; + if (++sprite->tScrollXCounter > 8) // double increment { - sprite->data[0] = 0; - if (sprite->data[1] == 0) + sprite->tScrollXCounter = 0; + if (sprite->tScrollXDir == 0) { if (++sprite->pos2.x > 4) - sprite->data[1] = 1; + sprite->tScrollXDir = 1; } else { if (--sprite->pos2.x <= 0) - sprite->data[1] = 0; + sprite->tScrollXDir = 0; } } + sprite->pos1.y -= 3; - if (++sprite->data[2] > 0x77) + if (++sprite->tCounter >= 120) DestroySprite(sprite); } +#undef tScrollXCounter +#undef tScrollXDir +#undef tCounter + //------------------------------------------------------------------------------ // Unused function. From 02651f6177032baad32efdddeee54a9af624812b Mon Sep 17 00:00:00 2001 From: ultima-soul Date: Tue, 2 Apr 2019 19:18:36 -0700 Subject: [PATCH 30/84] Attempt to decompile menu_specialized. 2 NONMATCHING --- asm/menu_specialized.s | 336 ---------------------------- include/menu_specialized.h | 6 +- include/strings.h | 2 + ld_script.txt | 1 - src/menu_specialized.c | 437 ++++++++++++++++++++++++++++++++++++- 5 files changed, 441 insertions(+), 341 deletions(-) delete mode 100644 asm/menu_specialized.s diff --git a/asm/menu_specialized.s b/asm/menu_specialized.s deleted file mode 100644 index 36db0f865c..0000000000 --- a/asm/menu_specialized.s +++ /dev/null @@ -1,336 +0,0 @@ - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - - - thumb_func_start DrawLevelUpWindowPg1 -DrawLevelUpWindowPg1: @ 81D3640 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r8, r0 - adds r6, r1, 0 - adds r5, r2, 0 - adds r4, r3, 0 - ldr r3, [sp, 0x4C] - ldr r0, [sp, 0x50] - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, r4, 4 - orrs r1, r4 - lsls r1, 24 - lsrs r1, 24 - str r3, [sp, 0x28] - bl FillWindowPixelBuffer - add r2, sp, 0xC - ldrh r0, [r5] - ldrh r1, [r6] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r5, 0x2] - ldrh r1, [r6, 0x2] - subs r0, r1 - strh r0, [r2, 0x2] - ldrh r0, [r5, 0x4] - ldrh r1, [r6, 0x4] - subs r0, r1 - strh r0, [r2, 0x4] - ldrh r0, [r5, 0x8] - ldrh r1, [r6, 0x8] - subs r0, r1 - strh r0, [r2, 0x6] - ldrh r0, [r5, 0xA] - ldrh r1, [r6, 0xA] - subs r0, r1 - strh r0, [r2, 0x8] - ldrh r0, [r5, 0x6] - ldrh r1, [r6, 0x6] - subs r0, r1 - strh r0, [r2, 0xA] - add r0, sp, 0x24 - strb r4, [r0] - ldr r3, [sp, 0x28] - strb r3, [r0, 0x1] - mov r1, r9 - strb r1, [r0, 0x2] - movs r7, 0 - mov r10, r0 - movs r0, 0x1 - negs r0, r0 - mov r9, r0 - add r6, sp, 0x18 -_081D36CA: - lsls r0, r7, 4 - subs r0, r7 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r10 - str r1, [sp] - mov r0, r9 - str r0, [sp, 0x4] - ldr r1, =gUnknown_08625B54 - lsls r0, r7, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x8] - mov r0, r8 - movs r1, 0x1 - movs r2, 0 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - lsls r0, r7, 1 - mov r4, sp - adds r4, r0 - adds r4, 0xC - movs r1, 0 - ldrsh r0, [r4, r1] - ldr r1, =gText_Dash - cmp r0, 0 - blt _081D3704 - ldr r1, =gText_UnkCtrlF904 -_081D3704: - adds r0, r6, 0 - bl StringCopy - mov r0, r10 - str r0, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - mov r0, r8 - movs r1, 0x1 - movs r2, 0x38 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081D372C - negs r0, r1 -_081D372C: - movs r4, 0xC - cmp r0, 0x9 - bgt _081D3734 - movs r4, 0x12 -_081D3734: - cmp r1, 0 - bge _081D373A - negs r1, r1 -_081D373A: - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r2, r4, 0 - adds r2, 0x38 - mov r1, r10 - str r1, [sp] - mov r0, r9 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - mov r0, r8 - movs r1, 0x1 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x5 - bls _081D36CA - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DrawLevelUpWindowPg1 - - thumb_func_start DrawLevelUpWindowPg2 -DrawLevelUpWindowPg2: @ 81D3784 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r8, r0 - adds r5, r1, 0 - adds r4, r2, 0 - adds r6, r3, 0 - ldr r2, [sp, 0x4C] - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, r4, 4 - orrs r1, r4 - lsls r1, 24 - lsrs r1, 24 - str r2, [sp, 0x28] - bl FillWindowPixelBuffer - add r1, sp, 0xC - ldrh r0, [r5] - strh r0, [r1] - ldrh r0, [r5, 0x2] - strh r0, [r1, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r1, 0x4] - ldrh r0, [r5, 0x8] - strh r0, [r1, 0x6] - ldrh r0, [r5, 0xA] - strh r0, [r1, 0x8] - ldrh r0, [r5, 0x6] - strh r0, [r1, 0xA] - add r0, sp, 0x24 - strb r4, [r0] - strb r6, [r0, 0x1] - ldr r2, [sp, 0x28] - strb r2, [r0, 0x2] - movs r6, 0 - add r1, sp, 0x18 - mov r9, r1 - mov r7, r8 - mov r10, r0 - movs r2, 0x1 - negs r2, r2 - mov r8, r2 -_081D37EE: - lsls r1, r6, 1 - mov r0, sp - adds r0, r1 - adds r0, 0xC - movs r2, 0 - ldrsh r0, [r0, r2] - movs r4, 0x3 - cmp r0, 0x63 - bgt _081D3808 - movs r4, 0x1 - cmp r0, 0x9 - ble _081D3808 - movs r4, 0x2 -_081D3808: - mov r0, sp - adds r0, r1 - adds r0, 0xC - movs r2, 0 - ldrsh r1, [r0, r2] - mov r0, r9 - movs r2, 0 - adds r3, r4, 0 - bl ConvertIntToDecimalStringN - movs r0, 0x4 - subs r0, r4 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 17 - lsrs r4, 16 - lsls r5, r6, 4 - subs r5, r6 - lsls r5, 24 - lsrs r5, 24 - mov r0, r10 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - ldr r1, =gUnknown_08625B54 - lsls r0, r6, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x1 - movs r2, 0 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - adds r4, 0x38 - lsls r4, 24 - lsrs r4, 24 - mov r2, r10 - str r2, [sp] - mov r0, r8 - str r0, [sp, 0x4] - mov r1, r9 - str r1, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _081D37EE - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DrawLevelUpWindowPg2 - - thumb_func_start GetMonLevelUpWindowStats -GetMonLevelUpWindowStats: @ 81D388C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r1, 0x3A @ MON_DATA_MAX_HP - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x3B @ MON_DATA_ATK - bl GetMonData - strh r0, [r5, 0x2] - adds r0, r4, 0 - movs r1, 0x3C @ MON_DATA_DEF - bl GetMonData - strh r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0x3D @ MON_DATA_SPEED - bl GetMonData - strh r0, [r5, 0x6] - adds r0, r4, 0 - movs r1, 0x3E @ MON_DATA_SPATK - bl GetMonData - strh r0, [r5, 0x8] - adds r0, r4, 0 - movs r1, 0x3F @ MON_DATA_SPDEF - bl GetMonData - strh r0, [r5, 0xA] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetMonLevelUpWindowStats - - .align 2, 0 @ Don't pad with nop. diff --git a/include/menu_specialized.h b/include/menu_specialized.h index d29ac57517..fb23e7ce65 100644 --- a/include/menu_specialized.h +++ b/include/menu_specialized.h @@ -32,8 +32,8 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page); void sub_81D1E90(struct PlayerPCItemPageStruct *page); void sub_81D1EC0(void); void sub_81D1D04(u8 a0); -void DrawLevelUpWindowPg1(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); -void DrawLevelUpWindowPg2(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); +void DrawLevelUpWindowPg1(u16 arg0, u16* statStoreLocation1, u16* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); +void DrawLevelUpWindowPg2(u16 arg0, u16* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0); void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0); void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0); @@ -47,7 +47,7 @@ bool16 MoveRelearnerRunTextPrinters(void); void MoveRelearnerCreateYesNoMenu(void); u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); void InitMoveRelearnerWindows(bool8 useContextWindow); -void GetMonLevelUpWindowStats(struct Pokemon* mon, void* statStoreLocation); +void GetMonLevelUpWindowStats(struct Pokemon* mon, u16* statStoreLocation); s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst); void sub_81D2ED4(u8 *dst, u8 *nameDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7); void sub_81D2F78(struct UnknownStruct_81D1ED4 *arg0, u8 *sheen, u16 boxId, u16 monId, u16 arg5, u16 id, u16 arg7, bool8 arg8); diff --git a/include/strings.h b/include/strings.h index 8aa296eb13..fc5724af32 100644 --- a/include/strings.h +++ b/include/strings.h @@ -471,6 +471,8 @@ extern const u8 gText_EggCantBattle[]; extern const u8 gText_PkmnAlreadySelected[]; extern const u8 gText_PkmnAlreadyInBattle[]; extern const u8 gText_PkmnCantSwitchOut[]; +extern const u8 gText_Dash[]; +extern const u8 gText_UnkCtrlF904[]; //pokedex text extern const u8 gText_CryOf[]; diff --git a/ld_script.txt b/ld_script.txt index 619abfce1a..5cb7851bf4 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -303,7 +303,6 @@ SECTIONS { asm/pokenav.o(.text); src/pokenav_match_call.o(.text); src/menu_specialized.o(.text); - asm/menu_specialized.o(.text); src/ereader_helpers.o(.text); src/faraway_island.o(.text); src/ereader_screen.o(.text); diff --git a/src/menu_specialized.c b/src/menu_specialized.c index f21f4e51a7..c8c46fbc18 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -28,6 +28,7 @@ #include "gba/io_reg.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[]; +extern const u8 *gUnknown_08625B54[]; EWRAM_DATA static u8 sUnknown_0203CF48[3] = {0}; EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL; @@ -259,7 +260,7 @@ static void sub_81D1D44(u8 windowId, s32 itemId, u8 y) u8 buffer[30]; u16 length; - if (itemId == LIST_CANCEL) + if (itemId == LIST_CANCEL) return; StringCopy(buffer, gSaveBlock1Ptr->mail[6 + itemId].playerName); @@ -1639,3 +1640,437 @@ static void sub_81D35E8(struct Sprite *sprite) id = gSprites[id].data[5]; } } + + +#ifdef NONMATCHING +void DrawLevelUpWindowPg1(u8 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) +{ + s32 i; + s16 array[6]; + u8 *text; + u8 *text2; + s16 *ptr; + u8 something[14]; + s32 var; + u8 var2; + s32 var3; + + + + + + FillWindowPixelBuffer(arg0, arg3 * 16 | arg3); + + + array[0] = statStoreLocation2[0] - statStoreLocation1[0]; + array[1] = statStoreLocation2[1] - statStoreLocation1[1]; + array[2] = statStoreLocation2[2] - statStoreLocation1[2]; + array[3] = statStoreLocation2[4] - statStoreLocation1[4]; + array[4] = statStoreLocation2[5] - statStoreLocation1[5]; + array[5] = statStoreLocation2[3] - statStoreLocation1[3]; + + + for(i = 0; i < 6; i++) + { + AddTextPrinterParameterized3(arg0, 1, 0, 15 * i, &arg3, TEXT_SPEED_FF, gUnknown_08625B54[i]); + ptr = &array[i]; + text = (u8 *) gText_Dash; + + if(*ptr >= 0) + { + text = (u8 *) gText_UnkCtrlF904; + } + + StringCopy(text2, text); + AddTextPrinterParameterized3(arg0, 1, 56, 15 * i, &arg3, TEXT_SPEED_FF, text2); + var3 = *ptr; + var = var3; + + if(var3 < 0) + { + var = -var3; + } + + var2 = 12; + + if(var <= 9) + { + var2 = 18; + } + + if(var3 < 0) + { + var3 = -var3; + } + + ConvertIntToDecimalStringN(text2, var3, 0, 2); + AddTextPrinterParameterized3(arg0, 1, var2 + 56, 15 * i, &arg3, TEXT_SPEED_FF, text2); + } +} +#else +NAKED +void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) +{ + asm(".syntax unified\n\ +push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x2C\n\ + mov r8, r0\n\ + adds r6, r1, 0\n\ + adds r5, r2, 0\n\ + adds r4, r3, 0\n\ + ldr r3, [sp, 0x4C]\n\ + ldr r0, [sp, 0x50]\n\ + mov r9, r0\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + lsls r3, 24\n\ + lsrs r3, 24\n\ + mov r1, r9\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + mov r9, r1\n\ + mov r0, r8\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + lsls r1, r4, 4\n\ + orrs r1, r4\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + str r3, [sp, 0x28]\n\ + bl FillWindowPixelBuffer\n\ + add r2, sp, 0xC\n\ + ldrh r0, [r5]\n\ + ldrh r1, [r6]\n\ + subs r0, r1\n\ + strh r0, [r2]\n\ + ldrh r0, [r5, 0x2]\n\ + ldrh r1, [r6, 0x2]\n\ + subs r0, r1\n\ + strh r0, [r2, 0x2]\n\ + ldrh r0, [r5, 0x4]\n\ + ldrh r1, [r6, 0x4]\n\ + subs r0, r1\n\ + strh r0, [r2, 0x4]\n\ + ldrh r0, [r5, 0x8]\n\ + ldrh r1, [r6, 0x8]\n\ + subs r0, r1\n\ + strh r0, [r2, 0x6]\n\ + ldrh r0, [r5, 0xA]\n\ + ldrh r1, [r6, 0xA]\n\ + subs r0, r1\n\ + strh r0, [r2, 0x8]\n\ + ldrh r0, [r5, 0x6]\n\ + ldrh r1, [r6, 0x6]\n\ + subs r0, r1\n\ + strh r0, [r2, 0xA]\n\ + add r0, sp, 0x24\n\ + strb r4, [r0]\n\ + ldr r3, [sp, 0x28]\n\ + strb r3, [r0, 0x1]\n\ + mov r1, r9\n\ + strb r1, [r0, 0x2]\n\ + movs r7, 0\n\ + mov r10, r0\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + mov r9, r0\n\ + add r6, sp, 0x18\n\ +_081D36CA:\n\ + lsls r0, r7, 4\n\ + subs r0, r7\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + mov r1, r10\n\ + str r1, [sp]\n\ + mov r0, r9\n\ + str r0, [sp, 0x4]\n\ + ldr r1, =gUnknown_08625B54\n\ + lsls r0, r7, 2\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + str r0, [sp, 0x8]\n\ + mov r0, r8\n\ + movs r1, 0x1\n\ + movs r2, 0\n\ + adds r3, r5, 0\n\ + bl AddTextPrinterParameterized3\n\ + lsls r0, r7, 1\n\ + mov r4, sp\n\ + adds r4, r0\n\ + adds r4, 0xC\n\ + movs r1, 0\n\ + ldrsh r0, [r4, r1]\n\ + ldr r1, =gText_Dash\n\ + cmp r0, 0\n\ + blt _081D3704\n\ + ldr r1, =gText_UnkCtrlF904\n\ +_081D3704:\n\ + adds r0, r6, 0\n\ + bl StringCopy\n\ + mov r0, r10\n\ + str r0, [sp]\n\ + mov r1, r9\n\ + str r1, [sp, 0x4]\n\ + str r6, [sp, 0x8]\n\ + mov r0, r8\n\ + movs r1, 0x1\n\ + movs r2, 0x38\n\ + adds r3, r5, 0\n\ + bl AddTextPrinterParameterized3\n\ + movs r0, 0\n\ + ldrsh r1, [r4, r0]\n\ + adds r0, r1, 0\n\ + cmp r1, 0\n\ + bge _081D372C\n\ + negs r0, r1\n\ +_081D372C:\n\ + movs r4, 0xC\n\ + cmp r0, 0x9\n\ + bgt _081D3734\n\ + movs r4, 0x12\n\ +_081D3734:\n\ + cmp r1, 0\n\ + bge _081D373A\n\ + negs r1, r1\n\ +_081D373A:\n\ + adds r0, r6, 0\n\ + movs r2, 0\n\ + movs r3, 0x2\n\ + bl ConvertIntToDecimalStringN\n\ + adds r2, r4, 0\n\ + adds r2, 0x38\n\ + mov r1, r10\n\ + str r1, [sp]\n\ + mov r0, r9\n\ + str r0, [sp, 0x4]\n\ + str r6, [sp, 0x8]\n\ + mov r0, r8\n\ + movs r1, 0x1\n\ + adds r3, r5, 0\n\ + bl AddTextPrinterParameterized3\n\ + adds r0, r7, 0x1\n\ + lsls r0, 16\n\ + lsrs r7, r0, 16\n\ + cmp r7, 0x5\n\ + bls _081D36CA\n\ + add sp, 0x2C\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n\ + .syntax divided"); +} +#endif // NONMATCHING + +#ifdef NONMATCHING +void DrawLevelUpWindowPg2(u16 arg0, u16* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) +{ + s32 i; + s32 var; + s32 var2; + u8 text; + s16 array[6]; + u8 *something; + u8 some; + FillWindowPixelBuffer(arg0, arg2 * 16 | arg2); + array[0] = statStoreLocation1[0]; + array[1] = statStoreLocation1[1]; + array[2] = statStoreLocation1[2]; + array[3] = statStoreLocation1[4]; + array[4] = statStoreLocation1[5]; + array[5] = statStoreLocation1[3]; + for(i = 0; i <= 5; i++) + { + var = array[i]; + var2 = 3; + if(var <= 99) + { + var2 = 1; + if(var > 9) + { + var2 = 2; + } + } + something = ConvertIntToDecimalStringN(&text, array[i], 0, var2); + some = (((4 - *something) * 2) + *something) * 2; + AddTextPrinterParameterized3(arg0, 1, 0, 15 * i, &arg2, TEXT_SPEED_FF, gUnknown_08625B54[i]); + AddTextPrinterParameterized3(arg0, 1, some + 56, 15 * i, &arg2, TEXT_SPEED_FF, &text); + } +} +#else +NAKED +void DrawLevelUpWindowPg2(u16 arg0, u16* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x2C\n\ + mov r8, r0\n\ + adds r5, r1, 0\n\ + adds r4, r2, 0\n\ + adds r6, r3, 0\n\ + ldr r2, [sp, 0x4C]\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + lsls r6, 24\n\ + lsrs r6, 24\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + lsls r1, r4, 4\n\ + orrs r1, r4\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + str r2, [sp, 0x28]\n\ + bl FillWindowPixelBuffer\n\ + add r1, sp, 0xC\n\ + ldrh r0, [r5]\n\ + strh r0, [r1]\n\ + ldrh r0, [r5, 0x2]\n\ + strh r0, [r1, 0x2]\n\ + ldrh r0, [r5, 0x4]\n\ + strh r0, [r1, 0x4]\n\ + ldrh r0, [r5, 0x8]\n\ + strh r0, [r1, 0x6]\n\ + ldrh r0, [r5, 0xA]\n\ + strh r0, [r1, 0x8]\n\ + ldrh r0, [r5, 0x6]\n\ + strh r0, [r1, 0xA]\n\ + add r0, sp, 0x24\n\ + strb r4, [r0]\n\ + strb r6, [r0, 0x1]\n\ + ldr r2, [sp, 0x28]\n\ + strb r2, [r0, 0x2]\n\ + movs r6, 0\n\ + add r1, sp, 0x18\n\ + mov r9, r1\n\ + mov r7, r8\n\ + mov r10, r0\n\ + movs r2, 0x1\n\ + negs r2, r2\n\ + mov r8, r2\n\ +_081D37EE:\n\ + lsls r1, r6, 1\n\ + mov r0, sp\n\ + adds r0, r1\n\ + adds r0, 0xC\n\ + movs r2, 0\n\ + ldrsh r0, [r0, r2]\n\ + movs r4, 0x3\n\ + cmp r0, 0x63\n\ + bgt _081D3808\n\ + movs r4, 0x1\n\ + cmp r0, 0x9\n\ + ble _081D3808\n\ + movs r4, 0x2\n\ +_081D3808:\n\ + mov r0, sp\n\ + adds r0, r1\n\ + adds r0, 0xC\n\ + movs r2, 0\n\ + ldrsh r1, [r0, r2]\n\ + mov r0, r9\n\ + movs r2, 0\n\ + adds r3, r4, 0\n\ + bl ConvertIntToDecimalStringN\n\ + movs r0, 0x4\n\ + subs r0, r4\n\ + lsls r4, r0, 1\n\ + adds r4, r0\n\ + lsls r4, 17\n\ + lsrs r4, 16\n\ + lsls r5, r6, 4\n\ + subs r5, r6\n\ + lsls r5, 24\n\ + lsrs r5, 24\n\ + mov r0, r10\n\ + str r0, [sp]\n\ + mov r1, r8\n\ + str r1, [sp, 0x4]\n\ + ldr r1, =gUnknown_08625B54\n\ + lsls r0, r6, 2\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + str r0, [sp, 0x8]\n\ + adds r0, r7, 0\n\ + movs r1, 0x1\n\ + movs r2, 0\n\ + adds r3, r5, 0\n\ + bl AddTextPrinterParameterized3\n\ + adds r4, 0x38\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + mov r2, r10\n\ + str r2, [sp]\n\ + mov r0, r8\n\ + str r0, [sp, 0x4]\n\ + mov r1, r9\n\ + str r1, [sp, 0x8]\n\ + adds r0, r7, 0\n\ + movs r1, 0x1\n\ + adds r2, r4, 0\n\ + adds r3, r5, 0\n\ + bl AddTextPrinterParameterized3\n\ + adds r0, r6, 0x1\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ + cmp r6, 0x5\n\ + bls _081D37EE\n\ + add sp, 0x2C\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n\ + .syntax divided"); +} +#endif // NONMATCHING + +void GetMonLevelUpWindowStats(struct Pokemon* mon, u16* statStoreLocation) +{ + statStoreLocation[0] = GetMonData(mon, MON_DATA_MAX_HP); + statStoreLocation[1] = GetMonData(mon, MON_DATA_ATK); + statStoreLocation[2] = GetMonData(mon, MON_DATA_DEF); + statStoreLocation[3] = GetMonData(mon, MON_DATA_SPEED); + statStoreLocation[4] = GetMonData(mon, MON_DATA_SPATK); + statStoreLocation[5] = GetMonData(mon, MON_DATA_SPDEF); +} + + + + + + + + + + + + + + + + + + + + + + From 438521bf21e24afc15adf871f154d5d7c361408a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 3 Apr 2019 22:00:15 +0200 Subject: [PATCH 31/84] Get rid of redundant cast --- src/pokemon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pokemon.c b/src/pokemon.c index 984c484a24..a75701cb0f 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5463,7 +5463,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) if (gEvolutionTable[species][i].param == heldItem) { heldItem = 0; - SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem); + SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem); targetSpecies = gEvolutionTable[species][i].targetSpecies; } break; From a455d98385cdeadc65ee3df992fc8d6be36495b3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 08:43:16 -0400 Subject: [PATCH 32/84] start porting mevent_server from firered --- asm/mevent_server.s | 115 +------------------------------- asm/mevent_server_helpers.s | 6 +- asm/mevent_server_ish.s | 2 +- data/mevent_server.s | 4 +- include/mevent_server.h | 74 ++++++++++++++++++++ include/mevent_server_helpers.h | 6 ++ ld_script.txt | 2 + src/mevent_server.c | 56 ++++++++++++++++ sym_ewram.txt | 10 +-- 9 files changed, 150 insertions(+), 125 deletions(-) create mode 100644 include/mevent_server_helpers.h create mode 100644 src/mevent_server.c diff --git a/asm/mevent_server.s b/asm/mevent_server.s index 8c76e2d0d0..ea4416ac71 100755 --- a/asm/mevent_server.s +++ b/asm/mevent_server.s @@ -5,115 +5,6 @@ .text - thumb_func_start mevent_srv_init_wnews -mevent_srv_init_wnews: @ 801D07C - push {r4,lr} - ldr r4, =gUnknown_02022C7C - movs r0, 0x60 - bl AllocZeroed - str r0, [r4] - ldr r1, =gUnknown_082F298C - movs r2, 0 - movs r3, 0x1 - bl mevent_srv_init_common - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end mevent_srv_init_wnews - - thumb_func_start mevent_srv_new_wcard -mevent_srv_new_wcard: @ 801D0A0 - push {r4,lr} - ldr r4, =gUnknown_02022C7C - movs r0, 0x60 - bl AllocZeroed - str r0, [r4] - ldr r1, =gUnknown_082F29EC - movs r2, 0 - movs r3, 0x1 - bl mevent_srv_init_common - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end mevent_srv_new_wcard - - thumb_func_start mevent_srv_common_do_exec -mevent_srv_common_do_exec: @ 801D0C4 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, =gUnknown_02022C7C - ldr r0, [r4] - cmp r0, 0 - bne _0801D0D8 - movs r0, 0x3 - b _0801D0F8 - .pool -_0801D0D8: - bl mevent_dispatch_08145600 - adds r5, r0, 0 - cmp r5, 0x3 - bne _0801D0F6 - ldr r0, [r4] - ldr r1, [r0, 0x4] - strh r1, [r6] - bl mevent_srv_free_resources - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_0801D0F6: - adds r0, r5, 0 -_0801D0F8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end mevent_srv_common_do_exec - - thumb_func_start mevent_srv_init_common -mevent_srv_init_common: @ 801D100 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r4, r0, 0 - adds r6, r1, 0 - mov r8, r2 - mov r9, r3 - movs r5, 0 - str r5, [r4] - str r5, [r4, 0x8] - movs r0, 0xA6 - lsls r0, 1 - bl AllocZeroed - str r0, [r4, 0x18] - movs r0, 0xDE - lsls r0, 1 - bl AllocZeroed - str r0, [r4, 0x1C] - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - str r0, [r4, 0x14] - movs r0, 0x64 - bl AllocZeroed - str r0, [r4, 0x20] - str r6, [r4, 0x10] - str r5, [r4, 0xC] - adds r4, 0x38 - adds r0, r4, 0 - mov r1, r8 - mov r2, r9 - bl sub_801D8D8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end mevent_srv_init_common - thumb_func_start mevent_srv_free_resources mevent_srv_free_resources: @ 801D158 push {r4,lr} @@ -517,8 +408,8 @@ _0801D464: bx r1 thumb_func_end sub_801D1F0 - thumb_func_start mevent_dispatch_08145600 -mevent_dispatch_08145600: @ 801D46C + thumb_func_start mevent_srv_exec_common +mevent_srv_exec_common: @ 801D46C push {lr} ldr r2, =gUnknown_082F2548 ldr r1, [r0, 0x8] @@ -529,6 +420,6 @@ mevent_dispatch_08145600: @ 801D46C pop {r1} bx r1 .pool - thumb_func_end mevent_dispatch_08145600 + thumb_func_end mevent_srv_exec_common .align 2, 0 @ don't pad with nop diff --git a/asm/mevent_server_helpers.s b/asm/mevent_server_helpers.s index f92f1e2c76..6a60649a47 100755 --- a/asm/mevent_server_helpers.s +++ b/asm/mevent_server_helpers.s @@ -23,8 +23,8 @@ sub_801D8CC: @ 801D8CC bx r1 thumb_func_end sub_801D8CC - thumb_func_start sub_801D8D8 -sub_801D8D8: @ 801D8D8 + thumb_func_start mevent_srv_sub_init +mevent_srv_sub_init: @ 801D8D8 movs r3, 0 strb r1, [r0, 0x4] strb r2, [r0, 0x5] @@ -43,7 +43,7 @@ sub_801D8D8: @ 801D8D8 str r1, [r0, 0x20] bx lr .pool - thumb_func_end sub_801D8D8 + thumb_func_end mevent_srv_sub_init thumb_func_start sub_801D904 sub_801D904: @ 801D904 diff --git a/asm/mevent_server_ish.s b/asm/mevent_server_ish.s index f616669828..765b39b7eb 100755 --- a/asm/mevent_server_ish.s +++ b/asm/mevent_server_ish.s @@ -115,7 +115,7 @@ mevent_srv_ish_init: @ 801D50C adds r0, r4, 0 adds r1, r6, 0 mov r2, r8 - bl sub_801D8D8 + bl mevent_srv_sub_init pop {r3} mov r8, r3 pop {r4-r6} diff --git a/data/mevent_server.s b/data/mevent_server.s index 02fe9476ec..eaab75c360 100755 --- a/data/mevent_server.s +++ b/data/mevent_server.s @@ -242,7 +242,7 @@ gUnknown_082F292C:: @ 82F292C .byte 0x00, 0x00, 0x00, 0x00 .align 2 -gUnknown_082F298C:: @ 82F298C +s_mevent_wonder_news:: @ 82F298C .byte 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00 @@ -262,7 +262,7 @@ gUnknown_082F298C:: @ 82F298C .4byte gUnknown_082F2800 .align 2 -gUnknown_082F29EC:: @ 82F29EC +s_mevent_wonder_card:: @ 82F29EC .byte 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 diff --git a/include/mevent_server.h b/include/mevent_server.h index d7657b2709..772aae6b18 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -1,6 +1,80 @@ #ifndef GUARD_MEVENT_SERVER_H #define GUARD_MEVENT_SERVER_H +#define ME_SEND_BUF_SIZE 0x400 + +struct mevent_srv_sub +{ + s32 seqno; + u8 sendPlayerNo; + u8 recvPlayerNo; + u16 recvIdent; + u16 recvCounter; + u16 recvCRC; + u16 recvSize; + u16 sendIdent; + u16 sendCounter; + u16 sendCRC; + u16 sendSize; + void * recvBfr; + const void * sendBfr; + u32 (*recvFunc)(struct mevent_srv_sub *); + u32 (*sendFunc)(struct mevent_srv_sub *); +}; + +struct send_recv_header +{ + u16 ident; + u16 crc; + u16 size; +}; + +struct mevent_cmd_ish +{ + u32 instr; + u32 parameter; +}; + +struct mevent_srv_ish +{ + u32 unk_00; + u32 param; + u32 mainseqno; + u32 flag; + u32 cmdidx; + void * sendBuffer; + void * recvBuffer; + struct mevent_cmd_ish * cmdBuffer; + void * buffer; + struct mevent_srv_sub manager; +}; + +struct mevent_cmd +{ + u32 instr; + bool32 flag; + void * parameter; +}; + +struct mevent_srv_common +{ + u32 unk_00; + u32 param; + u32 mainseqno; + u32 cmdidx; + const struct mevent_cmd * cmdBuffer; + void * recvBuffer; + struct MEventBuffer_32E0_Sub * mevent_32e0; + struct MEventBuffer_3120_Sub * mevent_3120; + struct MEventStruct_Unk1442CC * mevent_unk1442cc; + void * sendBuffer1; + u32 sendBuffer1Size; + void * sendBuffer2; + u32 sendBuffer2Size; + u32 sendWord; + struct mevent_srv_sub manager; +}; + void mevent_srv_new_wcard(); void mevent_srv_init_wnews(); u32 mevent_srv_common_do_exec(u16 * a0); diff --git a/include/mevent_server_helpers.h b/include/mevent_server_helpers.h new file mode 100644 index 0000000000..d2b4608fb8 --- /dev/null +++ b/include/mevent_server_helpers.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MEVENT_SERVER_HELPERS_H +#define GUARD_MEVENT_SERVER_HELPERS_H + +void mevent_srv_sub_init(struct mevent_srv_sub *, u32, u32); + +#endif //GUARD_MEVENT_SERVER_HELPERS_H diff --git a/ld_script.txt b/ld_script.txt index 619abfce1a..31de8d7303 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -60,6 +60,7 @@ SECTIONS { src/union_room_battle.o(.text); src/mevent2.o(.text); src/mevent_801BAAC.o(.text); + src/mevent_server.o(.text); asm/mevent_server.o(.text); asm/mevent_server_ish.o(.text); asm/mevent_server_helpers.o(.text); @@ -416,6 +417,7 @@ SECTIONS { src/union_room_battle.o(.rodata); src/mevent2.o(.rodata); src/mevent_801BAAC.o(.rodata); + src/mevent_server.o(.rodata); data/mevent_server.o(.rodata); src/union_room_chat.o(.rodata); data/union_room_chat.o(.rodata); diff --git a/src/mevent_server.c b/src/mevent_server.c new file mode 100644 index 0000000000..ea5a186265 --- /dev/null +++ b/src/mevent_server.c @@ -0,0 +1,56 @@ +#include "global.h" +#include "alloc.h" +#include "mevent.h" +#include "mevent_server.h" +#include "mevent_server_helpers.h" + +EWRAM_DATA struct mevent_srv_common * s_mevent_srv_common_ptr = NULL; +EWRAM_DATA struct mevent_srv_ish * s_mevent_srv_ish_ptr = NULL; + +static void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32); +u32 mevent_srv_exec_common(struct mevent_srv_common *); +u32 mevent_srv_free_resources(struct mevent_srv_common *); + +extern const struct mevent_cmd s_mevent_wonder_news[]; +extern const struct mevent_cmd s_mevent_wonder_card[]; + +void mevent_srv_init_wnews(void) +{ + s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common)); + mevent_srv_init_common(s_mevent_srv_common_ptr, s_mevent_wonder_news, 0, 1); +} + +void mevent_srv_new_wcard(void) +{ + s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common)); + mevent_srv_init_common(s_mevent_srv_common_ptr, s_mevent_wonder_card, 0, 1); +} + +u32 mevent_srv_common_do_exec(u16 * a0) +{ + u32 result; + if (s_mevent_srv_common_ptr == NULL) + return 3; + result = mevent_srv_exec_common(s_mevent_srv_common_ptr); + if (result == 3) + { + *a0 = s_mevent_srv_common_ptr->param; + mevent_srv_free_resources(s_mevent_srv_common_ptr); + Free(s_mevent_srv_common_ptr); + s_mevent_srv_common_ptr = NULL; + } + return result; +} + +static void mevent_srv_init_common(struct mevent_srv_common * svr, const void * cmdBuffer, u32 sendPlayerNo, u32 recvPlayerNo) +{ + svr->unk_00 = 0; + svr->mainseqno = 0; + svr->mevent_32e0 = AllocZeroed(sizeof(struct MEventBuffer_32E0_Sub)); + svr->mevent_3120 = AllocZeroed(sizeof(struct MEventBuffer_3120_Sub)); + svr->recvBuffer = AllocZeroed(ME_SEND_BUF_SIZE); + svr->mevent_unk1442cc = AllocZeroed(sizeof(struct MEventStruct_Unk1442CC)); + svr->cmdBuffer = cmdBuffer; + svr->cmdidx = 0; + mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index fa0306b1e7..22afe82261 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -12,14 +12,10 @@ .include "src/union_room_battle.o" .include "src/mevent2.o" .include "src/mevent_801BAAC.o" + .include "src/mevent_server.o" - @ mevent_server -gUnknown_02022C7C: @ 2022C7C - .space 0x4 - -s_mevent_srv_ish_ptr: @ 2022C80 - .space 0x4 - + @ union_room_chat + .align 2 gUnknown_02022C84: @ 2022C84 .space 0x4 From dabd1f6177ee6e2f65553d3fe43efcf023e0c3fe Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 10:54:51 -0400 Subject: [PATCH 33/84] finish mevent_server.s --- asm/mevent_server.s | 425 -------------------------------- asm/mevent_server_helpers.s | 24 +- asm/mevent_server_ish.s | 12 +- data/mevent_server.s | 8 - include/mevent_server_helpers.h | 4 + ld_script.txt | 4 +- src/mevent_server.c | 235 +++++++++++++++++- src/mevent_server_helpers.c | 1 + src/mevent_server_ish.c | 7 + sym_ewram.txt | 1 + 10 files changed, 266 insertions(+), 455 deletions(-) delete mode 100755 asm/mevent_server.s create mode 100644 src/mevent_server_helpers.c create mode 100644 src/mevent_server_ish.c diff --git a/asm/mevent_server.s b/asm/mevent_server.s deleted file mode 100755 index ea4416ac71..0000000000 --- a/asm/mevent_server.s +++ /dev/null @@ -1,425 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start mevent_srv_free_resources -mevent_srv_free_resources: @ 801D158 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x18] - bl Free - ldr r0, [r4, 0x1C] - bl Free - ldr r0, [r4, 0x14] - bl Free - ldr r0, [r4, 0x20] - bl Free - pop {r4} - pop {r0} - bx r0 - thumb_func_end mevent_srv_free_resources - - thumb_func_start mevent_srv_814501C -mevent_srv_814501C: @ 801D17C - push {lr} - adds r0, 0x38 - bl sub_801D904 - pop {r0} - bx r0 - thumb_func_end mevent_srv_814501C - - thumb_func_start sub_801D188 -sub_801D188: @ 801D188 - push {lr} - cmp r0, 0 - bne _0801D190 - adds r0, r1, 0 -_0801D190: - pop {r1} - bx r1 - thumb_func_end sub_801D188 - - thumb_func_start sub_801D194 -sub_801D194: @ 801D194 - push {lr} - cmp r1, r0 - bcs _0801D19E - movs r0, 0 - b _0801D1A8 -_0801D19E: - cmp r1, r0 - beq _0801D1A6 - movs r0, 0x2 - b _0801D1A8 -_0801D1A6: - movs r0, 0x1 -_0801D1A8: - pop {r1} - bx r1 - thumb_func_end sub_801D194 - - thumb_func_start sub_801D1AC -sub_801D1AC: @ 801D1AC - movs r1, 0x4 - str r1, [r0, 0x8] - movs r0, 0 - bx lr - thumb_func_end sub_801D1AC - - thumb_func_start sub_801D1B4 -sub_801D1B4: @ 801D1B4 - movs r0, 0x3 - bx lr - thumb_func_end sub_801D1B4 - - thumb_func_start sub_801D1B8 -sub_801D1B8: @ 801D1B8 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x38 - bl sub_801D8C0 - cmp r0, 0 - beq _0801D1CA - movs r0, 0x4 - str r0, [r4, 0x8] -_0801D1CA: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801D1B8 - - thumb_func_start sub_801D1D4 -sub_801D1D4: @ 801D1D4 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x38 - bl sub_801D8CC - cmp r0, 0 - beq _0801D1E6 - movs r0, 0x4 - str r0, [r4, 0x8] -_0801D1E6: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801D1D4 - - thumb_func_start sub_801D1F0 -sub_801D1F0: @ 801D1F0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, [r5, 0xC] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r2, [r5, 0x10] - adds r3, r2, r1 - adds r0, 0x1 - str r0, [r5, 0xC] - ldr r0, [r3] - cmp r0, 0x1E - bls _0801D20C - b _0801D464 -_0801D20C: - lsls r0, 2 - ldr r1, =_0801D21C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801D21C: - .4byte _0801D298 - .4byte _0801D2A2 - .4byte _0801D2A8 - .4byte _0801D2E2 - .4byte _0801D2D8 - .4byte _0801D2BA - .4byte _0801D2C6 - .4byte _0801D2EC - .4byte _0801D300 - .4byte _0801D308 - .4byte _0801D31E - .4byte _0801D32E - .4byte _0801D33A - .4byte _0801D360 - .4byte _0801D348 - .4byte _0801D390 - .4byte _0801D378 - .4byte _0801D3DC - .4byte _0801D3A8 - .4byte _0801D3C0 - .4byte _0801D3CE - .4byte _0801D406 - .4byte _0801D3EA - .4byte _0801D3F8 - .4byte _0801D40E - .4byte _0801D418 - .4byte _0801D422 - .4byte _0801D43C - .4byte _0801D450 - .4byte _0801D458 - .4byte _0801D2CC -_0801D298: - movs r0, 0x1 - str r0, [r5, 0x8] - ldr r0, [r3, 0x4] - str r0, [r5, 0x4] - b _0801D464 -_0801D2A2: - movs r0, 0x3 - str r0, [r5, 0x8] - b _0801D464 -_0801D2A8: - adds r0, r5, 0 - adds r0, 0x38 - ldr r1, [r3, 0x4] - ldr r2, [r5, 0x14] - bl sub_801D928 - movs r0, 0x2 - str r0, [r5, 0x8] - b _0801D464 -_0801D2BA: - ldr r0, [r5, 0x20] - ldr r1, [r5, 0x14] - movs r2, 0x64 - bl memcpy - b _0801D464 -_0801D2C6: - ldr r0, [r5, 0x20] - movs r1, 0 - b _0801D2D0 -_0801D2CC: - ldr r0, [r5, 0x20] - movs r1, 0x1 -_0801D2D0: - bl sub_801B6A0 - str r0, [r5, 0x4] - b _0801D464 -_0801D2D8: - ldr r1, [r5, 0x4] - ldr r0, [r3, 0x4] - cmp r1, r0 - beq _0801D2E2 - b _0801D464 -_0801D2E2: - movs r0, 0 - str r0, [r5, 0xC] - ldr r0, [r3, 0x8] - str r0, [r5, 0x10] - b _0801D464 -_0801D2EC: - ldr r0, [r3, 0x8] - ldr r1, [r5, 0x18] - bl sub_801D188 - adds r2, r0, 0 - ldr r1, [r5, 0x20] - bl sub_801B6EC - str r0, [r5, 0x4] - b _0801D464 -_0801D300: - ldr r0, [r5, 0x14] - ldr r0, [r0] - str r0, [r5, 0x4] - b _0801D464 -_0801D308: - ldr r0, [r3, 0x8] - adds r1, r5, 0 - adds r1, 0x34 - bl sub_801D188 - adds r2, r0, 0 - ldr r1, [r5, 0x20] - bl sub_801B708 - str r0, [r5, 0x4] - b _0801D464 -_0801D31E: - ldr r0, [r5, 0x20] - ldr r1, [r3, 0x4] - bl sub_801B784 - lsls r0, 16 - lsrs r0, 16 - str r0, [r5, 0x4] - b _0801D464 -_0801D32E: - ldr r0, [r5, 0x20] - ldr r1, [r3, 0x8] - bl sub_801B748 - str r0, [r5, 0x4] - b _0801D464 -_0801D33A: - ldr r0, [r3, 0x8] - ldr r1, [r5, 0x14] - ldr r1, [r1] - bl sub_801D194 - str r0, [r5, 0x4] - b _0801D464 -_0801D348: - ldr r0, [r3, 0x8] - ldr r1, [r5, 0x1C] - bl sub_801D188 - adds r2, r0, 0 - movs r3, 0xDE - lsls r3, 1 - adds r0, r5, 0 - movs r1, 0x17 - bl mevent_srv_814501C - b _0801D464 -_0801D360: - ldr r0, [r3, 0x8] - ldr r1, [r5, 0x18] - bl sub_801D188 - adds r2, r0, 0 - movs r3, 0xA6 - lsls r3, 1 - adds r0, r5, 0 - movs r1, 0x16 - bl mevent_srv_814501C - b _0801D464 -_0801D378: - ldr r0, [r3, 0x8] - adds r1, r5, 0 - adds r1, 0x34 - bl sub_801D188 - adds r2, r0, 0 - adds r0, r5, 0 - movs r1, 0x18 - movs r3, 0x4 - bl mevent_srv_814501C - b _0801D464 -_0801D390: - ldr r2, [r3, 0x8] - cmp r2, 0 - bne _0801D39C - ldr r2, [r5, 0x24] - ldr r3, [r5, 0x28] - b _0801D39E -_0801D39C: - ldr r3, [r3, 0x4] -_0801D39E: - adds r0, r5, 0 - movs r1, 0x19 - bl mevent_srv_814501C - b _0801D464 -_0801D3A8: - ldr r2, [r3, 0x8] - cmp r2, 0 - bne _0801D3B4 - ldr r2, [r5, 0x2C] - ldr r3, [r5, 0x30] - b _0801D3B6 -_0801D3B4: - ldr r3, [r3, 0x4] -_0801D3B6: - adds r0, r5, 0 - movs r1, 0x10 - bl mevent_srv_814501C - b _0801D464 -_0801D3C0: - ldr r2, [r3, 0x8] - adds r0, r5, 0 - movs r1, 0x1A - movs r3, 0xBC - bl mevent_srv_814501C - b _0801D464 -_0801D3CE: - ldr r2, [r3, 0x8] - ldr r3, [r3, 0x4] - adds r0, r5, 0 - movs r1, 0x15 - bl mevent_srv_814501C - b _0801D464 -_0801D3DC: - ldr r2, [r3, 0x8] - ldr r3, [r3, 0x4] - adds r0, r5, 0 - movs r1, 0x1C - bl mevent_srv_814501C - b _0801D464 -_0801D3EA: - ldr r0, [r5, 0x18] - ldr r1, [r3, 0x8] - movs r2, 0xA6 - lsls r2, 1 - bl memcpy - b _0801D464 -_0801D3F8: - ldr r0, [r5, 0x1C] - ldr r1, [r3, 0x8] - movs r2, 0xDE - lsls r2, 1 - bl memcpy - b _0801D464 -_0801D406: - ldr r0, [r3, 0x8] - ldr r0, [r0] - str r0, [r5, 0x34] - b _0801D464 -_0801D40E: - ldr r0, [r3, 0x8] - str r0, [r5, 0x24] - ldr r0, [r3, 0x4] - str r0, [r5, 0x28] - b _0801D464 -_0801D418: - ldr r0, [r3, 0x8] - str r0, [r5, 0x2C] - ldr r0, [r3, 0x4] - str r0, [r5, 0x30] - b _0801D464 -_0801D422: - ldr r4, [r5, 0x18] - bl sav1_get_mevent_buffer_1 - adds r1, r0, 0 - movs r2, 0xA6 - lsls r2, 1 - adds r0, r4, 0 - bl memcpy - ldr r0, [r5, 0x18] - bl sub_801B3C0 - b _0801D464 -_0801D43C: - ldr r4, [r5, 0x1C] - bl sav1_get_mevent_buffer_0 - adds r1, r0, 0 - movs r2, 0xDE - lsls r2, 1 - adds r0, r4, 0 - bl memcpy - b _0801D464 -_0801D450: - bl sub_8099244 - str r0, [r5, 0x24] - b _0801D464 -_0801D458: - ldr r2, [r3, 0x8] - ldr r3, [r3, 0x4] - adds r0, r5, 0 - movs r1, 0x1B - bl mevent_srv_814501C -_0801D464: - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_801D1F0 - - thumb_func_start mevent_srv_exec_common -mevent_srv_exec_common: @ 801D46C - push {lr} - ldr r2, =gUnknown_082F2548 - ldr r1, [r0, 0x8] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - .pool - thumb_func_end mevent_srv_exec_common - - .align 2, 0 @ don't pad with nop diff --git a/asm/mevent_server_helpers.s b/asm/mevent_server_helpers.s index 6a60649a47..9bb70ff630 100755 --- a/asm/mevent_server_helpers.s +++ b/asm/mevent_server_helpers.s @@ -5,23 +5,23 @@ .text - thumb_func_start sub_801D8C0 -sub_801D8C0: @ 801D8C0 + thumb_func_start mevent_srv_sub_recv +mevent_srv_sub_recv: @ 801D8C0 push {lr} ldr r1, [r0, 0x20] bl _call_via_r1 pop {r1} bx r1 - thumb_func_end sub_801D8C0 + thumb_func_end mevent_srv_sub_recv - thumb_func_start sub_801D8CC -sub_801D8CC: @ 801D8CC + thumb_func_start mevent_srv_sub_send +mevent_srv_sub_send: @ 801D8CC push {lr} ldr r1, [r0, 0x24] bl _call_via_r1 pop {r1} bx r1 - thumb_func_end sub_801D8CC + thumb_func_end mevent_srv_sub_send thumb_func_start mevent_srv_sub_init mevent_srv_sub_init: @ 801D8D8 @@ -45,8 +45,8 @@ mevent_srv_sub_init: @ 801D8D8 .pool thumb_func_end mevent_srv_sub_init - thumb_func_start sub_801D904 -sub_801D904: @ 801D904 + thumb_func_start mevent_srv_sub_init_send +mevent_srv_sub_init_send: @ 801D904 push {r4,lr} adds r4, r0, 0 movs r0, 0 @@ -67,10 +67,10 @@ _0801D920: pop {r4} pop {r0} bx r0 - thumb_func_end sub_801D904 + thumb_func_end mevent_srv_sub_init_send - thumb_func_start sub_801D928 -sub_801D928: @ 801D928 + thumb_func_start mevent_srv_sub_init_recv +mevent_srv_sub_init_recv: @ 801D928 movs r3, 0 str r3, [r0] strh r1, [r0, 0x6] @@ -79,7 +79,7 @@ sub_801D928: @ 801D928 strh r3, [r0, 0xC] str r2, [r0, 0x18] bx lr - thumb_func_end sub_801D928 + thumb_func_end mevent_srv_sub_init_recv thumb_func_start sub_801D938 sub_801D938: @ 801D938 diff --git a/asm/mevent_server_ish.s b/asm/mevent_server_ish.s index 765b39b7eb..fe4c9cd463 100755 --- a/asm/mevent_server_ish.s +++ b/asm/mevent_server_ish.s @@ -175,7 +175,7 @@ sub_801D59C: @ 801D59C adds r0, r4, 0 adds r1, r6, 0 movs r3, 0x4 - bl sub_801D904 + bl mevent_srv_sub_init_send add sp, 0x4 pop {r4-r6} pop {r0} @@ -215,7 +215,7 @@ sub_801D5FC: @ 801D5FC push {r4,lr} adds r4, r0, 0 adds r0, 0x24 - bl sub_801D8C0 + bl mevent_srv_sub_recv cmp r0, 0 beq _0801D612 movs r0, 0x4 @@ -234,7 +234,7 @@ sub_801D61C: @ 801D61C push {r4,lr} adds r4, r0, 0 adds r0, 0x24 - bl sub_801D8CC + bl mevent_srv_sub_send cmp r0, 0 beq _0801D632 movs r0, 0x4 @@ -303,7 +303,7 @@ _0801D6C4: adds r0, 0x24 ldr r1, [r2, 0x4] ldr r2, [r4, 0x18] - bl sub_801D928 + bl mevent_srv_sub_init_recv movs r0, 0x2 b _0801D7FE _0801D6D4: @@ -315,7 +315,7 @@ _0801D6D8: ldr r2, [r4, 0x14] movs r1, 0x14 movs r3, 0 - bl sub_801D904 + bl mevent_srv_sub_init_send movs r0, 0x3 b _0801D7FE _0801D6EA: @@ -391,7 +391,7 @@ _0801D764: ldr r2, [r4, 0x14] movs r1, 0x11 movs r3, 0x64 - bl sub_801D904 + bl mevent_srv_sub_init_send b _0801D804 _0801D77C: ldr r2, [r4, 0x4] diff --git a/data/mevent_server.s b/data/mevent_server.s index eaab75c360..bd15692fe3 100755 --- a/data/mevent_server.s +++ b/data/mevent_server.s @@ -3,14 +3,6 @@ .section .rodata - .align 2 -gUnknown_082F2548:: @ 82F2548 - .4byte sub_801D1AC - .4byte sub_801D1B4 - .4byte sub_801D1B8 - .4byte sub_801D1D4 - .4byte sub_801D1F0 - .align 2 gUnknown_082F255C:: @ 82F255C .4byte sub_801D5D0 diff --git a/include/mevent_server_helpers.h b/include/mevent_server_helpers.h index d2b4608fb8..f682e362df 100644 --- a/include/mevent_server_helpers.h +++ b/include/mevent_server_helpers.h @@ -2,5 +2,9 @@ #define GUARD_MEVENT_SERVER_HELPERS_H void mevent_srv_sub_init(struct mevent_srv_sub *, u32, u32); +void mevent_srv_sub_init_send(struct mevent_srv_sub * manager, u32 ident, const void * src, u32 size); +bool32 mevent_srv_sub_recv(struct mevent_srv_sub * manager); +bool32 mevent_srv_sub_send(struct mevent_srv_sub * manager); +void mevent_srv_sub_init_recv(struct mevent_srv_sub *, u32, void *); #endif //GUARD_MEVENT_SERVER_HELPERS_H diff --git a/ld_script.txt b/ld_script.txt index 31de8d7303..8059dadd08 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -61,7 +61,7 @@ SECTIONS { src/mevent2.o(.text); src/mevent_801BAAC.o(.text); src/mevent_server.o(.text); - asm/mevent_server.o(.text); + src/mevent_server_ish.o(.text); asm/mevent_server_ish.o(.text); asm/mevent_server_helpers.o(.text); src/mevent_news.o(.text); @@ -418,6 +418,8 @@ SECTIONS { src/mevent2.o(.rodata); src/mevent_801BAAC.o(.rodata); src/mevent_server.o(.rodata); + src/mevent_server_ish.o(.rodata); + src/mevent_server_helpers.o(.rodata); data/mevent_server.o(.rodata); src/union_room_chat.o(.rodata); data/union_room_chat.o(.rodata); diff --git a/src/mevent_server.c b/src/mevent_server.c index ea5a186265..6a129ee280 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -1,15 +1,15 @@ #include "global.h" #include "alloc.h" +#include "script.h" #include "mevent.h" #include "mevent_server.h" #include "mevent_server_helpers.h" EWRAM_DATA struct mevent_srv_common * s_mevent_srv_common_ptr = NULL; -EWRAM_DATA struct mevent_srv_ish * s_mevent_srv_ish_ptr = NULL; static void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32); -u32 mevent_srv_exec_common(struct mevent_srv_common *); -u32 mevent_srv_free_resources(struct mevent_srv_common *); +static void mevent_srv_free_resources(struct mevent_srv_common *); +static u32 mevent_srv_exec_common(struct mevent_srv_common *); extern const struct mevent_cmd s_mevent_wonder_news[]; extern const struct mevent_cmd s_mevent_wonder_card[]; @@ -54,3 +54,232 @@ static void mevent_srv_init_common(struct mevent_srv_common * svr, const void * svr->cmdidx = 0; mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo); } + +static void mevent_srv_free_resources(struct mevent_srv_common * svr) +{ + Free(svr->mevent_32e0); + Free(svr->mevent_3120); + Free(svr->recvBuffer); + Free(svr->mevent_unk1442cc); +} + +void mevent_srv_common_init_send(struct mevent_srv_common * svr, u32 ident, const void * src, u32 size) +{ + AGB_ASSERT(size <= ME_SEND_BUF_SIZE); + mevent_srv_sub_init_send(&svr->manager, ident, src, size); +} + +static void * mevent_first_if_not_null_else_second(void * a0, void * a1) +{ + if (a0 != NULL) + return a0; + else + return a1; +} + +static u32 mevent_compare_pointers(void * a0, void * a1) +{ + if (a1 < a0) + return 0; + else if (a1 == a0) + return 1; + else + return 2; +} + +static u32 common_mainseq_0(struct mevent_srv_common * svr) +{ + // start + svr->mainseqno = 4; + return 0; +} + +static u32 common_mainseq_1(struct mevent_srv_common * svr) +{ + // done + return 3; +} + +static u32 common_mainseq_2(struct mevent_srv_common * svr) +{ + // do recv + if (mevent_srv_sub_recv(&svr->manager)) + svr->mainseqno = 4; + return 1; +} + +static u32 common_mainseq_3(struct mevent_srv_common * svr) +{ + // do send + if (mevent_srv_sub_send(&svr->manager)) + svr->mainseqno = 4; + return 1; +} + +static u32 common_mainseq_4(struct mevent_srv_common * svr) +{ + // process command + const struct mevent_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; + void * ptr; + svr->cmdidx++; + + switch (cmd->instr) + { + case 0: + AGB_ASSERT(cmd->parameter == NULL); + svr->mainseqno = 1; + svr->param = cmd->flag; + break; + case 1: + svr->mainseqno = 3; + break; + case 2: + AGB_ASSERT(cmd->parameter == NULL); + mevent_srv_sub_init_recv(&svr->manager, cmd->flag, svr->recvBuffer); + svr->mainseqno = 2; + break; + case 3: + AGB_ASSERT(cmd->flag == FALSE); + svr->cmdidx = 0; + svr->cmdBuffer = cmd->parameter; + break; + case 5: + AGB_ASSERT(cmd->flag == FALSE); + AGB_ASSERT(cmd->parameter == NULL); + memcpy(svr->mevent_unk1442cc, svr->recvBuffer, sizeof(struct MEventStruct_Unk1442CC)); + break; + case 6: + AGB_ASSERT(cmd->flag == FALSE); + AGB_ASSERT(cmd->parameter == NULL); + svr->param = sub_801B6A0(svr->mevent_unk1442cc, FALSE); + break; + case 30: + AGB_ASSERT(cmd->flag == FALSE); + AGB_ASSERT(cmd->parameter == NULL); + svr->param = sub_801B6A0(svr->mevent_unk1442cc, TRUE); + break; + case 4: + if (svr->param == cmd->flag) + { + svr->cmdidx = 0; + svr->cmdBuffer = cmd->parameter; + } + break; + case 7: + AGB_ASSERT(cmd->flag == FALSE); + ptr = mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_32e0); + svr->param = sub_801B6EC(ptr, svr->mevent_unk1442cc, ptr); + break; + case 8: + AGB_ASSERT(cmd->flag == FALSE); + AGB_ASSERT(cmd->parameter == NULL); + svr->param = *(u32 *)svr->recvBuffer; + break; + case 9: + AGB_ASSERT(cmd->flag == FALSE); + ptr = mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord); + svr->param = sub_801B708(ptr, svr->mevent_unk1442cc, ptr); + break; + case 10: + AGB_ASSERT(cmd->parameter == NULL); + svr->param = sub_801B784(svr->mevent_unk1442cc, cmd->flag); + break; + case 11: + AGB_ASSERT(cmd->flag == FALSE); + svr->param = sub_801B748(svr->mevent_unk1442cc, cmd->parameter); + break; + case 12: + AGB_ASSERT(cmd->flag == FALSE); + svr->param = mevent_compare_pointers(cmd->parameter, *(void **)svr->recvBuffer); + break; + case 14: + AGB_ASSERT(cmd->flag == FALSE); + mevent_srv_common_init_send(svr, 0x17, mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_3120), sizeof(struct MEventBuffer_3120_Sub)); + break; + case 13: + AGB_ASSERT(cmd->flag == FALSE); + mevent_srv_common_init_send(svr, 0x16, mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_32e0), sizeof(struct MEventBuffer_32E0_Sub)); + break; + case 16: + AGB_ASSERT(cmd->flag == FALSE); + mevent_srv_common_init_send(svr, 0x18, mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord), 4); + break; + case 15: + if (cmd->parameter == NULL) + mevent_srv_common_init_send(svr, 0x19, svr->sendBuffer1, svr->sendBuffer1Size); + else + mevent_srv_common_init_send(svr, 0x19, cmd->parameter, cmd->flag); + break; + case 18: + if (cmd->parameter == NULL) + mevent_srv_common_init_send(svr, 0x10, svr->sendBuffer2, svr->sendBuffer2Size); + else + mevent_srv_common_init_send(svr, 0x10, cmd->parameter, cmd->flag); + break; + case 19: + AGB_ASSERT(cmd->flag == FALSE); + mevent_srv_common_init_send(svr, 0x1a, cmd->parameter, 188); + break; + case 20: + mevent_srv_common_init_send(svr, 0x15, cmd->parameter, cmd->flag); + break; + case 17: + mevent_srv_common_init_send(svr, 0x1c, cmd->parameter, cmd->flag); + break; + case 22: + AGB_ASSERT(cmd->flag == FALSE); + memcpy(svr->mevent_32e0, cmd->parameter, 332); + break; + case 23: + AGB_ASSERT(cmd->flag == FALSE); + memcpy(svr->mevent_3120, cmd->parameter, 444); + break; + case 21: + AGB_ASSERT(cmd->flag == FALSE); + svr->sendWord = *(u32 *)cmd->parameter; + break; + case 24: + svr->sendBuffer1 = cmd->parameter; + svr->sendBuffer1Size = cmd->flag; + break; + case 25: + svr->sendBuffer2 = cmd->parameter; + svr->sendBuffer2Size = cmd->flag; + break; + case 26: + AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL); + memcpy(svr->mevent_32e0, sav1_get_mevent_buffer_1(), 332); + sub_801B3C0(svr->mevent_32e0); + break; + case 27: + AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL); + memcpy(svr->mevent_3120, sav1_get_mevent_buffer_0(), 444); + break; + case 28: + AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL); + svr->sendBuffer1 = sub_8099244(); + break; + case 29: + mevent_srv_common_init_send(svr, 0x1b, cmd->parameter, cmd->flag); + break; + } + + return 1; +} + +static u32 (*const func_tbl[])(struct mevent_srv_common *) = { + common_mainseq_0, + common_mainseq_1, + common_mainseq_2, + common_mainseq_3, + common_mainseq_4 +}; + +static u32 mevent_srv_exec_common(struct mevent_srv_common * svr) +{ + u32 response; + AGB_ASSERT(svr->mainseqno < NELEMS(func_tbl)); + response = func_tbl[svr->mainseqno](svr); + AGB_ASSERT(svr->mainseqno < NELEMS(func_tbl)); + return response; +} diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c new file mode 100644 index 0000000000..dc4f98a6ef --- /dev/null +++ b/src/mevent_server_helpers.c @@ -0,0 +1 @@ +#include "global.h" diff --git a/src/mevent_server_ish.c b/src/mevent_server_ish.c new file mode 100644 index 0000000000..30793cf5cb --- /dev/null +++ b/src/mevent_server_ish.c @@ -0,0 +1,7 @@ +#include "global.h" +#include "alloc.h" +#include "mevent.h" +#include "mevent_server.h" +#include "mevent_server_helpers.h" + +EWRAM_DATA struct mevent_srv_ish * s_mevent_srv_ish_ptr = NULL; diff --git a/sym_ewram.txt b/sym_ewram.txt index 22afe82261..06e3180a0e 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -13,6 +13,7 @@ .include "src/mevent2.o" .include "src/mevent_801BAAC.o" .include "src/mevent_server.o" + .include "src/mevent_server_ish.o" @ union_room_chat .align 2 From 03badd9c40de5d50562376d39348fb5c85f8340b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 11:43:29 -0400 Subject: [PATCH 34/84] mevent_server_ish --- asm/mevent_server_ish.s | 567 -------------------------------- data/mevent_server.s | 11 - include/mevent_server.h | 48 +-- include/mevent_server_helpers.h | 28 ++ include/mevent_server_ish.h | 23 ++ ld_script.txt | 1 - src/mevent_server_ish.c | 290 +++++++++++++++- 7 files changed, 340 insertions(+), 628 deletions(-) delete mode 100755 asm/mevent_server_ish.s diff --git a/asm/mevent_server_ish.s b/asm/mevent_server_ish.s deleted file mode 100755 index fe4c9cd463..0000000000 --- a/asm/mevent_server_ish.s +++ /dev/null @@ -1,567 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start mevent_srv_ish_do_init -mevent_srv_ish_do_init: @ 801D484 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =s_mevent_srv_ish_ptr - movs r0, 0x50 - bl AllocZeroed - str r0, [r4] - movs r1, 0x1 - movs r2, 0 - bl mevent_srv_ish_init - ldr r0, [r4] - str r5, [r0, 0x4C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end mevent_srv_ish_do_init - - thumb_func_start mevent_srv_ish_do_exec -mevent_srv_ish_do_exec: @ 801D4A8 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, =s_mevent_srv_ish_ptr - ldr r0, [r4] - cmp r0, 0 - bne _0801D4BC - movs r0, 0x6 - b _0801D4DC - .pool -_0801D4BC: - bl mevent_srv_ish_exec - adds r5, r0, 0 - cmp r5, 0x6 - bne _0801D4DA - ldr r0, [r4] - ldr r1, [r0, 0x4] - strh r1, [r6] - bl mevent_srv_ish_free_resources - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_0801D4DA: - adds r0, r5, 0 -_0801D4DC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end mevent_srv_ish_do_exec - - thumb_func_start mevent_srv_ish_inc_flag -mevent_srv_ish_inc_flag: @ 801D4E4 - ldr r0, =s_mevent_srv_ish_ptr - ldr r1, [r0] - ldr r0, [r1, 0xC] - adds r0, 0x1 - str r0, [r1, 0xC] - bx lr - .pool - thumb_func_end mevent_srv_ish_inc_flag - - thumb_func_start mevent_srv_ish_get_buffer -mevent_srv_ish_get_buffer: @ 801D4F4 - ldr r0, =s_mevent_srv_ish_ptr - ldr r0, [r0] - ldr r0, [r0, 0x20] - bx lr - .pool - thumb_func_end mevent_srv_ish_get_buffer - - thumb_func_start mevent_srv_ish_set_param -mevent_srv_ish_set_param: @ 801D500 - ldr r1, =s_mevent_srv_ish_ptr - ldr r1, [r1] - str r0, [r1, 0x4] - bx lr - .pool - thumb_func_end mevent_srv_ish_set_param - - thumb_func_start mevent_srv_ish_init -mevent_srv_ish_init: @ 801D50C - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r6, r1, 0 - mov r8, r2 - movs r0, 0 - str r0, [r4] - str r0, [r4, 0x8] - str r0, [r4, 0xC] - movs r5, 0x80 - lsls r5, 3 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4, 0x14] - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4, 0x18] - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4, 0x1C] - movs r0, 0x40 - bl AllocZeroed - str r0, [r4, 0x20] - adds r4, 0x24 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, r8 - bl mevent_srv_sub_init - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end mevent_srv_ish_init - - thumb_func_start mevent_srv_ish_free_resources -mevent_srv_ish_free_resources: @ 801D55C - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x14] - bl Free - ldr r0, [r4, 0x18] - bl Free - ldr r0, [r4, 0x1C] - bl Free - ldr r0, [r4, 0x20] - bl Free - pop {r4} - pop {r0} - bx r0 - thumb_func_end mevent_srv_ish_free_resources - - thumb_func_start mevent_srv_ish_jmp_buffer -mevent_srv_ish_jmp_buffer: @ 801D580 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x1C] - ldr r1, [r4, 0x18] - movs r2, 0x80 - lsls r2, 3 - bl memcpy - movs r0, 0 - str r0, [r4, 0x10] - pop {r4} - pop {r0} - bx r0 - thumb_func_end mevent_srv_ish_jmp_buffer - - thumb_func_start sub_801D59C -sub_801D59C: @ 801D59C - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - movs r0, 0 - str r0, [sp] - ldr r1, [r4, 0x14] - ldr r2, =0x05000100 - mov r0, sp - bl CpuSet - ldr r2, [r4, 0x14] - str r5, [r2] - adds r4, 0x24 - adds r0, r4, 0 - adds r1, r6, 0 - movs r3, 0x4 - bl mevent_srv_sub_init_send - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801D59C - - thumb_func_start sub_801D5D0 -sub_801D5D0: @ 801D5D0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x1C] - ldr r1, =gUnknown_082F2598 - movs r2, 0x80 - lsls r2, 3 - bl memcpy - movs r1, 0 - str r1, [r4, 0x10] - movs r0, 0x4 - str r0, [r4, 0x8] - str r1, [r4, 0xC] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_801D5D0 - - thumb_func_start sub_801D5F8 -sub_801D5F8: @ 801D5F8 - movs r0, 0x6 - bx lr - thumb_func_end sub_801D5F8 - - thumb_func_start sub_801D5FC -sub_801D5FC: @ 801D5FC - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x24 - bl mevent_srv_sub_recv - cmp r0, 0 - beq _0801D612 - movs r0, 0x4 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] -_0801D612: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801D5FC - - thumb_func_start sub_801D61C -sub_801D61C: @ 801D61C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x24 - bl mevent_srv_sub_send - cmp r0, 0 - beq _0801D632 - movs r0, 0x4 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] -_0801D632: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801D61C - - thumb_func_start sub_801D63C -sub_801D63C: @ 801D63C - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x10] - lsls r2, r0, 3 - ldr r1, [r4, 0x1C] - adds r2, r1, r2 - adds r0, 0x1 - str r0, [r4, 0x10] - ldr r0, [r2] - cmp r0, 0x15 - bls _0801D654 - b _0801D804 -_0801D654: - lsls r0, 2 - ldr r1, =_0801D664 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801D664: - .4byte _0801D804 - .4byte _0801D6BC - .4byte _0801D6C4 - .4byte _0801D6D4 - .4byte _0801D70E - .4byte _0801D716 - .4byte _0801D6FE - .4byte _0801D708 - .4byte _0801D764 - .4byte _0801D790 - .4byte _0801D788 - .4byte _0801D72C - .4byte _0801D742 - .4byte _0801D758 - .4byte _0801D77C - .4byte _0801D7B8 - .4byte _0801D7BC - .4byte _0801D7C4 - .4byte _0801D7D0 - .4byte _0801D6EA - .4byte _0801D6D8 - .4byte _0801D7F0 -_0801D6BC: - ldr r0, [r2, 0x4] - str r0, [r4, 0x4] - movs r0, 0x1 - b _0801D7FE -_0801D6C4: - adds r0, r4, 0 - adds r0, 0x24 - ldr r1, [r2, 0x4] - ldr r2, [r4, 0x18] - bl mevent_srv_sub_init_recv - movs r0, 0x2 - b _0801D7FE -_0801D6D4: - movs r0, 0x3 - b _0801D7FE -_0801D6D8: - adds r0, r4, 0 - adds r0, 0x24 - ldr r2, [r4, 0x14] - movs r1, 0x14 - movs r3, 0 - bl mevent_srv_sub_init_send - movs r0, 0x3 - b _0801D7FE -_0801D6EA: - ldrb r0, [r2, 0x4] - bl GetGameStat - adds r2, r0, 0 - adds r0, r4, 0 - movs r1, 0x12 - bl sub_801D59C - movs r0, 0x3 - b _0801D7FE -_0801D6FE: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _0801D706 - b _0801D804 -_0801D706: - b _0801D70E -_0801D708: - ldr r0, [r4, 0x4] - cmp r0, 0x1 - bne _0801D804 -_0801D70E: - adds r0, r4, 0 - bl mevent_srv_ish_jmp_buffer - b _0801D804 -_0801D716: - ldr r0, [r4, 0x20] - ldr r1, [r4, 0x18] - movs r2, 0x40 - bl memcpy - movs r0, 0x5 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x2 - b _0801D806 -_0801D72C: - ldr r0, [r4, 0x20] - ldr r1, [r4, 0x18] - movs r2, 0x40 - bl memcpy - movs r0, 0x5 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x3 - b _0801D806 -_0801D742: - ldr r0, [r4, 0x20] - ldr r1, [r4, 0x18] - movs r2, 0x40 - bl memcpy - movs r0, 0x5 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x5 - b _0801D806 -_0801D758: - movs r0, 0x5 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x4 - b _0801D806 -_0801D764: - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x4C] - bl sub_801B580 - adds r0, r4, 0 - adds r0, 0x24 - ldr r2, [r4, 0x14] - movs r1, 0x11 - movs r3, 0x64 - bl mevent_srv_sub_init_send - b _0801D804 -_0801D77C: - ldr r2, [r4, 0x4] - adds r0, r4, 0 - movs r1, 0x13 - bl sub_801D59C - b _0801D804 -_0801D788: - ldr r0, [r4, 0x18] - bl sub_801B21C - b _0801D804 -_0801D790: - ldr r0, [r4, 0x18] - bl sub_801B1A4 - cmp r0, 0 - bne _0801D7AC - ldr r0, [r4, 0x18] - bl sub_801B078 - adds r0, r4, 0 - movs r1, 0x13 - movs r2, 0 - bl sub_801D59C - b _0801D804 -_0801D7AC: - adds r0, r4, 0 - movs r1, 0x13 - movs r2, 0x1 - bl sub_801D59C - b _0801D804 -_0801D7B8: - movs r0, 0x6 - b _0801D7FE -_0801D7BC: - ldr r0, [r4, 0x18] - bl sub_801B508 - b _0801D804 -_0801D7C4: - ldr r0, [r4, 0x18] - movs r1, 0xFA - lsls r1, 2 - bl sub_80992A0 - b _0801D804 -_0801D7D0: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000bec - adds r0, r1 - ldr r1, [r4, 0x18] - movs r2, 0xBC - bl memcpy - bl ValidateEReaderTrainer - b _0801D804 - .pool -_0801D7F0: - ldr r0, =gDecompressionBuffer - ldr r1, [r4, 0x18] - movs r2, 0x80 - lsls r2, 3 - bl memcpy - movs r0, 0x7 -_0801D7FE: - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] -_0801D804: - movs r0, 0x1 -_0801D806: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_801D63C - - thumb_func_start sub_801D810 -sub_801D810: @ 801D810 - push {lr} - adds r1, r0, 0 - ldr r0, [r1, 0xC] - cmp r0, 0 - beq _0801D822 - movs r0, 0x4 - str r0, [r1, 0x8] - movs r0, 0 - str r0, [r1, 0xC] -_0801D822: - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_801D810 - - thumb_func_start sub_801D828 -sub_801D828: @ 801D828 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0xC] - cmp r0, 0 - beq _0801D838 - cmp r0, 0x1 - beq _0801D846 - b _0801D858 -_0801D838: - ldr r0, [r4, 0x18] - bl sub_8153870 - ldr r0, [r4, 0xC] - adds r0, 0x1 - str r0, [r4, 0xC] - b _0801D858 -_0801D846: - adds r0, r4, 0x4 - bl sub_8153884 - adds r1, r0, 0 - cmp r1, 0 - bne _0801D858 - movs r0, 0x4 - str r0, [r4, 0x8] - str r1, [r4, 0xC] -_0801D858: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801D828 - - thumb_func_start sub_801D860 -sub_801D860: @ 801D860 - push {r4,lr} - adds r4, r0, 0 - ldr r3, =gDecompressionBuffer - adds r0, r4, 0x4 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - ldr r2, =gSaveBlock1Ptr - ldr r2, [r2] - bl _call_via_r3 - cmp r0, 0x1 - bne _0801D880 - movs r0, 0x4 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] -_0801D880: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_801D860 - - thumb_func_start mevent_srv_ish_exec -mevent_srv_ish_exec: @ 801D894 - push {r4,r5,lr} - sub sp, 0x20 - mov r2, sp - ldr r1, =gUnknown_082F255C - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3,r4} - stm r2!, {r3,r4} - ldr r1, [r0, 0x8] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - bl _call_via_r1 - add sp, 0x20 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end mevent_srv_ish_exec - - .align 2, 0 @ don't pad with nop diff --git a/data/mevent_server.s b/data/mevent_server.s index bd15692fe3..b6d8b4e25d 100755 --- a/data/mevent_server.s +++ b/data/mevent_server.s @@ -3,17 +3,6 @@ .section .rodata - .align 2 -gUnknown_082F255C:: @ 82F255C - .4byte sub_801D5D0 - .4byte sub_801D5F8 - .4byte sub_801D5FC - .4byte sub_801D61C - .4byte sub_801D63C - .4byte sub_801D810 - .4byte sub_801D828 - .4byte sub_801D860 - .align 2 gText_CanceledReadingCard:: @ 82F257C .string "Canceled reading\nthe Card.$" diff --git a/include/mevent_server.h b/include/mevent_server.h index 772aae6b18..ed9812d8a5 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -1,53 +1,7 @@ #ifndef GUARD_MEVENT_SERVER_H #define GUARD_MEVENT_SERVER_H -#define ME_SEND_BUF_SIZE 0x400 - -struct mevent_srv_sub -{ - s32 seqno; - u8 sendPlayerNo; - u8 recvPlayerNo; - u16 recvIdent; - u16 recvCounter; - u16 recvCRC; - u16 recvSize; - u16 sendIdent; - u16 sendCounter; - u16 sendCRC; - u16 sendSize; - void * recvBfr; - const void * sendBfr; - u32 (*recvFunc)(struct mevent_srv_sub *); - u32 (*sendFunc)(struct mevent_srv_sub *); -}; - -struct send_recv_header -{ - u16 ident; - u16 crc; - u16 size; -}; - -struct mevent_cmd_ish -{ - u32 instr; - u32 parameter; -}; - -struct mevent_srv_ish -{ - u32 unk_00; - u32 param; - u32 mainseqno; - u32 flag; - u32 cmdidx; - void * sendBuffer; - void * recvBuffer; - struct mevent_cmd_ish * cmdBuffer; - void * buffer; - struct mevent_srv_sub manager; -}; +#include "mevent_server_helpers.h" struct mevent_cmd { diff --git a/include/mevent_server_helpers.h b/include/mevent_server_helpers.h index f682e362df..e4e409862a 100644 --- a/include/mevent_server_helpers.h +++ b/include/mevent_server_helpers.h @@ -1,6 +1,34 @@ #ifndef GUARD_MEVENT_SERVER_HELPERS_H #define GUARD_MEVENT_SERVER_HELPERS_H +#define ME_SEND_BUF_SIZE 0x400 + +struct mevent_srv_sub +{ + s32 seqno; + u8 sendPlayerNo; + u8 recvPlayerNo; + u16 recvIdent; + u16 recvCounter; + u16 recvCRC; + u16 recvSize; + u16 sendIdent; + u16 sendCounter; + u16 sendCRC; + u16 sendSize; + void * recvBfr; + const void * sendBfr; + u32 (*recvFunc)(struct mevent_srv_sub *); + u32 (*sendFunc)(struct mevent_srv_sub *); +}; + +struct send_recv_header +{ + u16 ident; + u16 crc; + u16 size; +}; + void mevent_srv_sub_init(struct mevent_srv_sub *, u32, u32); void mevent_srv_sub_init_send(struct mevent_srv_sub * manager, u32 ident, const void * src, u32 size); bool32 mevent_srv_sub_recv(struct mevent_srv_sub * manager); diff --git a/include/mevent_server_ish.h b/include/mevent_server_ish.h index 31f98ed520..35833ea127 100644 --- a/include/mevent_server_ish.h +++ b/include/mevent_server_ish.h @@ -1,6 +1,29 @@ #ifndef GUARD_MEVENT_SERVER_ISH_H #define GUARD_MEVENT_SERVER_ISH_H +#include "mevent_server_helpers.h" + +struct mevent_cmd_ish +{ + u32 instr; + u32 parameter; +}; + +struct mevent_srv_ish +{ + u32 unk_00; + u32 param; + u32 mainseqno; + u32 flag; + u32 cmdidx; + void * sendBuffer; + void * recvBuffer; + struct mevent_cmd_ish * cmdBuffer; + void * buffer; + struct mevent_srv_sub manager; + u32 unk_4C; +}; + void mevent_srv_ish_do_init(u32 arg); u32 mevent_srv_ish_do_exec(u16 * a0); void mevent_srv_ish_inc_flag(void); diff --git a/ld_script.txt b/ld_script.txt index 8059dadd08..0a7838883e 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -62,7 +62,6 @@ SECTIONS { src/mevent_801BAAC.o(.text); src/mevent_server.o(.text); src/mevent_server_ish.o(.text); - asm/mevent_server_ish.o(.text); asm/mevent_server_helpers.o(.text); src/mevent_news.o(.text); src/union_room_chat.o(.text); diff --git a/src/mevent_server_ish.c b/src/mevent_server_ish.c index 30793cf5cb..2b310c9812 100644 --- a/src/mevent_server_ish.c +++ b/src/mevent_server_ish.c @@ -1,7 +1,293 @@ #include "global.h" #include "alloc.h" +#include "decompress.h" +#include "overworld.h" +#include "script.h" +#include "battle_tower.h" #include "mevent.h" -#include "mevent_server.h" -#include "mevent_server_helpers.h" +#include "mystery_event_script.h" +#include "mevent_server_ish.h" EWRAM_DATA struct mevent_srv_ish * s_mevent_srv_ish_ptr = NULL; + +static void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); +static u32 mevent_srv_ish_exec(struct mevent_srv_ish *); +static void mevent_srv_ish_free_resources(struct mevent_srv_ish *); + +extern const u8 gUnknown_082F2598[]; +extern const struct mevent_cmd gUnknown_8468B6C[]; +extern const struct mevent_cmd gUnknown_8468BCC[]; + +void mevent_srv_ish_do_init(u32 arg) +{ + s_mevent_srv_ish_ptr = AllocZeroed(sizeof(struct mevent_srv_ish)); + mevent_srv_ish_init(s_mevent_srv_ish_ptr, 1, 0); + s_mevent_srv_ish_ptr->unk_4C = arg; +} + +u32 mevent_srv_ish_do_exec(u16 * a0) +{ + u32 result; + if (s_mevent_srv_ish_ptr == NULL) + return 6; + result = mevent_srv_ish_exec(s_mevent_srv_ish_ptr); + if (result == 6) + { + *a0 = s_mevent_srv_ish_ptr->param; + mevent_srv_ish_free_resources(s_mevent_srv_ish_ptr); + Free(s_mevent_srv_ish_ptr); + s_mevent_srv_ish_ptr = NULL; + } + return result; +} + +void mevent_srv_ish_inc_flag(void) +{ + s_mevent_srv_ish_ptr->flag++; +} + +void * mevent_srv_ish_get_buffer(void) +{ + return s_mevent_srv_ish_ptr->buffer; +} + +void mevent_srv_ish_set_param(u32 a0) +{ + s_mevent_srv_ish_ptr->param = a0; +} + +static void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 sendPlayerNo, u32 recvPlayerNo) +{ + svr->unk_00 = 0; + svr->mainseqno = 0; + svr->flag = 0; + svr->sendBuffer = AllocZeroed(ME_SEND_BUF_SIZE); + svr->recvBuffer = AllocZeroed(ME_SEND_BUF_SIZE); + svr->cmdBuffer = AllocZeroed(ME_SEND_BUF_SIZE); + svr->buffer = AllocZeroed(0x40); + mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo); +} + +static void mevent_srv_ish_free_resources(struct mevent_srv_ish * svr) +{ + Free(svr->sendBuffer); + Free(svr->recvBuffer); + Free(svr->cmdBuffer); + Free(svr->buffer); +} + +static void mevent_srv_ish_jmp_buffer(struct mevent_srv_ish * svr) +{ + memcpy(svr->cmdBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE); + svr->cmdidx = 0; +} + +static void mevent_srv_ish_send_word(struct mevent_srv_ish * svr, u32 ident, u32 word) +{ + CpuFill32(0, svr->sendBuffer, ME_SEND_BUF_SIZE); + *(u32 *)svr->sendBuffer = word; + mevent_srv_sub_init_send(&svr->manager, ident, svr->sendBuffer, sizeof(u32)); +} + +static u32 ish_mainseq_0(struct mevent_srv_ish * svr) +{ + // init + memcpy(svr->cmdBuffer, gUnknown_082F2598, ME_SEND_BUF_SIZE); + svr->cmdidx = 0; + svr->mainseqno = 4; + svr->flag = 0; + return 0; +} + +static u32 ish_mainseq_1(struct mevent_srv_ish * svr) +{ + // done + return 6; +} + + +static u32 ish_mainseq_2(struct mevent_srv_ish * svr) +{ + // do recv + if (mevent_srv_sub_recv(&svr->manager)) + { + svr->mainseqno = 4; + svr->flag = 0; + } + return 1; +} + +static u32 ish_mainseq_3(struct mevent_srv_ish * svr) +{ + // do send + if (mevent_srv_sub_send(&svr->manager)) + { + svr->mainseqno = 4; + svr->flag = 0; + } + return 1; +} + +static u32 ish_mainseq_4(struct mevent_srv_ish * svr) +{ + // process command + struct mevent_cmd_ish * cmd = &svr->cmdBuffer[svr->cmdidx]; + ++svr->cmdidx; + switch (cmd->instr) + { + case 0: + break; + case 1: + svr->param = cmd->parameter; + svr->mainseqno = 1; + svr->flag = 0; + break; + case 2: + mevent_srv_sub_init_recv(&svr->manager, cmd->parameter, svr->recvBuffer); + svr->mainseqno = 2; + svr->flag = 0; + break; + case 3: + svr->mainseqno = 3; + svr->flag = 0; + break; + case 20: + mevent_srv_sub_init_send(&svr->manager, 0x14, svr->sendBuffer, 0); + svr->mainseqno = 3; + svr->flag = 0; + break; + case 19: + mevent_srv_ish_send_word(svr, 0x12, GetGameStat(cmd->parameter)); + svr->mainseqno = 3; + svr->flag = 0; + break; + case 6: + if (svr->param == 0) + mevent_srv_ish_jmp_buffer(svr); + break; + case 7: + if (svr->param == 1) + mevent_srv_ish_jmp_buffer(svr); + break; + case 4: + mevent_srv_ish_jmp_buffer(svr); + break; + case 5: + memcpy(svr->buffer, svr->recvBuffer, 0x40); + svr->mainseqno = 5; + svr->flag = 0; + return 2; + case 11: + memcpy(svr->buffer, svr->recvBuffer, 0x40); + svr->mainseqno = 5; + svr->flag = 0; + return 3; + case 12: + memcpy(svr->buffer, svr->recvBuffer, 0x40); + svr->mainseqno = 5; + svr->flag = 0; + return 5; + case 13: + svr->mainseqno = 5; + svr->flag = 0; + return 4; + case 8: + sub_801B580(svr->sendBuffer, svr->unk_4C); + mevent_srv_sub_init_send(&svr->manager, 0x11, svr->sendBuffer, sizeof(struct MEventStruct_Unk1442CC)); + break; + case 14: + mevent_srv_ish_send_word(svr, 0x13, svr->param); + break; + case 10: + sub_801B21C(svr->recvBuffer); + break; + case 9: + if (!sub_801B1A4(svr->recvBuffer)) + { + sub_801B078(svr->recvBuffer); + mevent_srv_ish_send_word(svr, 0x13, 0); + } + else + mevent_srv_ish_send_word(svr, 0x13, 1); + break; + case 15: + svr->mainseqno = 6; + svr->flag = 0; + break; + case 16: + sub_801B508(svr->recvBuffer); + break; + case 17: + sub_80992A0(svr->recvBuffer, 1000); + break; + case 18: + memcpy(&gSaveBlock2Ptr->frontier.ereaderTrainer, svr->recvBuffer, 0xbc); + ValidateEReaderTrainer(); + break; + case 21: + memcpy(gDecompressionBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE); + svr->mainseqno = 7; + svr->flag = 0; + break; + } + + return 1; +} + +static u32 ish_mainseq_5(struct mevent_srv_ish * svr) +{ + // wait flag + if (svr->flag) + { + svr->mainseqno = 4; + svr->flag = 0; + } + return 1; +} + +static u32 ish_mainseq_6(struct mevent_srv_ish * svr) +{ + // ??? + switch (svr->flag) + { + case 0: + sub_8153870(svr->recvBuffer); + ++svr->flag; + break; + case 1: + if (!sub_8153884(&svr->param)) + { + svr->mainseqno = 4; + svr->flag = 0; + } + break; + } + return 1; +} + +static u32 ish_mainseq_7(struct mevent_srv_ish * svr) +{ + // exec arbitrary code + u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; + if (func(&svr->param, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) + { + svr->mainseqno = 4; + svr->flag = 0; + } + return 1; +} + +static u32 mevent_srv_ish_exec(struct mevent_srv_ish * svr) +{ + u32 (*funcs[])(struct mevent_srv_ish *) = { + ish_mainseq_0, + ish_mainseq_1, + ish_mainseq_2, + ish_mainseq_3, + ish_mainseq_4, + ish_mainseq_5, + ish_mainseq_6, + ish_mainseq_7 + }; + return funcs[svr->mainseqno](svr); +} From 6c12d154e7a6a0bc60c988497b3daa4f8126a5b2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 12:22:39 -0400 Subject: [PATCH 35/84] Reformat mevent server and client scripts --- asm/mevent_server_helpers.s | 373 ------------------------------------ data/mevent_server.s | 318 ++++++++++++------------------ include/util.h | 4 +- ld_script.txt | 2 +- src/mevent_server_helpers.c | 210 ++++++++++++++++++++ src/mevent_server_ish.c | 4 +- src/util.c | 4 +- 7 files changed, 335 insertions(+), 580 deletions(-) delete mode 100755 asm/mevent_server_helpers.s diff --git a/asm/mevent_server_helpers.s b/asm/mevent_server_helpers.s deleted file mode 100755 index 9bb70ff630..0000000000 --- a/asm/mevent_server_helpers.s +++ /dev/null @@ -1,373 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start mevent_srv_sub_recv -mevent_srv_sub_recv: @ 801D8C0 - push {lr} - ldr r1, [r0, 0x20] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end mevent_srv_sub_recv - - thumb_func_start mevent_srv_sub_send -mevent_srv_sub_send: @ 801D8CC - push {lr} - ldr r1, [r0, 0x24] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end mevent_srv_sub_send - - thumb_func_start mevent_srv_sub_init -mevent_srv_sub_init: @ 801D8D8 - movs r3, 0 - strb r1, [r0, 0x4] - strb r2, [r0, 0x5] - str r3, [r0] - strh r3, [r0, 0x12] - strh r3, [r0, 0x14] - strh r3, [r0, 0x10] - strh r3, [r0, 0xA] - strh r3, [r0, 0xC] - strh r3, [r0, 0x8] - str r3, [r0, 0x1C] - str r3, [r0, 0x18] - ldr r1, =sub_801DA5C - str r1, [r0, 0x24] - ldr r1, =sub_801D988 - str r1, [r0, 0x20] - bx lr - .pool - thumb_func_end mevent_srv_sub_init - - thumb_func_start mevent_srv_sub_init_send -mevent_srv_sub_init_send: @ 801D904 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - str r0, [r4] - strh r1, [r4, 0xE] - strh r0, [r4, 0x10] - strh r0, [r4, 0x12] - cmp r3, 0 - beq _0801D91A - strh r3, [r4, 0x14] - b _0801D920 -_0801D91A: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r4, 0x14] -_0801D920: - str r2, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end mevent_srv_sub_init_send - - thumb_func_start mevent_srv_sub_init_recv -mevent_srv_sub_init_recv: @ 801D928 - movs r3, 0 - str r3, [r0] - strh r1, [r0, 0x6] - strh r3, [r0, 0x8] - strh r3, [r0, 0xA] - strh r3, [r0, 0xC] - str r2, [r0, 0x18] - bx lr - thumb_func_end mevent_srv_sub_init_recv - - thumb_func_start sub_801D938 -sub_801D938: @ 801D938 - push {lr} - adds r3, r0, 0 - adds r0, r1, 0 - lsls r3, 8 - ldr r1, =gBlockRecvBuffer - adds r3, r1 - adds r1, r3, 0 - bl memcpy - pop {r0} - bx r0 - .pool - thumb_func_end sub_801D938 - - thumb_func_start sub_801D954 -sub_801D954: @ 801D954 - push {r4,lr} - adds r4, r0, 0 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801D96E - movs r0, 0 - b _0801D970 -_0801D96E: - movs r0, 0x1 -_0801D970: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801D954 - - thumb_func_start sub_801D978 -sub_801D978: @ 801D978 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag - pop {r0} - bx r0 - thumb_func_end sub_801D978 - - thumb_func_start sub_801D988 -sub_801D988: @ 801D988 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r6, [r5] - cmp r6, 0x1 - beq _0801D9EC - cmp r6, 0x1 - bgt _0801D99E - cmp r6, 0 - beq _0801D9A4 - b _0801DA52 -_0801D99E: - cmp r6, 0x2 - beq _0801DA38 - b _0801DA52 -_0801D9A4: - ldrb r0, [r5, 0x5] - bl sub_801D954 - cmp r0, 0 - beq _0801DA52 - ldrb r0, [r5, 0x5] - mov r4, sp - mov r1, sp - movs r2, 0x8 - bl sub_801D938 - ldrh r1, [r4, 0x4] - strh r1, [r5, 0xC] - ldrh r0, [r4, 0x2] - strh r0, [r5, 0xA] - lsls r1, 16 - movs r0, 0x80 - lsls r0, 19 - cmp r1, r0 - bls _0801D9D2 -_0801D9CC: - bl sub_8010198 - b _0801DA52 -_0801D9D2: - mov r1, sp - ldrh r0, [r5, 0x6] - ldrh r1, [r1] - cmp r0, r1 - bne _0801D9CC - strh r6, [r5, 0x8] - ldrb r0, [r5, 0x5] - bl sub_801D978 - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] - b _0801DA52 -_0801D9EC: - ldrb r0, [r5, 0x5] - bl sub_801D954 - cmp r0, 0 - beq _0801DA52 - ldrh r0, [r5, 0x8] - lsls r1, r0, 6 - subs r1, r0 - lsls r3, r1, 2 - ldrh r0, [r5, 0xC] - subs r2, r0, r3 - cmp r2, 0xFC - bhi _0801DA1E - ldrb r0, [r5, 0x5] - ldr r1, [r5, 0x18] - adds r1, r3 - bl sub_801D938 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] - b _0801DA30 -_0801DA1E: - ldrb r0, [r5, 0x5] - ldr r1, [r5, 0x18] - adds r1, r3 - movs r2, 0xFC - bl sub_801D938 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0801DA30: - ldrb r0, [r5, 0x5] - bl sub_801D978 - b _0801DA52 -_0801DA38: - ldr r0, [r5, 0x18] - ldrh r1, [r5, 0xC] - bl CalcCRC16WithTable - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r5, 0xA] - cmp r0, r1 - bne _0801D9CC - movs r0, 0 - str r0, [r5] - movs r0, 0x1 - b _0801DA54 -_0801DA52: - movs r0, 0 -_0801DA54: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801D988 - - thumb_func_start sub_801DA5C -sub_801DA5C: @ 801DA5C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, [r4] - cmp r5, 0x1 - beq _0801DAC8 - cmp r5, 0x1 - bgt _0801DA72 - cmp r5, 0 - beq _0801DA7C - b _0801DB5E -_0801DA72: - cmp r5, 0x2 - beq _0801DB1C - cmp r5, 0x3 - beq _0801DB46 - b _0801DB5E -_0801DA7C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0801DB5E - ldrh r1, [r4, 0xE] - ldr r2, =0xffff0000 - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldrh r1, [r4, 0x14] - ldr r0, [sp, 0x4] - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r0, [r4, 0x1C] - bl CalcCRC16WithTable - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - lsrs r1, 16 - strh r1, [r4, 0x12] - strh r5, [r4, 0x10] - movs r0, 0 - mov r1, sp - movs r2, 0x8 - bl SendBlock - b _0801DB3E - .pool -_0801DAC8: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0801DB5E - ldrb r0, [r4, 0x4] - bl sub_801D954 - cmp r0, 0 - beq _0801DB5E - ldrb r0, [r4, 0x4] - bl sub_801D978 - ldrh r1, [r4, 0x10] - lsls r0, r1, 6 - subs r0, r1 - lsls r3, r0, 2 - ldrh r0, [r4, 0x14] - subs r0, r3 - cmp r0, 0xFC - bhi _0801DB08 - ldr r1, [r4, 0x1C] - adds r1, r3 - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0 - bl SendBlock - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - b _0801DB3E -_0801DB08: - ldr r1, [r4, 0x1C] - adds r1, r3 - movs r0, 0 - movs r2, 0xFC - bl SendBlock - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - b _0801DB5E -_0801DB1C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0801DB5E - ldr r0, [r4, 0x1C] - ldrh r1, [r4, 0x14] - bl CalcCRC16WithTable - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x12] - cmp r0, r1 - beq _0801DB3E - bl sub_8010198 - b _0801DB5E -_0801DB3E: - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - b _0801DB5E -_0801DB46: - ldrb r0, [r4, 0x4] - bl sub_801D954 - cmp r0, 0 - beq _0801DB5E - ldrb r0, [r4, 0x4] - bl sub_801D978 - movs r0, 0 - str r0, [r4] - movs r0, 0x1 - b _0801DB60 -_0801DB5E: - movs r0, 0 -_0801DB60: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_801DA5C - - .align 2, 0 @ don't pad with nop diff --git a/data/mevent_server.s b/data/mevent_server.s index b6d8b4e25d..47e474e61a 100755 --- a/data/mevent_server.s +++ b/data/mevent_server.s @@ -9,265 +9,185 @@ gText_CanceledReadingCard:: @ 82F257C .align 2 gUnknown_082F2598:: @ 82F2598 - .byte 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte 2, 16 + .4byte 4, 0 .align 2 gUnknown_082F25A8:: @ 82F25A8 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte 8, 0 + .4byte 3, 0 + .4byte 2, 16 + .4byte 4, 0 .align 2 gUnknown_082F25C8:: @ 82F25C8 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00 + .4byte 20, 0 + .4byte 1, 10 .align 2 gUnknown_082F25D8:: @ 82F25D8 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00 + .4byte 20, 0 + .4byte 1, 11 .align 2 gUnknown_082F25E8:: @ 82F25E8 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte 20, 0 + .4byte 1, 0 .align 2 gUnknown_082F25F8:: @ 82F25F8 - .byte 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 - .byte 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 - .byte 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 + .4byte 2, 22 + .4byte 10, 0 + .4byte 2, 25 + .4byte 17, 0 + .4byte 20, 0 + .4byte 1, 2 .align 2 gUnknown_082F2628:: @ 82F2628 - .byte 0x02, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 - .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte 2, 23 + .4byte 9, 0 + .4byte 3, 0 + .4byte 2, 16 + .4byte 4, 0 .align 2 gUnknown_082F2650:: @ 82F2650 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 + .4byte 20, 0 + .4byte 1, 7 .align 2 gUnknown_082F2660:: @ 82F2660 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 + .4byte 20, 0 + .4byte 1, 3 .align 2 gUnknown_082F2670:: @ 82F2670 - .byte 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte 13, 0 + .4byte 14, 0 + .4byte 3, 0 + .4byte 2, 16 + .4byte 4, 0 .align 2 gUnknown_082F2698:: @ 82F2698 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 + .4byte 20, 0 + .4byte 1, 9 .align 2 gUnknown_082F26A8:: @ 82F26A8 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 + .4byte 20, 0 + .4byte 1, 5 .align 2 gUnknown_082F26B8:: @ 82F26B8 - .byte 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 - .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 - .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00 + .4byte 2, 21 + .4byte 12, 0 + .4byte 20, 0 + .4byte 1, 14 + .4byte 2, 21 + .4byte 12, 0 + .4byte 20, 0 + .4byte 1, 13 .align 2 gUnknown_082F26F8:: @ 82F26F8 - .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F25C8 - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F25D8 - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2698 - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte 18, 0x10, gUnknown_082F25C8 + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x0a, NULL + .4byte 18, 0x10, gUnknown_082F25D8 + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x0b, NULL + .4byte 18, 0x10, gUnknown_082F2698 + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x09, NULL .align 2 gUnknown_082F2788:: @ 82F2788 - .byte 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F26B8 - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00 - - .4byte gText_CanceledReadingCard - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte 18, 0x20, gUnknown_082F26B8 + .4byte 1, 0x00, NULL + .4byte 20, 0x1b, gText_CanceledReadingCard + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x09, NULL .align 2 gUnknown_082F27D0:: @ 82F27D0 - .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2650 - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte 18, 0x10, gUnknown_082F2650 + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x07, NULL .align 2 gUnknown_082F2800:: @ 82F2800 - .byte 0x12, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2628 - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F27D0 - .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2660 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 + .4byte 18, 0x28, gUnknown_082F2628 + .4byte 1, 0x00, NULL + .4byte 14, 0x00, NULL + .4byte 1, 0x00, NULL + .4byte 2, 0x13, NULL + .4byte 8, 0x00, NULL + .4byte 4, 0x01, gUnknown_082F27D0 + .4byte 18, 0x10, gUnknown_082F2660 + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x03, NULL .align 2 gUnknown_082F2884:: @ 82F2884 - .byte 0x12, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F25F8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 + .4byte 18, 0x30, gUnknown_082F25F8 + .4byte 1, 0x00, NULL + .4byte 13, 0x00, NULL + .4byte 1, 0x00, NULL + .4byte 15, 0x00, NULL + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x02, NULL .align 2 gUnknown_082F28E4:: @ 82F28E4 - .byte 0x12, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2670 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2884 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2788 + .4byte 18, 0x28, gUnknown_082F2670 + .4byte 1, 0x00, NULL + .4byte 2, 0x13, NULL + .4byte 8, 0x00, NULL + .4byte 4, 0x00, gUnknown_082F2884 + .4byte 3, 0x00, gUnknown_082F2788 .align 2 gUnknown_082F292C:: @ 82F292C - .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F26A8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F25E8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 + .4byte 18, 0x10, gUnknown_082F26A8 + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x05, NULL + .4byte 18, 0x10, gUnknown_082F25E8 + .4byte 1, 0x00, NULL + .4byte 2, 0x14, NULL + .4byte 0, 0x00, NULL .align 2 s_mevent_wonder_news:: @ 82F298C - .byte 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 - .byte 0x20, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F25A8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F26F8 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2800 + .4byte 27, 0x00, NULL + .4byte 18, 0x20, gUnknown_082F25A8 + .4byte 1, 0x00, NULL + .4byte 2, 0x11, NULL + .4byte 5, 0x00, NULL + .4byte 30, 0x00, NULL + .4byte 4, 0x00, gUnknown_082F26F8 + .4byte 3, 0x00, gUnknown_082F2800 .align 2 s_mevent_wonder_card:: @ 82F29EC - .byte 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F25A8 - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F26F8 - .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F28E4 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F2884 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gUnknown_082F292C + .4byte 26, 0x00, NULL + .4byte 28, 0x00, NULL + .4byte 18, 0x20, gUnknown_082F25A8 + .4byte 1, 0x00, NULL + .4byte 2, 0x11, NULL + .4byte 5, 0x00, NULL + .4byte 6, 0x00, NULL + .4byte 4, 0x00, gUnknown_082F26F8 + .4byte 7, 0x00, NULL + .4byte 4, 0x02, gUnknown_082F28E4 + .4byte 4, 0x00, gUnknown_082F2884 + .4byte 3, 0x00, gUnknown_082F292C diff --git a/include/util.h b/include/util.h index 56c89359aa..77062de96e 100644 --- a/include/util.h +++ b/include/util.h @@ -10,8 +10,8 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); void StoreWordInTwoHalfwords(u16 *, u32); void LoadWordFromTwoHalfwords(u16 *, u32 *); int CountTrailingZeroBits(u32 value); -u16 CalcCRC16(u8 *data, s32 length); -u16 CalcCRC16WithTable(u8 *data, u32 length); +u16 CalcCRC16(const u8 *data, s32 length); +u16 CalcCRC16WithTable(const u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha); diff --git a/ld_script.txt b/ld_script.txt index 0a7838883e..65f171171a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -62,7 +62,7 @@ SECTIONS { src/mevent_801BAAC.o(.text); src/mevent_server.o(.text); src/mevent_server_ish.o(.text); - asm/mevent_server_helpers.o(.text); + src/mevent_server_helpers.o(.text); src/mevent_news.o(.text); src/union_room_chat.o(.text); src/berry_crush.o(.text); diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c index dc4f98a6ef..af14b514cf 100644 --- a/src/mevent_server_helpers.c +++ b/src/mevent_server_helpers.c @@ -1 +1,211 @@ #include "global.h" +#include "alloc.h" +#include "decompress.h" +#include "util.h" +#include "link.h" +#include "link_rfu.h" +#include "overworld.h" +#include "script.h" +#include "battle_tower.h" +#include "mystery_event_script.h" +#include "mevent.h" +#include "mevent_server_helpers.h" + +static u32 mevent_receive_func(struct mevent_srv_sub *); +static u32 mevent_send_func(struct mevent_srv_sub *); + +u32 mevent_srv_sub_recv(struct mevent_srv_sub * svr) +{ + return svr->recvFunc(svr); +} + +u32 mevent_srv_sub_send(struct mevent_srv_sub * svr) +{ + return svr->sendFunc(svr); +} + +void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recvPlayerNo) +{ + svr->sendPlayerNo = sendPlayerNo; + svr->recvPlayerNo = recvPlayerNo; + svr->seqno = 0; + svr->sendCRC = 0; + svr->sendSize = 0; + svr->sendCounter = 0; + svr->recvCRC = 0; + svr->recvSize = 0; + svr->recvCounter = 0; + svr->sendBfr = NULL; + svr->recvBfr = NULL; + svr->sendFunc = mevent_send_func; + svr->recvFunc = mevent_receive_func; +} + +void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size) +{ + svr->seqno = 0; + svr->sendIdent = ident; + svr->sendCounter = 0; + svr->sendCRC = 0; + if (size != 0) + svr->sendSize = size; + else + svr->sendSize = ME_SEND_BUF_SIZE; + svr->sendBfr = src; +} + +void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest) +{ + svr->seqno = 0; + svr->recvIdent = ident; + svr->recvCounter = 0; + svr->recvCRC = 0; + svr->recvSize = 0; + svr->recvBfr = dest; +} + +static void mevent_recv_block(u32 recv_idx, void * dest, size_t size) +{ + memcpy(dest, gBlockRecvBuffer[recv_idx], size); +} + +static bool32 mevent_has_received(u32 recv_idx) +{ + if ((GetBlockReceivedStatus() >> recv_idx) & 1) + return TRUE; + else + return FALSE; +} + +static void mevent_reset_recv(u32 recv_idx) +{ + ResetBlockReceivedFlag(recv_idx); +} + +static bool32 mevent_receive_func(struct mevent_srv_sub * svr) +{ + struct send_recv_header header; + + switch (svr->seqno) + { + case 0: + if (mevent_has_received(svr->recvPlayerNo)) + { + mevent_recv_block(svr->recvPlayerNo, &header, sizeof(header)); + svr->recvSize = header.size; + svr->recvCRC = header.crc; + if (svr->recvSize > ME_SEND_BUF_SIZE) + { + sub_8010198(); + return FALSE; + } + else if (svr->recvIdent != header.ident) + { + sub_8010198(); + return FALSE; + } + else + { + svr->recvCounter = 0; + mevent_reset_recv(svr->recvPlayerNo); + ++svr->seqno; + } + } + break; + case 1: + if (mevent_has_received(svr->recvPlayerNo)) + { + size_t blocksiz = svr->recvCounter * 252; + if (svr->recvSize - blocksiz <= 252) + { + mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + blocksiz, svr->recvSize - blocksiz); + ++svr->recvCounter; + ++svr->seqno; + } + else + { + mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + blocksiz, 252); + ++svr->recvCounter; + } + mevent_reset_recv(svr->recvPlayerNo); + } + break; + case 2: + if (CalcCRC16WithTable(svr->recvBfr, svr->recvSize) != svr->recvCRC) + { + sub_8010198(); + return FALSE; + } + else + { + svr->seqno = 0; + return TRUE; + } + break; + + } + + return FALSE; +} + +static bool32 mevent_send_func(struct mevent_srv_sub * svr) +{ + struct send_recv_header header; + + switch (svr->seqno) + { + case 0: + if (IsLinkTaskFinished()) + { + header.ident = svr->sendIdent; + header.size = svr->sendSize; + header.crc = CalcCRC16WithTable(svr->sendBfr, svr->sendSize); + svr->sendCRC = header.crc; + svr->sendCounter = 0; + SendBlock(0, &header, sizeof(header)); + ++svr->seqno; + } + break; + case 1: + if (IsLinkTaskFinished()) + { + if (mevent_has_received(svr->sendPlayerNo)) + { + size_t blocksiz; + mevent_reset_recv(svr->sendPlayerNo); + blocksiz = 252 * svr->sendCounter; + if (svr->sendSize - blocksiz <= 252) + { + SendBlock(0, svr->sendBfr + blocksiz, svr->sendSize - blocksiz); + ++svr->sendCounter; + ++svr->seqno; + } + else + { + SendBlock(0, svr->sendBfr + blocksiz, 252); + ++svr->sendCounter; + } + } + } + break; + case 2: + if (IsLinkTaskFinished()) + { + if (CalcCRC16WithTable(svr->sendBfr, svr->sendSize) != svr->sendCRC) + sub_8010198(); + else + ++svr->seqno; + } + break; + case 3: + if (mevent_has_received(svr->sendPlayerNo)) + { + mevent_reset_recv(svr->sendPlayerNo); + svr->seqno = 0; + return TRUE; + } + break; + } + + return FALSE; +} diff --git a/src/mevent_server_ish.c b/src/mevent_server_ish.c index 2b310c9812..0303bfd9bd 100644 --- a/src/mevent_server_ish.c +++ b/src/mevent_server_ish.c @@ -14,9 +14,7 @@ static void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); static u32 mevent_srv_ish_exec(struct mevent_srv_ish *); static void mevent_srv_ish_free_resources(struct mevent_srv_ish *); -extern const u8 gUnknown_082F2598[]; -extern const struct mevent_cmd gUnknown_8468B6C[]; -extern const struct mevent_cmd gUnknown_8468BCC[]; +extern const struct mevent_cmd_ish gUnknown_082F2598[]; void mevent_srv_ish_do_init(u32 arg) { diff --git a/src/util.c b/src/util.c index 47112774a3..8aa54857a9 100644 --- a/src/util.c +++ b/src/util.c @@ -218,7 +218,7 @@ int CountTrailingZeroBits(u32 value) return 0; } -u16 CalcCRC16(u8 *data, s32 length) +u16 CalcCRC16(const u8 *data, s32 length) { u16 i, j; u16 crc = 0x1121; @@ -237,7 +237,7 @@ u16 CalcCRC16(u8 *data, s32 length) return ~crc; } -u16 CalcCRC16WithTable(u8 *data, u32 length) +u16 CalcCRC16WithTable(const u8 *data, u32 length) { u16 i; u16 crc = 0x1121; From 28646ea64ea628596dc1cd9496febf6f46cc9e41 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 13:26:06 -0400 Subject: [PATCH 36/84] Decompile mevent server scripts --- data/mevent_server.s | 193 ---------------------------------------- include/mevent.h | 4 +- include/mevent_server.h | 6 +- ld_script.txt | 3 +- src/mevent2.c | 4 +- src/mevent_scripts.c | 191 +++++++++++++++++++++++++++++++++++++++ src/mevent_server.c | 16 +++- 7 files changed, 212 insertions(+), 205 deletions(-) delete mode 100755 data/mevent_server.s create mode 100644 src/mevent_scripts.c diff --git a/data/mevent_server.s b/data/mevent_server.s deleted file mode 100755 index 47e474e61a..0000000000 --- a/data/mevent_server.s +++ /dev/null @@ -1,193 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gText_CanceledReadingCard:: @ 82F257C - .string "Canceled reading\nthe Card.$" - - .align 2 -gUnknown_082F2598:: @ 82F2598 - .4byte 2, 16 - .4byte 4, 0 - - .align 2 -gUnknown_082F25A8:: @ 82F25A8 - .4byte 8, 0 - .4byte 3, 0 - .4byte 2, 16 - .4byte 4, 0 - - .align 2 -gUnknown_082F25C8:: @ 82F25C8 - .4byte 20, 0 - .4byte 1, 10 - - .align 2 -gUnknown_082F25D8:: @ 82F25D8 - .4byte 20, 0 - .4byte 1, 11 - - .align 2 -gUnknown_082F25E8:: @ 82F25E8 - .4byte 20, 0 - .4byte 1, 0 - - .align 2 -gUnknown_082F25F8:: @ 82F25F8 - .4byte 2, 22 - .4byte 10, 0 - .4byte 2, 25 - .4byte 17, 0 - .4byte 20, 0 - .4byte 1, 2 - - .align 2 -gUnknown_082F2628:: @ 82F2628 - .4byte 2, 23 - .4byte 9, 0 - .4byte 3, 0 - .4byte 2, 16 - .4byte 4, 0 - - .align 2 -gUnknown_082F2650:: @ 82F2650 - .4byte 20, 0 - .4byte 1, 7 - - .align 2 -gUnknown_082F2660:: @ 82F2660 - .4byte 20, 0 - .4byte 1, 3 - - .align 2 -gUnknown_082F2670:: @ 82F2670 - .4byte 13, 0 - .4byte 14, 0 - .4byte 3, 0 - .4byte 2, 16 - .4byte 4, 0 - - .align 2 -gUnknown_082F2698:: @ 82F2698 - .4byte 20, 0 - .4byte 1, 9 - - .align 2 -gUnknown_082F26A8:: @ 82F26A8 - .4byte 20, 0 - .4byte 1, 5 - - .align 2 -gUnknown_082F26B8:: @ 82F26B8 - .4byte 2, 21 - .4byte 12, 0 - .4byte 20, 0 - .4byte 1, 14 - .4byte 2, 21 - .4byte 12, 0 - .4byte 20, 0 - .4byte 1, 13 - - .align 2 -gUnknown_082F26F8:: @ 82F26F8 - .4byte 18, 0x10, gUnknown_082F25C8 - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x0a, NULL - .4byte 18, 0x10, gUnknown_082F25D8 - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x0b, NULL - .4byte 18, 0x10, gUnknown_082F2698 - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x09, NULL - - .align 2 -gUnknown_082F2788:: @ 82F2788 - .4byte 18, 0x20, gUnknown_082F26B8 - .4byte 1, 0x00, NULL - .4byte 20, 0x1b, gText_CanceledReadingCard - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x09, NULL - - .align 2 -gUnknown_082F27D0:: @ 82F27D0 - .4byte 18, 0x10, gUnknown_082F2650 - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x07, NULL - - .align 2 -gUnknown_082F2800:: @ 82F2800 - .4byte 18, 0x28, gUnknown_082F2628 - .4byte 1, 0x00, NULL - .4byte 14, 0x00, NULL - .4byte 1, 0x00, NULL - .4byte 2, 0x13, NULL - .4byte 8, 0x00, NULL - .4byte 4, 0x01, gUnknown_082F27D0 - .4byte 18, 0x10, gUnknown_082F2660 - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x03, NULL - - .align 2 -gUnknown_082F2884:: @ 82F2884 - .4byte 18, 0x30, gUnknown_082F25F8 - .4byte 1, 0x00, NULL - .4byte 13, 0x00, NULL - .4byte 1, 0x00, NULL - .4byte 15, 0x00, NULL - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x02, NULL - - .align 2 -gUnknown_082F28E4:: @ 82F28E4 - .4byte 18, 0x28, gUnknown_082F2670 - .4byte 1, 0x00, NULL - .4byte 2, 0x13, NULL - .4byte 8, 0x00, NULL - .4byte 4, 0x00, gUnknown_082F2884 - .4byte 3, 0x00, gUnknown_082F2788 - - .align 2 -gUnknown_082F292C:: @ 82F292C - .4byte 18, 0x10, gUnknown_082F26A8 - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x05, NULL - .4byte 18, 0x10, gUnknown_082F25E8 - .4byte 1, 0x00, NULL - .4byte 2, 0x14, NULL - .4byte 0, 0x00, NULL - - .align 2 -s_mevent_wonder_news:: @ 82F298C - .4byte 27, 0x00, NULL - .4byte 18, 0x20, gUnknown_082F25A8 - .4byte 1, 0x00, NULL - .4byte 2, 0x11, NULL - .4byte 5, 0x00, NULL - .4byte 30, 0x00, NULL - .4byte 4, 0x00, gUnknown_082F26F8 - .4byte 3, 0x00, gUnknown_082F2800 - - .align 2 -s_mevent_wonder_card:: @ 82F29EC - .4byte 26, 0x00, NULL - .4byte 28, 0x00, NULL - .4byte 18, 0x20, gUnknown_082F25A8 - .4byte 1, 0x00, NULL - .4byte 2, 0x11, NULL - .4byte 5, 0x00, NULL - .4byte 6, 0x00, NULL - .4byte 4, 0x00, gUnknown_082F26F8 - .4byte 7, 0x00, NULL - .4byte 4, 0x02, gUnknown_082F28E4 - .4byte 4, 0x00, gUnknown_082F2884 - .4byte 3, 0x00, gUnknown_082F292C diff --git a/include/mevent.h b/include/mevent.h index 9c5d559bff..68c19abfce 100755 --- a/include/mevent.h +++ b/include/mevent.h @@ -52,8 +52,8 @@ bool32 CheckReceivedGiftFromWonderCard(void); bool32 sub_801B508(const u16 *data); void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1); bool32 sub_801B6A0(const struct MEventStruct_Unk1442CC *data, bool32 a1); -u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, void *unused); -u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, void *unused); +u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused); +u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused); bool32 sub_801B748(const struct MEventStruct_Unk1442CC *a0, const u16 *a1); u16 sub_801B784(const struct MEventStruct_Unk1442CC *a0, u32 command); u16 mevent_081445C0(u32 command); diff --git a/include/mevent_server.h b/include/mevent_server.h index ed9812d8a5..019f3c6857 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -7,7 +7,7 @@ struct mevent_cmd { u32 instr; bool32 flag; - void * parameter; + const void * parameter; }; struct mevent_srv_common @@ -21,9 +21,9 @@ struct mevent_srv_common struct MEventBuffer_32E0_Sub * mevent_32e0; struct MEventBuffer_3120_Sub * mevent_3120; struct MEventStruct_Unk1442CC * mevent_unk1442cc; - void * sendBuffer1; + const void * sendBuffer1; u32 sendBuffer1Size; - void * sendBuffer2; + const void * sendBuffer2; u32 sendBuffer2Size; u32 sendWord; struct mevent_srv_sub manager; diff --git a/ld_script.txt b/ld_script.txt index 65f171171a..c5ffc06fe4 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -418,8 +418,7 @@ SECTIONS { src/mevent_801BAAC.o(.rodata); src/mevent_server.o(.rodata); src/mevent_server_ish.o(.rodata); - src/mevent_server_helpers.o(.rodata); - data/mevent_server.o(.rodata); + src/mevent_scripts.o(.rodata); src/union_room_chat.o(.rodata); data/union_room_chat.o(.rodata); data/berry_crush.o(.rodata); diff --git a/src/mevent2.c b/src/mevent2.c index 4174c4055b..8585224ef4 100755 --- a/src/mevent2.c +++ b/src/mevent2.c @@ -399,7 +399,7 @@ bool32 sub_801B6A0(const struct MEventStruct_Unk1442CC *data, bool32 a1) return TRUE; } -u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, void *unused) +u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused) { if (a1->unk_14 == 0) return 0; @@ -410,7 +410,7 @@ u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, void *un return 2; } -u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, void *unused) +u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused) { int r4 = a1->unk_44 - sub_801B438(&a1->unk_20, a1->unk_44); if (r4 == 0) diff --git a/src/mevent_scripts.c b/src/mevent_scripts.c new file mode 100644 index 0000000000..4a1a26535c --- /dev/null +++ b/src/mevent_scripts.c @@ -0,0 +1,191 @@ +#include "global.h" +#include "mevent_server_ish.h" +#include "mevent_server.h" + +const u8 gText_CanceledReadingCard[] = _("Canceled reading\nthe Card."); + + +const struct mevent_cmd_ish gUnknown_082F2598[] = { + { 2, 16}, + { 4, 0} +}; + +const struct mevent_cmd_ish gUnknown_082F25A8[] = { + { 8, 0}, + { 3, 0}, + { 2, 16}, + { 4, 0} +}; + +const struct mevent_cmd_ish gUnknown_082F25C8[] = { + {20, 0}, + { 1, 10} +}; + +const struct mevent_cmd_ish gUnknown_082F25D8[] = { + {20, 0}, + { 1, 11} +}; + +const struct mevent_cmd_ish gUnknown_082F25E8[] = { + {20, 0}, + { 1, 0} +}; + +const struct mevent_cmd_ish gUnknown_082F25F8[] = { + { 2, 22}, + {10, 0}, + { 2, 25}, + {17, 0}, + {20, 0}, + { 1, 2} +}; + +const struct mevent_cmd_ish gUnknown_082F2628[] = { + { 2, 23}, + { 9, 0}, + { 3, 0}, + { 2, 16}, + { 4, 0} +}; + +const struct mevent_cmd_ish gUnknown_082F2650[] = { + {20, 0}, + { 1, 7} +}; + +const struct mevent_cmd_ish gUnknown_082F2660[] = { + {20, 0}, + { 1, 3} +}; + +const struct mevent_cmd_ish gUnknown_082F2670[] = { + {13, 0}, + {14, 0}, + { 3, 0}, + { 2, 16}, + { 4, 0} +}; + +const struct mevent_cmd_ish gUnknown_082F2698[] = { + {20, 0}, + { 1, 9} +}; + +const struct mevent_cmd_ish gUnknown_082F26A8[] = { + {20, 0}, + { 1, 5} +}; + +const struct mevent_cmd_ish gUnknown_082F26B8[] = { + { 2, 21}, + {12, 0}, + {20, 0}, + { 1, 14}, + { 2, 21}, + {12, 0}, + {20, 0}, + { 1, 13} +}; + +const struct mevent_cmd gUnknown_082F26F8[] = { + {18, 0x10, gUnknown_082F25C8}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x0a, NULL}, + {18, 0x10, gUnknown_082F25D8}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x0b, NULL}, + {18, 0x10, gUnknown_082F2698}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x09, NULL} +}; + +const struct mevent_cmd gUnknown_082F2788[] = { + {18, 0x20, gUnknown_082F26B8}, + { 1, 0x00, NULL}, + {20, 0x1b, gText_CanceledReadingCard}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x09, NULL} +}; + +const struct mevent_cmd gUnknown_082F27D0[] = { + {18, 0x10, gUnknown_082F2650}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x07, NULL} +}; + +const struct mevent_cmd gUnknown_082F2800[] = { + {18, 0x28, gUnknown_082F2628}, + { 1, 0x00, NULL}, + {14, 0x00, NULL}, + { 1, 0x00, NULL}, + { 2, 0x13, NULL}, + { 8, 0x00, NULL}, + { 4, 0x01, gUnknown_082F27D0}, + {18, 0x10, gUnknown_082F2660}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x03, NULL} +}; + +const struct mevent_cmd gUnknown_082F2884[] = { + {18, 0x30, gUnknown_082F25F8}, + { 1, 0x00, NULL}, + {13, 0x00, NULL}, + { 1, 0x00, NULL}, + {15, 0x00, NULL}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x02, NULL} +}; + +const struct mevent_cmd gUnknown_082F28E4[] = { + {18, 0x28, gUnknown_082F2670}, + { 1, 0x00, NULL}, + { 2, 0x13, NULL}, + { 8, 0x00, NULL}, + { 4, 0x00, gUnknown_082F2884}, + { 3, 0x00, gUnknown_082F2788} +}; + +const struct mevent_cmd gUnknown_082F292C[] = { + {18, 0x10, gUnknown_082F26A8}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x05, NULL}, + {18, 0x10, gUnknown_082F25E8}, + { 1, 0x00, NULL}, + { 2, 0x14, NULL}, + { 0, 0x00, NULL} +}; + +const struct mevent_cmd s_mevent_wonder_news[] = { + {27, 0x00, NULL}, + {18, 0x20, gUnknown_082F25A8}, + { 1, 0x00, NULL}, + { 2, 0x11, NULL}, + { 5, 0x00, NULL}, + {30, 0x00, NULL}, + { 4, 0x00, gUnknown_082F26F8}, + { 3, 0x00, gUnknown_082F2800} +}; + +const struct mevent_cmd s_mevent_wonder_card[] = { + {26, 0x00, NULL}, + {28, 0x00, NULL}, + {18, 0x20, gUnknown_082F25A8}, + {1, 0x00, NULL}, + {2, 0x11, NULL}, + {5, 0x00, NULL}, + {6, 0x00, NULL}, + {4, 0x00, gUnknown_082F26F8}, + {7, 0x00, NULL}, + {4, 0x02, gUnknown_082F28E4}, + {4, 0x00, gUnknown_082F2884}, + {3, 0x00, gUnknown_082F292C}, +}; diff --git a/src/mevent_server.c b/src/mevent_server.c index 6a129ee280..fe13943ffa 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -69,7 +69,7 @@ void mevent_srv_common_init_send(struct mevent_srv_common * svr, u32 ident, cons mevent_srv_sub_init_send(&svr->manager, ident, src, size); } -static void * mevent_first_if_not_null_else_second(void * a0, void * a1) +static const void * mevent_first_if_not_null_else_second(const void * a0, const void * a1) { if (a0 != NULL) return a0; @@ -77,7 +77,7 @@ static void * mevent_first_if_not_null_else_second(void * a0, void * a1) return a1; } -static u32 mevent_compare_pointers(void * a0, void * a1) +static u32 mevent_compare_pointers(const void * a0, const void * a1) { if (a1 < a0) return 0; @@ -120,45 +120,53 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) { // process command const struct mevent_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; - void * ptr; + const void * ptr; svr->cmdidx++; switch (cmd->instr) { case 0: + // end AGB_ASSERT(cmd->parameter == NULL); svr->mainseqno = 1; svr->param = cmd->flag; break; case 1: + // wait_send svr->mainseqno = 3; break; case 2: + // receive AGB_ASSERT(cmd->parameter == NULL); mevent_srv_sub_init_recv(&svr->manager, cmd->flag, svr->recvBuffer); svr->mainseqno = 2; break; case 3: + // jump AGB_ASSERT(cmd->flag == FALSE); svr->cmdidx = 0; svr->cmdBuffer = cmd->parameter; break; case 5: + // get_1442CC AGB_ASSERT(cmd->flag == FALSE); AGB_ASSERT(cmd->parameter == NULL); memcpy(svr->mevent_unk1442cc, svr->recvBuffer, sizeof(struct MEventStruct_Unk1442CC)); break; case 6: + // check_header__pass_false AGB_ASSERT(cmd->flag == FALSE); AGB_ASSERT(cmd->parameter == NULL); svr->param = sub_801B6A0(svr->mevent_unk1442cc, FALSE); break; case 30: + // check_header__pass_true AGB_ASSERT(cmd->flag == FALSE); AGB_ASSERT(cmd->parameter == NULL); svr->param = sub_801B6A0(svr->mevent_unk1442cc, TRUE); break; case 4: + // jump_if_eq if (svr->param == cmd->flag) { svr->cmdidx = 0; @@ -166,11 +174,13 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) } break; case 7: + // check_crc AGB_ASSERT(cmd->flag == FALSE); ptr = mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_32e0); svr->param = sub_801B6EC(ptr, svr->mevent_unk1442cc, ptr); break; case 8: + // read_word AGB_ASSERT(cmd->flag == FALSE); AGB_ASSERT(cmd->parameter == NULL); svr->param = *(u32 *)svr->recvBuffer; From b17c85ff7c975359b6d075453fb1ad668262f87f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 13:35:38 -0400 Subject: [PATCH 37/84] Use named fields for command structs --- src/mevent_scripts.c | 238 +++++++++++++++++++++---------------------- 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/src/mevent_scripts.c b/src/mevent_scripts.c index 4a1a26535c..29b37119e0 100644 --- a/src/mevent_scripts.c +++ b/src/mevent_scripts.c @@ -6,186 +6,186 @@ const u8 gText_CanceledReadingCard[] = _("Canceled reading\nthe Card."); const struct mevent_cmd_ish gUnknown_082F2598[] = { - { 2, 16}, - { 4, 0} + {.instr = 2, .parameter = 16}, + {.instr = 4, .parameter = 0} }; const struct mevent_cmd_ish gUnknown_082F25A8[] = { - { 8, 0}, - { 3, 0}, - { 2, 16}, - { 4, 0} + {.instr = 8, .parameter = 0}, + {.instr = 3, .parameter = 0}, + {.instr = 2, .parameter = 16}, + {.instr = 4, .parameter = 0} }; const struct mevent_cmd_ish gUnknown_082F25C8[] = { - {20, 0}, - { 1, 10} + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 10} }; const struct mevent_cmd_ish gUnknown_082F25D8[] = { - {20, 0}, - { 1, 11} + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 11} }; const struct mevent_cmd_ish gUnknown_082F25E8[] = { - {20, 0}, - { 1, 0} + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 0} }; const struct mevent_cmd_ish gUnknown_082F25F8[] = { - { 2, 22}, - {10, 0}, - { 2, 25}, - {17, 0}, - {20, 0}, - { 1, 2} + {.instr = 2, .parameter = 22}, + {.instr = 10, .parameter = 0}, + {.instr = 2, .parameter = 25}, + {.instr = 17, .parameter = 0}, + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 2} }; const struct mevent_cmd_ish gUnknown_082F2628[] = { - { 2, 23}, - { 9, 0}, - { 3, 0}, - { 2, 16}, - { 4, 0} + {.instr = 2, .parameter = 23}, + {.instr = 9, .parameter = 0}, + {.instr = 3, .parameter = 0}, + {.instr = 2, .parameter = 16}, + {.instr = 4, .parameter = 0} }; const struct mevent_cmd_ish gUnknown_082F2650[] = { - {20, 0}, - { 1, 7} + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 7} }; const struct mevent_cmd_ish gUnknown_082F2660[] = { - {20, 0}, - { 1, 3} + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 3} }; const struct mevent_cmd_ish gUnknown_082F2670[] = { - {13, 0}, - {14, 0}, - { 3, 0}, - { 2, 16}, - { 4, 0} + {.instr = 13, .parameter = 0}, + {.instr = 14, .parameter = 0}, + {.instr = 3, .parameter = 0}, + {.instr = 2, .parameter = 16}, + {.instr = 4, .parameter = 0} }; const struct mevent_cmd_ish gUnknown_082F2698[] = { - {20, 0}, - { 1, 9} + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 9} }; const struct mevent_cmd_ish gUnknown_082F26A8[] = { - {20, 0}, - { 1, 5} + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 5} }; const struct mevent_cmd_ish gUnknown_082F26B8[] = { - { 2, 21}, - {12, 0}, - {20, 0}, - { 1, 14}, - { 2, 21}, - {12, 0}, - {20, 0}, - { 1, 13} + {.instr = 2, .parameter = 21}, + {.instr = 12, .parameter = 0}, + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 14}, + {.instr = 2, .parameter = 21}, + {.instr = 12, .parameter = 0}, + {.instr = 20, .parameter = 0}, + {.instr = 1, .parameter = 13} }; const struct mevent_cmd gUnknown_082F26F8[] = { - {18, 0x10, gUnknown_082F25C8}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x0a, NULL}, - {18, 0x10, gUnknown_082F25D8}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x0b, NULL}, - {18, 0x10, gUnknown_082F2698}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x09, NULL} + {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F25C8}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x0a, .parameter = NULL}, + {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F25D8}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x0b, .parameter = NULL}, + {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F2698}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x09, .parameter = NULL} }; const struct mevent_cmd gUnknown_082F2788[] = { - {18, 0x20, gUnknown_082F26B8}, - { 1, 0x00, NULL}, - {20, 0x1b, gText_CanceledReadingCard}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x09, NULL} + {.instr = 18, .flag = 0x20, .parameter = gUnknown_082F26B8}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 20, .flag = 0x1b, .parameter = gText_CanceledReadingCard}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x09, .parameter = NULL} }; const struct mevent_cmd gUnknown_082F27D0[] = { - {18, 0x10, gUnknown_082F2650}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x07, NULL} + {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F2650}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x07, .parameter = NULL} }; const struct mevent_cmd gUnknown_082F2800[] = { - {18, 0x28, gUnknown_082F2628}, - { 1, 0x00, NULL}, - {14, 0x00, NULL}, - { 1, 0x00, NULL}, - { 2, 0x13, NULL}, - { 8, 0x00, NULL}, - { 4, 0x01, gUnknown_082F27D0}, - {18, 0x10, gUnknown_082F2660}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x03, NULL} + {.instr = 18, .flag = 0x28, .parameter = gUnknown_082F2628}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 14, .flag = 0x00, .parameter = NULL}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x13, .parameter = NULL}, + {.instr = 8, .flag = 0x00, .parameter = NULL}, + {.instr = 4, .flag = 0x01, .parameter = gUnknown_082F27D0}, + {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F2660}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x03, .parameter = NULL} }; const struct mevent_cmd gUnknown_082F2884[] = { - {18, 0x30, gUnknown_082F25F8}, - { 1, 0x00, NULL}, - {13, 0x00, NULL}, - { 1, 0x00, NULL}, - {15, 0x00, NULL}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x02, NULL} + {.instr = 18, .flag = 0x30, .parameter = gUnknown_082F25F8}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 13, .flag = 0x00, .parameter = NULL}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 15, .flag = 0x00, .parameter = NULL}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x02, .parameter = NULL} }; const struct mevent_cmd gUnknown_082F28E4[] = { - {18, 0x28, gUnknown_082F2670}, - { 1, 0x00, NULL}, - { 2, 0x13, NULL}, - { 8, 0x00, NULL}, - { 4, 0x00, gUnknown_082F2884}, - { 3, 0x00, gUnknown_082F2788} + {.instr = 18, .flag = 0x28, .parameter = gUnknown_082F2670}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x13, .parameter = NULL}, + {.instr = 8, .flag = 0x00, .parameter = NULL}, + {.instr = 4, .flag = 0x00, .parameter = gUnknown_082F2884}, + {.instr = 3, .flag = 0x00, .parameter = gUnknown_082F2788} }; const struct mevent_cmd gUnknown_082F292C[] = { - {18, 0x10, gUnknown_082F26A8}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x05, NULL}, - {18, 0x10, gUnknown_082F25E8}, - { 1, 0x00, NULL}, - { 2, 0x14, NULL}, - { 0, 0x00, NULL} + {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F26A8}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x05, .parameter = NULL}, + {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F25E8}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x14, .parameter = NULL}, + {.instr = 0, .flag = 0x00, .parameter = NULL} }; const struct mevent_cmd s_mevent_wonder_news[] = { - {27, 0x00, NULL}, - {18, 0x20, gUnknown_082F25A8}, - { 1, 0x00, NULL}, - { 2, 0x11, NULL}, - { 5, 0x00, NULL}, - {30, 0x00, NULL}, - { 4, 0x00, gUnknown_082F26F8}, - { 3, 0x00, gUnknown_082F2800} + {.instr = 27, .flag = 0x00, .parameter = NULL}, + {.instr = 18, .flag = 0x20, .parameter = gUnknown_082F25A8}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x11, .parameter = NULL}, + {.instr = 5, .flag = 0x00, .parameter = NULL}, + {.instr = 30, .flag = 0x00, .parameter = NULL}, + {.instr = 4, .flag = 0x00, .parameter = gUnknown_082F26F8}, + {.instr = 3, .flag = 0x00, .parameter = gUnknown_082F2800} }; const struct mevent_cmd s_mevent_wonder_card[] = { - {26, 0x00, NULL}, - {28, 0x00, NULL}, - {18, 0x20, gUnknown_082F25A8}, - {1, 0x00, NULL}, - {2, 0x11, NULL}, - {5, 0x00, NULL}, - {6, 0x00, NULL}, - {4, 0x00, gUnknown_082F26F8}, - {7, 0x00, NULL}, - {4, 0x02, gUnknown_082F28E4}, - {4, 0x00, gUnknown_082F2884}, - {3, 0x00, gUnknown_082F292C}, + {.instr = 26, .flag = 0x00, .parameter = NULL}, + {.instr = 28, .flag = 0x00, .parameter = NULL}, + {.instr = 18, .flag = 0x20, .parameter = gUnknown_082F25A8}, + {.instr = 1, .flag = 0x00, .parameter = NULL}, + {.instr = 2, .flag = 0x11, .parameter = NULL}, + {.instr = 5, .flag = 0x00, .parameter = NULL}, + {.instr = 6, .flag = 0x00, .parameter = NULL}, + {.instr = 4, .flag = 0x00, .parameter = gUnknown_082F26F8}, + {.instr = 7, .flag = 0x00, .parameter = NULL}, + {.instr = 4, .flag = 0x02, .parameter = gUnknown_082F28E4}, + {.instr = 4, .flag = 0x00, .parameter = gUnknown_082F2884}, + {.instr = 3, .flag = 0x00, .parameter = gUnknown_082F292C} }; From d220f876fc9e7281075419ce6bbb5bf9e8dbef8f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 13:57:03 -0400 Subject: [PATCH 38/84] Some symbol documentation --- include/global.h | 16 +++---- include/mevent.h | 14 +++---- include/mevent_801BAAC.h | 4 +- include/mevent_server.h | 4 +- include/script.h | 6 +-- src/mevent2.c | 90 ++++++++++++++++++++-------------------- src/mevent_801BAAC.c | 8 ++-- src/mevent_server.c | 30 +++++++------- src/mevent_server_ish.c | 2 +- src/mystery_gift.c | 4 +- src/scrcmd.c | 2 +- src/script.c | 6 +-- 12 files changed, 93 insertions(+), 93 deletions(-) diff --git a/include/global.h b/include/global.h index 0506c036e2..7b570d72e2 100644 --- a/include/global.h +++ b/include/global.h @@ -816,7 +816,7 @@ struct MysteryEventStruct u8 unk_1; }; - struct MEventBuffer_3120_Sub + struct WonderNews { u16 unk_00; u8 unk_02; @@ -825,13 +825,13 @@ struct MysteryEventStruct u8 unk_2C[10][40]; }; - struct MEventBuffer_3120 + struct WonderNewsSaveStruct { u32 crc; - struct MEventBuffer_3120_Sub data; + struct WonderNews data; }; - struct MEventBuffer_32E0_Sub + struct WonderCard { u16 unk_00; u16 unk_02; @@ -847,10 +847,10 @@ struct MysteryEventStruct u8 unk_122[40]; }; - struct MEventBuffer_32E0 + struct WonderCardSaveStruct { u32 crc; - struct MEventBuffer_32E0_Sub data; + struct WonderCard data; }; struct MEventBuffer_3430_Sub @@ -870,8 +870,8 @@ struct MysteryEventStruct struct MEventBuffers { - /*0x000 0x322C*/ struct MEventBuffer_3120 buffer_000; - /*0x1c0 0x33EC*/ struct MEventBuffer_32E0 buffer_1c0; + /*0x000 0x322C*/ struct WonderNewsSaveStruct wonderNews; + /*0x1c0 0x33EC*/ struct WonderCardSaveStruct wonderCard; /*0x310 0x353C*/ struct MEventBuffer_3430 buffer_310; /*0x338 0x3564*/ u16 unk_338[4]; /*0x340 0x356C*/ struct MysteryEventStruct unk_340; diff --git a/include/mevent.h b/include/mevent.h index 68c19abfce..a34ca355c9 100755 --- a/include/mevent.h +++ b/include/mevent.h @@ -32,30 +32,30 @@ struct MEventStruct_Unk1442CC }; void sub_801AFD8(void); -struct MEventBuffer_3120_Sub *sav1_get_mevent_buffer_0(void); -struct MEventBuffer_32E0_Sub *sav1_get_mevent_buffer_1(void); +struct WonderNews *GetSavedWonderNews(void); +struct WonderCard *GetSavedWonderCard(void); struct MEventBuffer_3430_Sub *sav1_get_mevent_buffer_2(void); struct MysteryEventStruct *sub_801B044(void); u16 *sub_801B058(void); void DestroyWonderNews(void); -bool32 sub_801B078(const struct MEventBuffer_3120_Sub *src); +bool32 sub_801B078(const struct WonderNews *src); bool32 ValidateReceivedWonderNews(void); bool32 WonderNews_Test_Unk_02(void); bool32 sub_801B1A4(const u8 *src); void DestroyWonderCard(void); -bool32 sub_801B21C(const struct MEventBuffer_32E0_Sub *data); +bool32 sub_801B21C(const struct WonderCard *data); bool32 ValidateReceivedWonderCard(void); bool32 WonderCard_Test_Unk_08_6(void); u16 GetWonderCardFlagID(void); -void sub_801B3C0(struct MEventBuffer_32E0_Sub *buffer); +void WonderCard_ResetInternalReceivedFlag(struct WonderCard *buffer); bool32 CheckReceivedGiftFromWonderCard(void); bool32 sub_801B508(const u16 *data); void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1); bool32 sub_801B6A0(const struct MEventStruct_Unk1442CC *data, bool32 a1); u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused); u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused); -bool32 sub_801B748(const struct MEventStruct_Unk1442CC *a0, const u16 *a1); -u16 sub_801B784(const struct MEventStruct_Unk1442CC *a0, u32 command); +bool32 MEventStruct_Unk1442CC_CompareField_unk_16(const struct MEventStruct_Unk1442CC *a0, const u16 *a1); +u16 MEventStruct_Unk1442CC_GetValueNFrom_unk_20(const struct MEventStruct_Unk1442CC *a0, u32 command); u16 mevent_081445C0(u32 command); void sub_801B940(void); bool32 sub_801B94C(u16 a0); diff --git a/include/mevent_801BAAC.h b/include/mevent_801BAAC.h index 547d5237b0..d76bc92c21 100644 --- a/include/mevent_801BAAC.h +++ b/include/mevent_801BAAC.h @@ -1,8 +1,8 @@ #ifndef GUARD_MEVENT_801BAAC_H #define GUARD_MEVENT_801BAAC_H -bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6); -bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0); +bool32 InitWonderCardResources(struct WonderCard * r5, struct MEventBuffer_3430_Sub * r6); +bool32 InitWonderNewsResources(const struct WonderNews * a0); s32 FadeToWonderCardMenu(void); s32 FadeToWonderNewsMenu(void); s32 FadeOutFromWonderCard(bool32 flag); diff --git a/include/mevent_server.h b/include/mevent_server.h index 019f3c6857..e74337cf6f 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -18,8 +18,8 @@ struct mevent_srv_common u32 cmdidx; const struct mevent_cmd * cmdBuffer; void * recvBuffer; - struct MEventBuffer_32E0_Sub * mevent_32e0; - struct MEventBuffer_3120_Sub * mevent_3120; + struct WonderCard * wonder_card; + struct WonderNews * wonder_news; struct MEventStruct_Unk1442CC * mevent_unk1442cc; const void * sendBuffer1; u32 sendBuffer1Size; diff --git a/include/script.h b/include/script.h index 34f4635bb3..cfe4934791 100644 --- a/include/script.h +++ b/include/script.h @@ -57,9 +57,9 @@ u32 CalculateRamScriptChecksum(void); void ClearRamScript(void); bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId); const u8 *GetRamScript(u8 objectId, const u8 *script); -bool32 sub_80991F8(void); -u8 *sub_8099244(void); -void sub_80992A0(u8 *script, u16 scriptSize); +bool32 ValidateSavedRamScript(void); +u8 *GetSavedRamScriptIfValid(void); +void InitRamScript_NoEventObject(u8 *script, u16 scriptSize); // srccmd.h void sub_809BE48(u16 npcId); diff --git a/src/mevent2.c b/src/mevent2.c index 8585224ef4..f36e5d06bf 100755 --- a/src/mevent2.c +++ b/src/mevent2.c @@ -15,8 +15,8 @@ static EWRAM_DATA bool32 gUnknown_02022C70 = FALSE; static void sub_801B180(void); static void s_DestroyWonderNews(void); -static bool32 sub_801B114(const struct MEventBuffer_3120_Sub *data); -static bool32 sub_801B2CC(const struct MEventBuffer_32E0_Sub *data); +static bool32 sub_801B114(const struct WonderNews *data); +static bool32 sub_801B2CC(const struct WonderCard *data); static void sub_801B330(void); static void sub_801B368(void); static void sub_801B9F8(void); @@ -29,14 +29,14 @@ void sub_801AFD8(void) sub_811F8BC(); } -struct MEventBuffer_3120_Sub *sav1_get_mevent_buffer_0(void) +struct WonderNews *GetSavedWonderNews(void) { - return &gSaveBlock1Ptr->unk_322C.buffer_000.data; + return &gSaveBlock1Ptr->unk_322C.wonderNews.data; } -struct MEventBuffer_32E0_Sub *sav1_get_mevent_buffer_1(void) +struct WonderCard *GetSavedWonderCard(void) { - return &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + return &gSaveBlock1Ptr->unk_322C.wonderCard.data; } struct MEventBuffer_3430_Sub *sav1_get_mevent_buffer_2(void) @@ -59,28 +59,28 @@ void DestroyWonderNews(void) s_DestroyWonderNews(); } -bool32 sub_801B078(const struct MEventBuffer_3120_Sub *src) +bool32 sub_801B078(const struct WonderNews *src) { if (!sub_801B114(src)) return FALSE; s_DestroyWonderNews(); - gSaveBlock1Ptr->unk_322C.buffer_000.data = *src; - gSaveBlock1Ptr->unk_322C.buffer_000.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.buffer_000.data, sizeof(struct MEventBuffer_3120_Sub)); + gSaveBlock1Ptr->unk_322C.wonderNews.data = *src; + gSaveBlock1Ptr->unk_322C.wonderNews.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.wonderNews.data, sizeof(struct WonderNews)); return TRUE; } bool32 ValidateReceivedWonderNews(void) { - if (CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.buffer_000.data, sizeof(struct MEventBuffer_3120_Sub)) != gSaveBlock1Ptr->unk_322C.buffer_000.crc) + if (CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.wonderNews.data, sizeof(struct WonderNews)) != gSaveBlock1Ptr->unk_322C.wonderNews.crc) return FALSE; - if (!sub_801B114(&gSaveBlock1Ptr->unk_322C.buffer_000.data)) + if (!sub_801B114(&gSaveBlock1Ptr->unk_322C.wonderNews.data)) return FALSE; return TRUE; } -static bool32 sub_801B114(const struct MEventBuffer_3120_Sub *data) +static bool32 sub_801B114(const struct WonderNews *data) { if (data->unk_00 == 0) return FALSE; @@ -90,7 +90,7 @@ static bool32 sub_801B114(const struct MEventBuffer_3120_Sub *data) bool32 WonderNews_Test_Unk_02(void) { - const struct MEventBuffer_3120_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_000.data; + const struct WonderNews *data = &gSaveBlock1Ptr->unk_322C.wonderNews.data; if (data->unk_02 == 0) return FALSE; @@ -99,8 +99,8 @@ bool32 WonderNews_Test_Unk_02(void) static void s_DestroyWonderNews(void) { - CpuFill32(0, sav1_get_mevent_buffer_0(), sizeof(gSaveBlock1Ptr->unk_322C.buffer_000.data)); - gSaveBlock1Ptr->unk_322C.buffer_000.crc = 0; + CpuFill32(0, GetSavedWonderNews(), sizeof(gSaveBlock1Ptr->unk_322C.wonderNews.data)); + gSaveBlock1Ptr->unk_322C.wonderNews.crc = 0; } static void sub_801B180(void) @@ -111,12 +111,12 @@ static void sub_801B180(void) bool32 sub_801B1A4(const u8 *src) { - const u8 *r5 = (const u8 *)&gSaveBlock1Ptr->unk_322C.buffer_000.data; + const u8 *r5 = (const u8 *)&gSaveBlock1Ptr->unk_322C.wonderNews.data; u32 i; if (!ValidateReceivedWonderNews()) return FALSE; - for (i = 0; i < sizeof(struct MEventBuffer_3120_Sub); i++) + for (i = 0; i < sizeof(struct WonderNews); i++) { if (r5[i] != src[i]) return FALSE; @@ -136,35 +136,35 @@ void DestroyWonderCard(void) ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer); } -bool32 sub_801B21C(const struct MEventBuffer_32E0_Sub *data) +bool32 sub_801B21C(const struct WonderCard *data) { struct MEventBuffer_3430_Sub *r2; - struct MEventBuffer_32E0_Sub *r1; + struct WonderCard *r1; if (!sub_801B2CC(data)) return FALSE; DestroyWonderCard(); - memcpy(&gSaveBlock1Ptr->unk_322C.buffer_1c0.data, data, sizeof(struct MEventBuffer_32E0_Sub)); - gSaveBlock1Ptr->unk_322C.buffer_1c0.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub)); + memcpy(&gSaveBlock1Ptr->unk_322C.wonderCard.data, data, sizeof(struct WonderCard)); + gSaveBlock1Ptr->unk_322C.wonderCard.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.wonderCard.data, sizeof(struct WonderCard)); r2 = &gSaveBlock1Ptr->unk_322C.buffer_310.data; - r1 = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + r1 = &gSaveBlock1Ptr->unk_322C.wonderCard.data; r2->unk_06 = r1->unk_02; return TRUE; } bool32 ValidateReceivedWonderCard(void) { - if (gSaveBlock1Ptr->unk_322C.buffer_1c0.crc != CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub))) + if (gSaveBlock1Ptr->unk_322C.wonderCard.crc != CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.wonderCard.data, sizeof(struct WonderCard))) return FALSE; - if (!sub_801B2CC(&gSaveBlock1Ptr->unk_322C.buffer_1c0.data)) + if (!sub_801B2CC(&gSaveBlock1Ptr->unk_322C.wonderCard.data)) return FALSE; - if (!sub_80991F8()) + if (!ValidateSavedRamScript()) return FALSE; return TRUE; } -static bool32 sub_801B2CC(const struct MEventBuffer_32E0_Sub *data) +static bool32 sub_801B2CC(const struct WonderCard *data) { if (data->unk_00 == 0) return FALSE; @@ -182,7 +182,7 @@ static bool32 sub_801B2CC(const struct MEventBuffer_32E0_Sub *data) bool32 WonderCard_Test_Unk_08_6(void) { - const struct MEventBuffer_32E0_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + const struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_6 == 0) return FALSE; @@ -191,8 +191,8 @@ bool32 WonderCard_Test_Unk_08_6(void) static void sub_801B330(void) { - CpuFill32(0, &gSaveBlock1Ptr->unk_322C.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub)); - gSaveBlock1Ptr->unk_322C.buffer_1c0.crc = 0; + CpuFill32(0, &gSaveBlock1Ptr->unk_322C.wonderCard.data, sizeof(struct WonderCard)); + gSaveBlock1Ptr->unk_322C.wonderCard.crc = 0; } static void sub_801B368(void) @@ -204,12 +204,12 @@ static void sub_801B368(void) u16 GetWonderCardFlagID(void) { if (ValidateReceivedWonderCard()) - return gSaveBlock1Ptr->unk_322C.buffer_1c0.data.unk_00; + return gSaveBlock1Ptr->unk_322C.wonderCard.data.unk_00; return 0; } -void sub_801B3C0(struct MEventBuffer_32E0_Sub *buffer) +void WonderCard_ResetInternalReceivedFlag(struct WonderCard *buffer) { if (buffer->unk_08_6 == 1) buffer->unk_08_6 = 0; @@ -299,11 +299,11 @@ static bool32 sub_801B4A4(const u16 *data) static int sub_801B4CC(void) { - struct MEventBuffer_32E0_Sub *data; + struct WonderCard *data; if (!ValidateReceivedWonderCard()) return 0; - data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 != 1) return 0; @@ -312,7 +312,7 @@ static int sub_801B4CC(void) bool32 sub_801B508(const u16 *data) { - struct MEventBuffer_32E0_Sub *buffer = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + struct WonderCard *buffer = &gSaveBlock1Ptr->unk_322C.wonderCard.data; int size = buffer->unk_09; int i; if (!sub_801B4A4(data)) @@ -355,9 +355,9 @@ void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1) if (ValidateReceivedWonderCard()) { - data->unk_14 = sav1_get_mevent_buffer_1()->unk_00; + data->unk_14 = GetSavedWonderCard()->unk_00; data->unk_20 = *sav1_get_mevent_buffer_2(); - data->unk_44 = sav1_get_mevent_buffer_1()->unk_09; + data->unk_44 = GetSavedWonderCard()->unk_09; } else { @@ -422,7 +422,7 @@ u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const vo return 2; } -bool32 sub_801B748(const struct MEventStruct_Unk1442CC *a0, const u16 *a1) +bool32 MEventStruct_Unk1442CC_CompareField_unk_16(const struct MEventStruct_Unk1442CC *a0, const u16 *a1) { int i; for (i = 0; i < 4; i++) @@ -439,7 +439,7 @@ static int sub_801B770(const struct MEventStruct_Unk1442CC *a0) return sub_801B438(&a0->unk_20, a0->unk_44); } -u16 sub_801B784(const struct MEventStruct_Unk1442CC *a0, u32 command) +u16 MEventStruct_Unk1442CC_GetValueNFrom_unk_20(const struct MEventStruct_Unk1442CC *a0, u32 command) { switch (command) { @@ -461,7 +461,7 @@ u16 sub_801B784(const struct MEventStruct_Unk1442CC *a0, u32 command) static void sub_801B7D8(u32 command) { - struct MEventBuffer_32E0_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 2) { u16 *dest = NULL; @@ -495,7 +495,7 @@ u16 mevent_081445C0(u32 command) { case 0: { - struct MEventBuffer_32E0_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 2) { struct MEventBuffer_3430_Sub *buffer = &gSaveBlock1Ptr->unk_322C.buffer_310.data; @@ -505,7 +505,7 @@ u16 mevent_081445C0(u32 command) } case 1: { - struct MEventBuffer_32E0_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 2) { struct MEventBuffer_3430_Sub *buffer = &gSaveBlock1Ptr->unk_322C.buffer_310.data; @@ -515,7 +515,7 @@ u16 mevent_081445C0(u32 command) } case 2: { - struct MEventBuffer_32E0_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 2) { struct MEventBuffer_3430_Sub *buffer = &gSaveBlock1Ptr->unk_322C.buffer_310.data; @@ -525,14 +525,14 @@ u16 mevent_081445C0(u32 command) } case 3: { - struct MEventBuffer_32E0_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 1) return sub_801B4CC(); break; } case 4: { - struct MEventBuffer_32E0_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data; + struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 1) return data->unk_09; break; @@ -557,7 +557,7 @@ bool32 sub_801B94C(u16 a0) if (!ValidateReceivedWonderCard()) return FALSE; - if (gSaveBlock1Ptr->unk_322C.buffer_1c0.data.unk_00 != a0) + if (gSaveBlock1Ptr->unk_322C.wonderCard.data.unk_00 != a0) return FALSE; gUnknown_02022C70 = TRUE; diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c index 24a999f69d..62240af986 100644 --- a/src/mevent_801BAAC.c +++ b/src/mevent_801BAAC.c @@ -35,7 +35,7 @@ struct UnkStruct_203F3C8_02DC struct UnkStruct_203F3C8 { - /*0000*/ struct MEventBuffer_32E0_Sub unk_0000; + /*0000*/ struct WonderCard unk_0000; /*014c*/ struct MEventBuffer_3430_Sub unk_014C; /*0170*/ const struct UnkStruct_8467FB8 * unk_0170; /*0174*/ u8 unk_0174; @@ -150,7 +150,7 @@ const struct UnkStruct_8467FB8 gUnknown_082F1D60[8] = { {1, 0, 0, 7, gWonderCardBgGfx8, gWonderCardBgTilemap8, gWonderCardBgPal8} }; -bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6) +bool32 InitWonderCardResources(struct WonderCard * r5, struct MEventBuffer_3430_Sub * r6) { if (r5 == NULL || r6 == NULL) return FALSE; @@ -465,7 +465,7 @@ void sub_801C61C(void) struct UnkStruct_203F3CC { - /*0000*/ struct MEventBuffer_3120_Sub unk_0000; + /*0000*/ struct WonderNews unk_0000; /*01bc*/ const struct UnkStruct_8467FB8 * unk_01BC; /*01c0*/ u8 unk_01C0_0:1; u8 unk_01C0_1:7; @@ -542,7 +542,7 @@ const struct UnkStruct_8467FB8 gUnknown_082F24C8[] = { {1, 0, 0, 0, gWonderNewsGfx8, gWonderNewsTilemap8, gWonderNewsPal8} }; -bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0) +bool32 InitWonderNewsResources(const struct WonderNews * a0) { if (a0 == NULL) return FALSE; diff --git a/src/mevent_server.c b/src/mevent_server.c index fe13943ffa..06b10dd957 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -46,8 +46,8 @@ static void mevent_srv_init_common(struct mevent_srv_common * svr, const void * { svr->unk_00 = 0; svr->mainseqno = 0; - svr->mevent_32e0 = AllocZeroed(sizeof(struct MEventBuffer_32E0_Sub)); - svr->mevent_3120 = AllocZeroed(sizeof(struct MEventBuffer_3120_Sub)); + svr->wonder_card = AllocZeroed(sizeof(struct WonderCard)); + svr->wonder_news = AllocZeroed(sizeof(struct WonderNews)); svr->recvBuffer = AllocZeroed(ME_SEND_BUF_SIZE); svr->mevent_unk1442cc = AllocZeroed(sizeof(struct MEventStruct_Unk1442CC)); svr->cmdBuffer = cmdBuffer; @@ -57,8 +57,8 @@ static void mevent_srv_init_common(struct mevent_srv_common * svr, const void * static void mevent_srv_free_resources(struct mevent_srv_common * svr) { - Free(svr->mevent_32e0); - Free(svr->mevent_3120); + Free(svr->wonder_card); + Free(svr->wonder_news); Free(svr->recvBuffer); Free(svr->mevent_unk1442cc); } @@ -176,7 +176,7 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) case 7: // check_crc AGB_ASSERT(cmd->flag == FALSE); - ptr = mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_32e0); + ptr = mevent_first_if_not_null_else_second(cmd->parameter, svr->wonder_card); svr->param = sub_801B6EC(ptr, svr->mevent_unk1442cc, ptr); break; case 8: @@ -192,11 +192,11 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) break; case 10: AGB_ASSERT(cmd->parameter == NULL); - svr->param = sub_801B784(svr->mevent_unk1442cc, cmd->flag); + svr->param = MEventStruct_Unk1442CC_GetValueNFrom_unk_20(svr->mevent_unk1442cc, cmd->flag); break; case 11: AGB_ASSERT(cmd->flag == FALSE); - svr->param = sub_801B748(svr->mevent_unk1442cc, cmd->parameter); + svr->param = MEventStruct_Unk1442CC_CompareField_unk_16(svr->mevent_unk1442cc, cmd->parameter); break; case 12: AGB_ASSERT(cmd->flag == FALSE); @@ -204,11 +204,11 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) break; case 14: AGB_ASSERT(cmd->flag == FALSE); - mevent_srv_common_init_send(svr, 0x17, mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_3120), sizeof(struct MEventBuffer_3120_Sub)); + mevent_srv_common_init_send(svr, 0x17, mevent_first_if_not_null_else_second(cmd->parameter, svr->wonder_news), sizeof(struct WonderNews)); break; case 13: AGB_ASSERT(cmd->flag == FALSE); - mevent_srv_common_init_send(svr, 0x16, mevent_first_if_not_null_else_second(cmd->parameter, svr->mevent_32e0), sizeof(struct MEventBuffer_32E0_Sub)); + mevent_srv_common_init_send(svr, 0x16, mevent_first_if_not_null_else_second(cmd->parameter, svr->wonder_card), sizeof(struct WonderCard)); break; case 16: AGB_ASSERT(cmd->flag == FALSE); @@ -238,11 +238,11 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) break; case 22: AGB_ASSERT(cmd->flag == FALSE); - memcpy(svr->mevent_32e0, cmd->parameter, 332); + memcpy(svr->wonder_card, cmd->parameter, 332); break; case 23: AGB_ASSERT(cmd->flag == FALSE); - memcpy(svr->mevent_3120, cmd->parameter, 444); + memcpy(svr->wonder_news, cmd->parameter, 444); break; case 21: AGB_ASSERT(cmd->flag == FALSE); @@ -258,16 +258,16 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) break; case 26: AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL); - memcpy(svr->mevent_32e0, sav1_get_mevent_buffer_1(), 332); - sub_801B3C0(svr->mevent_32e0); + memcpy(svr->wonder_card, GetSavedWonderCard(), 332); + WonderCard_ResetInternalReceivedFlag(svr->wonder_card); break; case 27: AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL); - memcpy(svr->mevent_3120, sav1_get_mevent_buffer_0(), 444); + memcpy(svr->wonder_news, GetSavedWonderNews(), 444); break; case 28: AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL); - svr->sendBuffer1 = sub_8099244(); + svr->sendBuffer1 = GetSavedRamScriptIfValid(); break; case 29: mevent_srv_common_init_send(svr, 0x1b, cmd->parameter, cmd->flag); diff --git a/src/mevent_server_ish.c b/src/mevent_server_ish.c index 0303bfd9bd..48f72eaad2 100644 --- a/src/mevent_server_ish.c +++ b/src/mevent_server_ish.c @@ -216,7 +216,7 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) sub_801B508(svr->recvBuffer); break; case 17: - sub_80992A0(svr->recvBuffer, 1000); + InitRamScript_NoEventObject(svr->recvBuffer, 1000); break; case 18: memcpy(&gSaveBlock2Ptr->frontier.ereaderTrainer, svr->recvBuffer, 0xbc); diff --git a/src/mystery_gift.c b/src/mystery_gift.c index c8b3a9060b..c935e9b258 100644 --- a/src/mystery_gift.c +++ b/src/mystery_gift.c @@ -815,11 +815,11 @@ static bool32 HandleLoadWonderCardOrNews(u8 * state, bool32 cardOrNews) case 0: if (cardOrNews == 0) { - InitWonderCardResources(sav1_get_mevent_buffer_1(), sav1_get_mevent_buffer_2()); + InitWonderCardResources(GetSavedWonderCard(), sav1_get_mevent_buffer_2()); } else { - InitWonderNewsResources(sav1_get_mevent_buffer_0()); + InitWonderNewsResources(GetSavedWonderNews()); } (*state)++; break; diff --git a/src/scrcmd.c b/src/scrcmd.c index 3145046008..0b1006cef3 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -2217,7 +2217,7 @@ bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx) bool8 ScrCmd_cmdCF(struct ScriptContext *ctx) { - const u8* v1 = sub_8099244(); + const u8* v1 = GetSavedRamScriptIfValid(); if (v1) { diff --git a/src/script.c b/src/script.c index cb06300bff..27476dba36 100644 --- a/src/script.c +++ b/src/script.c @@ -386,7 +386,7 @@ const u8 *GetRamScript(u8 objectId, const u8 *script) } } -bool32 sub_80991F8(void) +bool32 ValidateSavedRamScript(void) { struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; if (scriptData->magic != RAM_SCRIPT_MAGIC) @@ -402,7 +402,7 @@ bool32 sub_80991F8(void) return TRUE; } -u8 *sub_8099244(void) +u8 *GetSavedRamScriptIfValid(void) { struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; if (!ValidateReceivedWonderCard()) @@ -426,7 +426,7 @@ u8 *sub_8099244(void) } } -void sub_80992A0(u8 *script, u16 scriptSize) +void InitRamScript_NoEventObject(u8 *script, u16 scriptSize) { if (scriptSize > sizeof(gSaveBlock1Ptr->ramScript.data.script)) scriptSize = sizeof(gSaveBlock1Ptr->ramScript.data.script); From d0384ee95e124f16e33cdfbf1d18d02ef97145b4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 14:02:13 -0400 Subject: [PATCH 39/84] mevent_server_ish --> mevent_client --- .../{mevent_server_ish.h => mevent_client.h} | 16 ++-- ld_script.txt | 4 +- src/{mevent_server_ish.c => mevent_client.c} | 90 +++++++++---------- src/mevent_scripts.c | 28 +++--- src/mystery_gift.c | 52 +++++------ sym_ewram.txt | 2 +- 6 files changed, 96 insertions(+), 96 deletions(-) rename include/{mevent_server_ish.h => mevent_client.h} (58%) rename src/{mevent_server_ish.c => mevent_client.c} (66%) diff --git a/include/mevent_server_ish.h b/include/mevent_client.h similarity index 58% rename from include/mevent_server_ish.h rename to include/mevent_client.h index 35833ea127..58893794e5 100644 --- a/include/mevent_server_ish.h +++ b/include/mevent_client.h @@ -3,13 +3,13 @@ #include "mevent_server_helpers.h" -struct mevent_cmd_ish +struct mevent_client_cmd { u32 instr; u32 parameter; }; -struct mevent_srv_ish +struct mevent_client { u32 unk_00; u32 param; @@ -18,16 +18,16 @@ struct mevent_srv_ish u32 cmdidx; void * sendBuffer; void * recvBuffer; - struct mevent_cmd_ish * cmdBuffer; + struct mevent_client_cmd * cmdBuffer; void * buffer; struct mevent_srv_sub manager; u32 unk_4C; }; -void mevent_srv_ish_do_init(u32 arg); -u32 mevent_srv_ish_do_exec(u16 * a0); -void mevent_srv_ish_inc_flag(void); -void * mevent_srv_ish_get_buffer(void); -void mevent_srv_ish_set_param(u32 a0); +void mevent_client_do_init(u32 arg); +u32 mevent_client_do_exec(u16 * a0); +void mevent_client_inc_flag(void); +void * mevent_client_get_buffer(void); +void mevent_client_set_param(u32 a0); #endif //GUARD_MEVENT_SERVER_ISH_H diff --git a/ld_script.txt b/ld_script.txt index c5ffc06fe4..af70cafb71 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -61,7 +61,7 @@ SECTIONS { src/mevent2.o(.text); src/mevent_801BAAC.o(.text); src/mevent_server.o(.text); - src/mevent_server_ish.o(.text); + src/mevent_client.o(.text); src/mevent_server_helpers.o(.text); src/mevent_news.o(.text); src/union_room_chat.o(.text); @@ -417,7 +417,7 @@ SECTIONS { src/mevent2.o(.rodata); src/mevent_801BAAC.o(.rodata); src/mevent_server.o(.rodata); - src/mevent_server_ish.o(.rodata); + src/mevent_client.o(.rodata); src/mevent_scripts.o(.rodata); src/union_room_chat.o(.rodata); data/union_room_chat.o(.rodata); diff --git a/src/mevent_server_ish.c b/src/mevent_client.c similarity index 66% rename from src/mevent_server_ish.c rename to src/mevent_client.c index 48f72eaad2..cdf976a41b 100644 --- a/src/mevent_server_ish.c +++ b/src/mevent_client.c @@ -6,55 +6,55 @@ #include "battle_tower.h" #include "mevent.h" #include "mystery_event_script.h" -#include "mevent_server_ish.h" +#include "mevent_client.h" -EWRAM_DATA struct mevent_srv_ish * s_mevent_srv_ish_ptr = NULL; +EWRAM_DATA struct mevent_client * s_mevent_client_ptr = NULL; -static void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32); -static u32 mevent_srv_ish_exec(struct mevent_srv_ish *); -static void mevent_srv_ish_free_resources(struct mevent_srv_ish *); +static void mevent_client_init(struct mevent_client *, u32, u32); +static u32 mevent_client_exec(struct mevent_client *); +static void mevent_client_free_resources(struct mevent_client *); -extern const struct mevent_cmd_ish gUnknown_082F2598[]; +extern const struct mevent_client_cmd gUnknown_082F2598[]; -void mevent_srv_ish_do_init(u32 arg) +void mevent_client_do_init(u32 arg) { - s_mevent_srv_ish_ptr = AllocZeroed(sizeof(struct mevent_srv_ish)); - mevent_srv_ish_init(s_mevent_srv_ish_ptr, 1, 0); - s_mevent_srv_ish_ptr->unk_4C = arg; + s_mevent_client_ptr = AllocZeroed(sizeof(struct mevent_client)); + mevent_client_init(s_mevent_client_ptr, 1, 0); + s_mevent_client_ptr->unk_4C = arg; } -u32 mevent_srv_ish_do_exec(u16 * a0) +u32 mevent_client_do_exec(u16 * a0) { u32 result; - if (s_mevent_srv_ish_ptr == NULL) + if (s_mevent_client_ptr == NULL) return 6; - result = mevent_srv_ish_exec(s_mevent_srv_ish_ptr); + result = mevent_client_exec(s_mevent_client_ptr); if (result == 6) { - *a0 = s_mevent_srv_ish_ptr->param; - mevent_srv_ish_free_resources(s_mevent_srv_ish_ptr); - Free(s_mevent_srv_ish_ptr); - s_mevent_srv_ish_ptr = NULL; + *a0 = s_mevent_client_ptr->param; + mevent_client_free_resources(s_mevent_client_ptr); + Free(s_mevent_client_ptr); + s_mevent_client_ptr = NULL; } return result; } -void mevent_srv_ish_inc_flag(void) +void mevent_client_inc_flag(void) { - s_mevent_srv_ish_ptr->flag++; + s_mevent_client_ptr->flag++; } -void * mevent_srv_ish_get_buffer(void) +void * mevent_client_get_buffer(void) { - return s_mevent_srv_ish_ptr->buffer; + return s_mevent_client_ptr->buffer; } -void mevent_srv_ish_set_param(u32 a0) +void mevent_client_set_param(u32 a0) { - s_mevent_srv_ish_ptr->param = a0; + s_mevent_client_ptr->param = a0; } -static void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 sendPlayerNo, u32 recvPlayerNo) +static void mevent_client_init(struct mevent_client * svr, u32 sendPlayerNo, u32 recvPlayerNo) { svr->unk_00 = 0; svr->mainseqno = 0; @@ -66,7 +66,7 @@ static void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 sendPlayerNo, u mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo); } -static void mevent_srv_ish_free_resources(struct mevent_srv_ish * svr) +static void mevent_client_free_resources(struct mevent_client * svr) { Free(svr->sendBuffer); Free(svr->recvBuffer); @@ -74,20 +74,20 @@ static void mevent_srv_ish_free_resources(struct mevent_srv_ish * svr) Free(svr->buffer); } -static void mevent_srv_ish_jmp_buffer(struct mevent_srv_ish * svr) +static void mevent_client_jmp_buffer(struct mevent_client * svr) { memcpy(svr->cmdBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE); svr->cmdidx = 0; } -static void mevent_srv_ish_send_word(struct mevent_srv_ish * svr, u32 ident, u32 word) +static void mevent_client_send_word(struct mevent_client * svr, u32 ident, u32 word) { CpuFill32(0, svr->sendBuffer, ME_SEND_BUF_SIZE); *(u32 *)svr->sendBuffer = word; mevent_srv_sub_init_send(&svr->manager, ident, svr->sendBuffer, sizeof(u32)); } -static u32 ish_mainseq_0(struct mevent_srv_ish * svr) +static u32 ish_mainseq_0(struct mevent_client * svr) { // init memcpy(svr->cmdBuffer, gUnknown_082F2598, ME_SEND_BUF_SIZE); @@ -97,14 +97,14 @@ static u32 ish_mainseq_0(struct mevent_srv_ish * svr) return 0; } -static u32 ish_mainseq_1(struct mevent_srv_ish * svr) +static u32 ish_mainseq_1(struct mevent_client * svr) { // done return 6; } -static u32 ish_mainseq_2(struct mevent_srv_ish * svr) +static u32 ish_mainseq_2(struct mevent_client * svr) { // do recv if (mevent_srv_sub_recv(&svr->manager)) @@ -115,7 +115,7 @@ static u32 ish_mainseq_2(struct mevent_srv_ish * svr) return 1; } -static u32 ish_mainseq_3(struct mevent_srv_ish * svr) +static u32 ish_mainseq_3(struct mevent_client * svr) { // do send if (mevent_srv_sub_send(&svr->manager)) @@ -126,10 +126,10 @@ static u32 ish_mainseq_3(struct mevent_srv_ish * svr) return 1; } -static u32 ish_mainseq_4(struct mevent_srv_ish * svr) +static u32 ish_mainseq_4(struct mevent_client * svr) { // process command - struct mevent_cmd_ish * cmd = &svr->cmdBuffer[svr->cmdidx]; + struct mevent_client_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; ++svr->cmdidx; switch (cmd->instr) { @@ -155,20 +155,20 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) svr->flag = 0; break; case 19: - mevent_srv_ish_send_word(svr, 0x12, GetGameStat(cmd->parameter)); + mevent_client_send_word(svr, 0x12, GetGameStat(cmd->parameter)); svr->mainseqno = 3; svr->flag = 0; break; case 6: if (svr->param == 0) - mevent_srv_ish_jmp_buffer(svr); + mevent_client_jmp_buffer(svr); break; case 7: if (svr->param == 1) - mevent_srv_ish_jmp_buffer(svr); + mevent_client_jmp_buffer(svr); break; case 4: - mevent_srv_ish_jmp_buffer(svr); + mevent_client_jmp_buffer(svr); break; case 5: memcpy(svr->buffer, svr->recvBuffer, 0x40); @@ -194,7 +194,7 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) mevent_srv_sub_init_send(&svr->manager, 0x11, svr->sendBuffer, sizeof(struct MEventStruct_Unk1442CC)); break; case 14: - mevent_srv_ish_send_word(svr, 0x13, svr->param); + mevent_client_send_word(svr, 0x13, svr->param); break; case 10: sub_801B21C(svr->recvBuffer); @@ -203,10 +203,10 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) if (!sub_801B1A4(svr->recvBuffer)) { sub_801B078(svr->recvBuffer); - mevent_srv_ish_send_word(svr, 0x13, 0); + mevent_client_send_word(svr, 0x13, 0); } else - mevent_srv_ish_send_word(svr, 0x13, 1); + mevent_client_send_word(svr, 0x13, 1); break; case 15: svr->mainseqno = 6; @@ -232,7 +232,7 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr) return 1; } -static u32 ish_mainseq_5(struct mevent_srv_ish * svr) +static u32 ish_mainseq_5(struct mevent_client * svr) { // wait flag if (svr->flag) @@ -243,7 +243,7 @@ static u32 ish_mainseq_5(struct mevent_srv_ish * svr) return 1; } -static u32 ish_mainseq_6(struct mevent_srv_ish * svr) +static u32 ish_mainseq_6(struct mevent_client * svr) { // ??? switch (svr->flag) @@ -263,7 +263,7 @@ static u32 ish_mainseq_6(struct mevent_srv_ish * svr) return 1; } -static u32 ish_mainseq_7(struct mevent_srv_ish * svr) +static u32 ish_mainseq_7(struct mevent_client * svr) { // exec arbitrary code u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; @@ -275,9 +275,9 @@ static u32 ish_mainseq_7(struct mevent_srv_ish * svr) return 1; } -static u32 mevent_srv_ish_exec(struct mevent_srv_ish * svr) +static u32 mevent_client_exec(struct mevent_client * svr) { - u32 (*funcs[])(struct mevent_srv_ish *) = { + u32 (*funcs[])(struct mevent_client *) = { ish_mainseq_0, ish_mainseq_1, ish_mainseq_2, diff --git a/src/mevent_scripts.c b/src/mevent_scripts.c index 29b37119e0..41a5ddd51a 100644 --- a/src/mevent_scripts.c +++ b/src/mevent_scripts.c @@ -1,38 +1,38 @@ #include "global.h" -#include "mevent_server_ish.h" +#include "mevent_client.h" #include "mevent_server.h" const u8 gText_CanceledReadingCard[] = _("Canceled reading\nthe Card."); -const struct mevent_cmd_ish gUnknown_082F2598[] = { +const struct mevent_client_cmd gUnknown_082F2598[] = { {.instr = 2, .parameter = 16}, {.instr = 4, .parameter = 0} }; -const struct mevent_cmd_ish gUnknown_082F25A8[] = { +const struct mevent_client_cmd gUnknown_082F25A8[] = { {.instr = 8, .parameter = 0}, {.instr = 3, .parameter = 0}, {.instr = 2, .parameter = 16}, {.instr = 4, .parameter = 0} }; -const struct mevent_cmd_ish gUnknown_082F25C8[] = { +const struct mevent_client_cmd gUnknown_082F25C8[] = { {.instr = 20, .parameter = 0}, {.instr = 1, .parameter = 10} }; -const struct mevent_cmd_ish gUnknown_082F25D8[] = { +const struct mevent_client_cmd gUnknown_082F25D8[] = { {.instr = 20, .parameter = 0}, {.instr = 1, .parameter = 11} }; -const struct mevent_cmd_ish gUnknown_082F25E8[] = { +const struct mevent_client_cmd gUnknown_082F25E8[] = { {.instr = 20, .parameter = 0}, {.instr = 1, .parameter = 0} }; -const struct mevent_cmd_ish gUnknown_082F25F8[] = { +const struct mevent_client_cmd gUnknown_082F25F8[] = { {.instr = 2, .parameter = 22}, {.instr = 10, .parameter = 0}, {.instr = 2, .parameter = 25}, @@ -41,7 +41,7 @@ const struct mevent_cmd_ish gUnknown_082F25F8[] = { {.instr = 1, .parameter = 2} }; -const struct mevent_cmd_ish gUnknown_082F2628[] = { +const struct mevent_client_cmd gUnknown_082F2628[] = { {.instr = 2, .parameter = 23}, {.instr = 9, .parameter = 0}, {.instr = 3, .parameter = 0}, @@ -49,17 +49,17 @@ const struct mevent_cmd_ish gUnknown_082F2628[] = { {.instr = 4, .parameter = 0} }; -const struct mevent_cmd_ish gUnknown_082F2650[] = { +const struct mevent_client_cmd gUnknown_082F2650[] = { {.instr = 20, .parameter = 0}, {.instr = 1, .parameter = 7} }; -const struct mevent_cmd_ish gUnknown_082F2660[] = { +const struct mevent_client_cmd gUnknown_082F2660[] = { {.instr = 20, .parameter = 0}, {.instr = 1, .parameter = 3} }; -const struct mevent_cmd_ish gUnknown_082F2670[] = { +const struct mevent_client_cmd gUnknown_082F2670[] = { {.instr = 13, .parameter = 0}, {.instr = 14, .parameter = 0}, {.instr = 3, .parameter = 0}, @@ -67,17 +67,17 @@ const struct mevent_cmd_ish gUnknown_082F2670[] = { {.instr = 4, .parameter = 0} }; -const struct mevent_cmd_ish gUnknown_082F2698[] = { +const struct mevent_client_cmd gUnknown_082F2698[] = { {.instr = 20, .parameter = 0}, {.instr = 1, .parameter = 9} }; -const struct mevent_cmd_ish gUnknown_082F26A8[] = { +const struct mevent_client_cmd gUnknown_082F26A8[] = { {.instr = 20, .parameter = 0}, {.instr = 1, .parameter = 5} }; -const struct mevent_cmd_ish gUnknown_082F26B8[] = { +const struct mevent_client_cmd gUnknown_082F26B8[] = { {.instr = 2, .parameter = 21}, {.instr = 12, .parameter = 0}, {.instr = 20, .parameter = 0}, diff --git a/src/mystery_gift.c b/src/mystery_gift.c index c935e9b258..ab3df9020c 100644 --- a/src/mystery_gift.c +++ b/src/mystery_gift.c @@ -25,7 +25,7 @@ #include "mevent_801BAAC.h" #include "save.h" #include "link.h" -#include "mevent_server_ish.h" +#include "mevent_client.h" #include "event_data.h" #include "link_rfu.h" #include "mevent_news.h" @@ -1269,7 +1269,7 @@ void task00_mystery_gift(u8 taskId) { ClearScreenInBg0(TRUE); data->state = 7; - mevent_srv_ish_do_init(data->IsCardOrNews); + mevent_client_do_init(data->IsCardOrNews); } else if (gSpecialVar_Result == 5) { @@ -1282,7 +1282,7 @@ void task00_mystery_gift(u8 taskId) data->state = 8; break; case 8: - switch (mevent_srv_ish_do_exec(&data->curPromptWindowId)) + switch (mevent_client_do_exec(&data->curPromptWindowId)) { case 6: task_add_05_task_del_08FA224_when_no_RfuFunc(); @@ -1290,8 +1290,8 @@ void task00_mystery_gift(u8 taskId) data->state = 13; break; case 5: - memcpy(data->buffer, mevent_srv_ish_get_buffer(), 0x40); - mevent_srv_ish_inc_flag(); + memcpy(data->buffer, mevent_client_get_buffer(), 0x40); + mevent_client_inc_flag(); break; case 3: data->state = 10; @@ -1306,29 +1306,29 @@ void task00_mystery_gift(u8 taskId) } break; case 9: - switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, mevent_srv_ish_get_buffer())) + switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, mevent_client_get_buffer())) { case 0: - mevent_srv_ish_set_param(0); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(0); + mevent_client_inc_flag(); data->state = 7; break; case 1: - mevent_srv_ish_set_param(1); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(1); + mevent_client_inc_flag(); data->state = 7; break; case -1u: - mevent_srv_ish_set_param(1); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(1); + mevent_client_inc_flag(); data->state = 7; break; } break; case 10: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, mevent_srv_ish_get_buffer())) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, mevent_client_get_buffer())) { - mevent_srv_ish_inc_flag(); + mevent_client_inc_flag(); data->state = 7; } break; @@ -1342,19 +1342,19 @@ void task00_mystery_gift(u8 taskId) } else { - mevent_srv_ish_set_param(0); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(0); + mevent_client_inc_flag(); data->state = 7; } break; case 1: - mevent_srv_ish_set_param(1); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(1); + mevent_client_inc_flag(); data->state = 7; break; case -1u: - mevent_srv_ish_set_param(1); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(1); + mevent_client_inc_flag(); data->state = 7; break; } @@ -1363,18 +1363,18 @@ void task00_mystery_gift(u8 taskId) switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, gText_HaventReceivedCardsGift)) { case 0: - mevent_srv_ish_set_param(0); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(0); + mevent_client_inc_flag(); data->state = 7; break; case 1: - mevent_srv_ish_set_param(1); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(1); + mevent_client_inc_flag(); data->state = 7; break; case -1u: - mevent_srv_ish_set_param(1); - mevent_srv_ish_inc_flag(); + mevent_client_set_param(1); + mevent_client_inc_flag(); data->state = 7; break; } diff --git a/sym_ewram.txt b/sym_ewram.txt index 06e3180a0e..25cf13069d 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -13,7 +13,7 @@ .include "src/mevent2.o" .include "src/mevent_801BAAC.o" .include "src/mevent_server.o" - .include "src/mevent_server_ish.o" + .include "src/mevent_client.o" @ union_room_chat .align 2 From 33ee31b2e099a3e2cefa2542f710d51087e09a83 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Apr 2019 14:48:27 -0400 Subject: [PATCH 40/84] remove last remaining trace of "ish" --- src/mevent_client.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/mevent_client.c b/src/mevent_client.c index cdf976a41b..ec8908af28 100644 --- a/src/mevent_client.c +++ b/src/mevent_client.c @@ -87,7 +87,7 @@ static void mevent_client_send_word(struct mevent_client * svr, u32 ident, u32 w mevent_srv_sub_init_send(&svr->manager, ident, svr->sendBuffer, sizeof(u32)); } -static u32 ish_mainseq_0(struct mevent_client * svr) +static u32 mainseq_0(struct mevent_client * svr) { // init memcpy(svr->cmdBuffer, gUnknown_082F2598, ME_SEND_BUF_SIZE); @@ -97,14 +97,14 @@ static u32 ish_mainseq_0(struct mevent_client * svr) return 0; } -static u32 ish_mainseq_1(struct mevent_client * svr) +static u32 mainseq_1(struct mevent_client * svr) { // done return 6; } -static u32 ish_mainseq_2(struct mevent_client * svr) +static u32 mainseq_2(struct mevent_client * svr) { // do recv if (mevent_srv_sub_recv(&svr->manager)) @@ -115,7 +115,7 @@ static u32 ish_mainseq_2(struct mevent_client * svr) return 1; } -static u32 ish_mainseq_3(struct mevent_client * svr) +static u32 mainseq_3(struct mevent_client * svr) { // do send if (mevent_srv_sub_send(&svr->manager)) @@ -126,7 +126,7 @@ static u32 ish_mainseq_3(struct mevent_client * svr) return 1; } -static u32 ish_mainseq_4(struct mevent_client * svr) +static u32 mainseq_4(struct mevent_client * svr) { // process command struct mevent_client_cmd * cmd = &svr->cmdBuffer[svr->cmdidx]; @@ -232,7 +232,7 @@ static u32 ish_mainseq_4(struct mevent_client * svr) return 1; } -static u32 ish_mainseq_5(struct mevent_client * svr) +static u32 mainseq_5(struct mevent_client * svr) { // wait flag if (svr->flag) @@ -243,7 +243,7 @@ static u32 ish_mainseq_5(struct mevent_client * svr) return 1; } -static u32 ish_mainseq_6(struct mevent_client * svr) +static u32 mainseq_6(struct mevent_client * svr) { // ??? switch (svr->flag) @@ -263,7 +263,7 @@ static u32 ish_mainseq_6(struct mevent_client * svr) return 1; } -static u32 ish_mainseq_7(struct mevent_client * svr) +static u32 mainseq_7(struct mevent_client * svr) { // exec arbitrary code u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; @@ -278,14 +278,14 @@ static u32 ish_mainseq_7(struct mevent_client * svr) static u32 mevent_client_exec(struct mevent_client * svr) { u32 (*funcs[])(struct mevent_client *) = { - ish_mainseq_0, - ish_mainseq_1, - ish_mainseq_2, - ish_mainseq_3, - ish_mainseq_4, - ish_mainseq_5, - ish_mainseq_6, - ish_mainseq_7 + mainseq_0, + mainseq_1, + mainseq_2, + mainseq_3, + mainseq_4, + mainseq_5, + mainseq_6, + mainseq_7 }; return funcs[svr->mainseqno](svr); } From 4fadbaf16153c0160f6ad38dc0053e7ff6db7472 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 3 Apr 2019 09:55:17 -0400 Subject: [PATCH 41/84] Minor fixes gotoram --> returnram cmdCF/execram --> gotoram fix indentation in sym_ewram.txt fix mevent_client.h guard name --- asm/macros/event.inc | 4 ++-- data/mystery_event_msg.s | 2 +- data/script_cmd_table.inc | 4 ++-- data/scripts/cable_club.inc | 2 +- include/link_rfu.h | 2 +- include/mevent_client.h | 6 +++--- src/link_rfu.c | 2 +- src/mevent_server_helpers.c | 8 ++++---- src/overworld.c | 2 +- src/scrcmd.c | 4 ++-- sym_ewram.txt | 14 +++++++------- 11 files changed, 25 insertions(+), 25 deletions(-) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 8b3466fe74..e00bdb6005 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -77,7 +77,7 @@ .endm @ Executes a script stored in a default RAM location. - .macro gotoram + .macro returnram .byte 0x0c .endm @@ -1440,7 +1440,7 @@ .endm @ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0. - .macro execram + .macro gotoram .byte 0xcf .endm diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s index 24a075181f..dd1f8e6818 100644 --- a/data/mystery_event_msg.s +++ b/data/mystery_event_msg.s @@ -36,7 +36,7 @@ MysteryEventScript_SurfPichu:: @ 8674D3D setvaddress MysteryEventScript_SurfPichu checkflag FLAG_MYSTERY_EVENT_DONE vgoto_if 0, SurfPichu_GiveIfPossible - gotoram + returnram SurfPichu_GiveIfPossible: @ 8674D4C specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc index 39864b2a85..e9a14437a7 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -12,7 +12,7 @@ gScriptCmdTable:: @ 81DB67C .4byte ScrCmd_callstd .4byte ScrCmd_gotostd_if .4byte ScrCmd_callstd_if - .4byte ScrCmd_gotoram + .4byte ScrCmd_returnram .4byte ScrCmd_killscript .4byte ScrCmd_setmysteryeventstatus .4byte ScrCmd_loadword @@ -207,7 +207,7 @@ gScriptCmdTable:: @ 81DB67C .4byte ScrCmd_nop1 .4byte ScrCmd_setmonobedient .4byte ScrCmd_checkmonobedience - .4byte ScrCmd_cmdCF + .4byte ScrCmd_gotoram .4byte ScrCmd_nop1 .4byte ScrCmd_warpD1 .4byte ScrCmd_setmonmetlocation diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index e0b2898995..c755493dcf 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -60,7 +60,7 @@ VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 end OldaleTown_PokemonCenter_2F_EventScript_276B19:: @ 8276B19 - execram + gotoram OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A msgbox gUnknown_08273178, MSGBOX_NPC diff --git a/include/link_rfu.h b/include/link_rfu.h index b8ba1a9275..edfd0ed208 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -284,7 +284,7 @@ bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx); bool8 sub_800DF34(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx); s32 sub_800E87C(u8 idx); void sub_8011BA4(void); -void sub_8010198(void); +void LinkRfu_FatalError(void); bool32 sub_8011A9C(void); void sub_80104B0(void); void sub_8011A50(void); diff --git a/include/mevent_client.h b/include/mevent_client.h index 58893794e5..c32d14d7aa 100644 --- a/include/mevent_client.h +++ b/include/mevent_client.h @@ -1,5 +1,5 @@ -#ifndef GUARD_MEVENT_SERVER_ISH_H -#define GUARD_MEVENT_SERVER_ISH_H +#ifndef GUARD_MEVENT_CLIENT_H +#define GUARD_MEVENT_CLIENT_H #include "mevent_server_helpers.h" @@ -30,4 +30,4 @@ void mevent_client_inc_flag(void); void * mevent_client_get_buffer(void); void mevent_client_set_param(u32 a0); -#endif //GUARD_MEVENT_SERVER_ISH_H +#endif //GUARD_MEVENT_CLIENT_H diff --git a/src/link_rfu.c b/src/link_rfu.c index 1e4c9c7e63..7c55df7839 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -3674,7 +3674,7 @@ void sub_8010168(void) gUnknown_03005000.unk_00 = sub_8010148; } -void sub_8010198(void) +void LinkRfu_FatalError(void) { sub_800D630(); gUnknown_03005000.unk_ce4 = 1; diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c index af14b514cf..9d47ba7459 100644 --- a/src/mevent_server_helpers.c +++ b/src/mevent_server_helpers.c @@ -96,12 +96,12 @@ static bool32 mevent_receive_func(struct mevent_srv_sub * svr) svr->recvCRC = header.crc; if (svr->recvSize > ME_SEND_BUF_SIZE) { - sub_8010198(); + LinkRfu_FatalError(); return FALSE; } else if (svr->recvIdent != header.ident) { - sub_8010198(); + LinkRfu_FatalError(); return FALSE; } else @@ -133,7 +133,7 @@ static bool32 mevent_receive_func(struct mevent_srv_sub * svr) case 2: if (CalcCRC16WithTable(svr->recvBfr, svr->recvSize) != svr->recvCRC) { - sub_8010198(); + LinkRfu_FatalError(); return FALSE; } else @@ -192,7 +192,7 @@ static bool32 mevent_send_func(struct mevent_srv_sub * svr) if (IsLinkTaskFinished()) { if (CalcCRC16WithTable(svr->sendBfr, svr->sendSize) != svr->sendCRC) - sub_8010198(); + LinkRfu_FatalError(); else ++svr->seqno; } diff --git a/src/overworld.c b/src/overworld.c index ae6efefd7c..9ed147c0ab 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2287,7 +2287,7 @@ static void SetKeyInterceptCallback(u16 (*func)(u32)) static void CheckRfuKeepAliveTimer(void) { if (gWirelessCommType != 0 && ++sRfuKeepAliveTimer > 60) - sub_8010198(); + LinkRfu_FatalError(); } static void ResetAllTradingStates(void) diff --git a/src/scrcmd.c b/src/scrcmd.c index 0b1006cef3..125a57c011 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -281,7 +281,7 @@ bool8 ScrCmd_callstd_if(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_gotoram(struct ScriptContext *ctx) +bool8 ScrCmd_returnram(struct ScriptContext *ctx) { ScriptJump(ctx, gUnknown_020375C0); return FALSE; @@ -2215,7 +2215,7 @@ bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_cmdCF(struct ScriptContext *ctx) +bool8 ScrCmd_gotoram(struct ScriptContext *ctx) { const u8* v1 = GetSavedRamScriptIfValid(); diff --git a/sym_ewram.txt b/sym_ewram.txt index 25cf13069d..ff27b4cfb9 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -7,16 +7,16 @@ .include "src/link.o" .include "src/link_rfu.o" .include "src/union_room.o" - .include "src/mystery_gift.o" - .include "src/union_room_player_avatar.o" - .include "src/union_room_battle.o" + .include "src/mystery_gift.o" + .include "src/union_room_player_avatar.o" + .include "src/union_room_battle.o" .include "src/mevent2.o" .include "src/mevent_801BAAC.o" - .include "src/mevent_server.o" - .include "src/mevent_client.o" + .include "src/mevent_server.o" + .include "src/mevent_client.o" - @ union_room_chat - .align 2 + @ union_room_chat + .align 2 gUnknown_02022C84: @ 2022C84 .space 0x4 From 48d27c035ae194419317884f64ddf4beec001e7c Mon Sep 17 00:00:00 2001 From: ultima-soul Date: Wed, 3 Apr 2019 15:15:08 -0700 Subject: [PATCH 42/84] Remove pokemon_3.h --- include/pokemon_3.h | 10 ---------- src/main_menu.c | 2 +- 2 files changed, 1 insertion(+), 11 deletions(-) delete mode 100644 include/pokemon_3.h diff --git a/include/pokemon_3.h b/include/pokemon_3.h deleted file mode 100644 index 263839b198..0000000000 --- a/include/pokemon_3.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GUARD_POKEMON_3_H -#define GUARD_POKEMON_3_H - -u16 sub_806EFF0(u16); -const u8* GetTrainerClassNameFromId(u16 trainerId); -const u8* GetTrainerNameFromId(u16 trainerId); -void PlayMapChosenOrBattleBGM(u16 song); -u8 GetTrainerEncounterMusicId(u16 trainerOpponentId); - -#endif // GUARD_POKEMON_3_H diff --git a/src/main_menu.c b/src/main_menu.c index 8c9612c24c..504c1bd33d 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -23,7 +23,7 @@ #include "palette.h" #include "pokeball.h" #include "pokedex.h" -#include "pokemon_3.h" +#include "pokemon.h" #include "random.h" #include "rtc.h" #include "save.h" From 91a94a0ca1f2df00a776c85b40d76c193977d13a Mon Sep 17 00:00:00 2001 From: ultima-soul Date: Wed, 3 Apr 2019 21:13:26 -0700 Subject: [PATCH 43/84] Try to get closer to matching. --- include/menu_specialized.h | 6 +- src/battle_script_commands.c | 8 +- src/menu_specialized.c | 160 ++++++++++++++++++++--------------- 3 files changed, 100 insertions(+), 74 deletions(-) diff --git a/include/menu_specialized.h b/include/menu_specialized.h index fb23e7ce65..405d788300 100644 --- a/include/menu_specialized.h +++ b/include/menu_specialized.h @@ -32,8 +32,8 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page); void sub_81D1E90(struct PlayerPCItemPageStruct *page); void sub_81D1EC0(void); void sub_81D1D04(u8 a0); -void DrawLevelUpWindowPg1(u16 arg0, u16* statStoreLocation1, u16* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); -void DrawLevelUpWindowPg2(u16 arg0, u16* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); +void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); +void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0); void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0); void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0); @@ -47,7 +47,7 @@ bool16 MoveRelearnerRunTextPrinters(void); void MoveRelearnerCreateYesNoMenu(void); u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); void InitMoveRelearnerWindows(bool8 useContextWindow); -void GetMonLevelUpWindowStats(struct Pokemon* mon, u16* statStoreLocation); +void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation); s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst); void sub_81D2ED4(u8 *dst, u8 *nameDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7); void sub_81D2F78(struct UnknownStruct_81D1ED4 *arg0, u8 *sheen, u16 boxId, u16 monId, u16 arg5, u16 id, u16 arg7, bool8 arg8); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 0a0c34ad22..d1d8d87ac4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6295,16 +6295,16 @@ static void sub_804F100(void) { struct StatsArray currentStats; - GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], ¤tStats); - DrawLevelUpWindowPg1(0xD, gBattleResources->statsBeforeLvlUp, ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], (u16*) ¤tStats); + DrawLevelUpWindowPg1(0xD, (u16*) gBattleResources->statsBeforeLvlUp,(u16*) ¤tStats, 0xE, 0xD, 0xF); } static void sub_804F144(void) { struct StatsArray currentStats; - GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], ¤tStats); - DrawLevelUpWindowPg2(0xD, ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], (u16*) ¤tStats); + DrawLevelUpWindowPg2(0xD, (u16*) ¤tStats, 0xE, 0xD, 0xF); } static void sub_804F17C(void) diff --git a/src/menu_specialized.c b/src/menu_specialized.c index c8c46fbc18..58ed6e9821 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -1643,47 +1643,51 @@ static void sub_81D35E8(struct Sprite *sprite) #ifdef NONMATCHING -void DrawLevelUpWindowPg1(u8 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) +void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) { - s32 i; + u16 i; s16 array[6]; u8 *text; - u8 *text2; - s16 *ptr; - u8 something[14]; + u8 text2; + s16 *statVal; s32 var; - u8 var2; + u8 padding; s32 var3; + u8 color[11]; + FillWindowPixelBuffer(arg0, PIXEL_FILL(arg3)); + + array[0] = statStoreLocation2[STAT_HP] - statStoreLocation1[STAT_HP]; + array[1] = statStoreLocation2[STAT_ATK] - statStoreLocation1[STAT_ATK]; + array[2] = statStoreLocation2[STAT_DEF] - statStoreLocation1[STAT_DEF]; + array[3] = statStoreLocation2[STAT_SPATK] - statStoreLocation1[STAT_SPATK]; + array[4] = statStoreLocation2[STAT_SPDEF] - statStoreLocation1[STAT_SPDEF]; + array[5] = statStoreLocation2[STAT_SPEED] - statStoreLocation1[STAT_SPEED]; + + color[0] = arg3; + color[1] = arg4; + color[2] = arg5; - - - - FillWindowPixelBuffer(arg0, arg3 * 16 | arg3); - - - array[0] = statStoreLocation2[0] - statStoreLocation1[0]; - array[1] = statStoreLocation2[1] - statStoreLocation1[1]; - array[2] = statStoreLocation2[2] - statStoreLocation1[2]; - array[3] = statStoreLocation2[4] - statStoreLocation1[4]; - array[4] = statStoreLocation2[5] - statStoreLocation1[5]; - array[5] = statStoreLocation2[3] - statStoreLocation1[3]; - - - for(i = 0; i < 6; i++) + for(i = 0; i <= 5; i++) { - AddTextPrinterParameterized3(arg0, 1, 0, 15 * i, &arg3, TEXT_SPEED_FF, gUnknown_08625B54[i]); - ptr = &array[i]; - text = (u8 *) gText_Dash; - - if(*ptr >= 0) - { - text = (u8 *) gText_UnkCtrlF904; - } - - StringCopy(text2, text); - AddTextPrinterParameterized3(arg0, 1, 56, 15 * i, &arg3, TEXT_SPEED_FF, text2); - var3 = *ptr; + AddTextPrinterParameterized3(arg0, + 1, + 0, + 15 * i, + color, + TEXT_SPEED_FF, + gUnknown_08625B54[i]); + statVal = &array[i]; + text = array[i] >= 0 ? (u8 *) gText_UnkCtrlF904 : (u8 *) gText_Dash;//Plus sign for stat gain, dash for none maybe + StringCopy(&text2, text); + AddTextPrinterParameterized3(arg0, + 1, + 56, + 15 * i, + color, + TEXT_SPEED_FF, + &text2); + var3 = *statVal; var = var3; if(var3 < 0) @@ -1691,11 +1695,11 @@ void DrawLevelUpWindowPg1(u8 arg0, u16 *statStoreLocation1, u16 *statStoreLocati var = -var3; } - var2 = 12; + padding = 12; //amount of padding if(var <= 9) { - var2 = 18; + padding = 18; //more padding for single digit numbers } if(var3 < 0) @@ -1703,8 +1707,14 @@ void DrawLevelUpWindowPg1(u8 arg0, u16 *statStoreLocation1, u16 *statStoreLocati var3 = -var3; } - ConvertIntToDecimalStringN(text2, var3, 0, 2); - AddTextPrinterParameterized3(arg0, 1, var2 + 56, 15 * i, &arg3, TEXT_SPEED_FF, text2); + ConvertIntToDecimalStringN(&text2, var3, STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized3(arg0, + 1, + padding + 56, + 15 * i, + color, + TEXT_SPEED_FF, + &text2); } } #else @@ -1872,43 +1882,59 @@ _081D373A:\n\ #endif // NONMATCHING #ifdef NONMATCHING -void DrawLevelUpWindowPg2(u16 arg0, u16* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) +void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) { s32 i; - s32 var; - s32 var2; + s16 *var; + s32 numDigits; u8 text; s16 array[6]; - u8 *something; - u8 some; - FillWindowPixelBuffer(arg0, arg2 * 16 | arg2); - array[0] = statStoreLocation1[0]; - array[1] = statStoreLocation1[1]; - array[2] = statStoreLocation1[2]; - array[3] = statStoreLocation1[4]; - array[4] = statStoreLocation1[5]; - array[5] = statStoreLocation1[3]; + u8 color[11]; + + FillWindowPixelBuffer(arg0, PIXEL_FILL(arg2)); + + array[0] = statStoreLocation1[STAT_HP]; + array[1] = statStoreLocation1[STAT_ATK]; + array[2] = statStoreLocation1[STAT_DEF]; + array[3] = statStoreLocation1[STAT_SPATK]; + array[4] = statStoreLocation1[STAT_SPDEF]; + array[5] = statStoreLocation1[STAT_SPEED]; + + color[0] = arg2; + color[1] = arg3; + color[2] = arg4; + for(i = 0; i <= 5; i++) { - var = array[i]; - var2 = 3; - if(var <= 99) + numDigits = 3; //3 digit stat + if(array[i] <= 99) { - var2 = 1; - if(var > 9) + numDigits = 1; //1 digit stat + if(array[i] > 9) { - var2 = 2; + numDigits = 2; //2 digit stat } } - something = ConvertIntToDecimalStringN(&text, array[i], 0, var2); - some = (((4 - *something) * 2) + *something) * 2; - AddTextPrinterParameterized3(arg0, 1, 0, 15 * i, &arg2, TEXT_SPEED_FF, gUnknown_08625B54[i]); - AddTextPrinterParameterized3(arg0, 1, some + 56, 15 * i, &arg2, TEXT_SPEED_FF, &text); + ConvertIntToDecimalStringN(&text, array[i], STR_CONV_MODE_LEFT_ALIGN, numDigits); + AddTextPrinterParameterized3(arg0, + 1, + 0, + 15 * i, + color, + TEXT_SPEED_FF, + gUnknown_08625B54[i]); + AddTextPrinterParameterized3(arg0, + 1, + 6 * (4 - numDigits) + 56, + 15 * i, + color, + TEXT_SPEED_FF, + &text); } } #else NAKED -void DrawLevelUpWindowPg2(u16 arg0, u16* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) +void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -2043,14 +2069,14 @@ _081D3808:\n\ } #endif // NONMATCHING -void GetMonLevelUpWindowStats(struct Pokemon* mon, u16* statStoreLocation) +void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation) { - statStoreLocation[0] = GetMonData(mon, MON_DATA_MAX_HP); - statStoreLocation[1] = GetMonData(mon, MON_DATA_ATK); - statStoreLocation[2] = GetMonData(mon, MON_DATA_DEF); - statStoreLocation[3] = GetMonData(mon, MON_DATA_SPEED); - statStoreLocation[4] = GetMonData(mon, MON_DATA_SPATK); - statStoreLocation[5] = GetMonData(mon, MON_DATA_SPDEF); + statStoreLocation[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); + statStoreLocation[STAT_ATK] = GetMonData(mon, MON_DATA_ATK); + statStoreLocation[STAT_DEF] = GetMonData(mon, MON_DATA_DEF); + statStoreLocation[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED); + statStoreLocation[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK); + statStoreLocation[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF); } From 64da3d051ecf8617c081f64a49f62c7e79354585 Mon Sep 17 00:00:00 2001 From: ultima-soul Date: Wed, 3 Apr 2019 21:15:45 -0700 Subject: [PATCH 44/84] Fix formatting. --- src/menu_specialized.c | 108 ++++++++++++++++------------------------- 1 file changed, 43 insertions(+), 65 deletions(-) diff --git a/src/menu_specialized.c b/src/menu_specialized.c index 58ed6e9821..cbdef3d39e 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -1653,10 +1653,10 @@ void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocat s32 var; u8 padding; s32 var3; - u8 color[11]; + u8 color[11]; FillWindowPixelBuffer(arg0, PIXEL_FILL(arg3)); - + array[0] = statStoreLocation2[STAT_HP] - statStoreLocation1[STAT_HP]; array[1] = statStoreLocation2[STAT_ATK] - statStoreLocation1[STAT_ATK]; array[2] = statStoreLocation2[STAT_DEF] - statStoreLocation1[STAT_DEF]; @@ -1665,28 +1665,28 @@ void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocat array[5] = statStoreLocation2[STAT_SPEED] - statStoreLocation1[STAT_SPEED]; color[0] = arg3; - color[1] = arg4; - color[2] = arg5; + color[1] = arg4; + color[2] = arg5; for(i = 0; i <= 5; i++) { AddTextPrinterParameterized3(arg0, - 1, - 0, - 15 * i, - color, - TEXT_SPEED_FF, - gUnknown_08625B54[i]); + 1, + 0, + 15 * i, + color, + TEXT_SPEED_FF, + gUnknown_08625B54[i]); statVal = &array[i]; text = array[i] >= 0 ? (u8 *) gText_UnkCtrlF904 : (u8 *) gText_Dash;//Plus sign for stat gain, dash for none maybe StringCopy(&text2, text); AddTextPrinterParameterized3(arg0, - 1, - 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text2); + 1, + 56, + 15 * i, + color, + TEXT_SPEED_FF, + &text2); var3 = *statVal; var = var3; @@ -1709,12 +1709,12 @@ void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocat ConvertIntToDecimalStringN(&text2, var3, STR_CONV_MODE_LEFT_ALIGN, 2); AddTextPrinterParameterized3(arg0, - 1, - padding + 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text2); + 1, + padding + 56, + 15 * i, + color, + TEXT_SPEED_FF, + &text2); } } #else @@ -1889,21 +1889,21 @@ void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u s32 numDigits; u8 text; s16 array[6]; - u8 color[11]; - + u8 color[11]; + FillWindowPixelBuffer(arg0, PIXEL_FILL(arg2)); - + array[0] = statStoreLocation1[STAT_HP]; array[1] = statStoreLocation1[STAT_ATK]; array[2] = statStoreLocation1[STAT_DEF]; array[3] = statStoreLocation1[STAT_SPATK]; array[4] = statStoreLocation1[STAT_SPDEF]; array[5] = statStoreLocation1[STAT_SPEED]; - - color[0] = arg2; - color[1] = arg3; - color[2] = arg4; - + + color[0] = arg2; + color[1] = arg3; + color[2] = arg4; + for(i = 0; i <= 5; i++) { numDigits = 3; //3 digit stat @@ -1917,19 +1917,19 @@ void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u } ConvertIntToDecimalStringN(&text, array[i], STR_CONV_MODE_LEFT_ALIGN, numDigits); AddTextPrinterParameterized3(arg0, - 1, - 0, - 15 * i, - color, - TEXT_SPEED_FF, - gUnknown_08625B54[i]); + 1, + 0, + 15 * i, + color, + TEXT_SPEED_FF, + gUnknown_08625B54[i]); AddTextPrinterParameterized3(arg0, - 1, - 6 * (4 - numDigits) + 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text); + 1, + 6 * (4 - numDigits) + 56, + 15 * i, + color, + TEXT_SPEED_FF, + &text); } } #else @@ -2071,32 +2071,10 @@ _081D3808:\n\ void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation) { - statStoreLocation[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); + statStoreLocation[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); statStoreLocation[STAT_ATK] = GetMonData(mon, MON_DATA_ATK); statStoreLocation[STAT_DEF] = GetMonData(mon, MON_DATA_DEF); statStoreLocation[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED); statStoreLocation[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK); statStoreLocation[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF); } - - - - - - - - - - - - - - - - - - - - - - From a47abb3949f8d1050379f51005368a5093c15113 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 3 Apr 2019 21:46:59 -0400 Subject: [PATCH 45/84] union_room_chat data, 1 --- data/union_room_chat.s | 169 ----------------------------- include/global.h | 13 +-- include/graphics.h | 1 + include/strings.h | 16 +++ src/union_room_chat.c | 240 ++++++++++++++++++++++++++++++++++++----- 5 files changed, 238 insertions(+), 201 deletions(-) diff --git a/data/union_room_chat.s b/data/union_room_chat.s index 143678cd41..4f6b976b5a 100755 --- a/data/union_room_chat.s +++ b/data/union_room_chat.s @@ -3,175 +3,6 @@ .section .rodata - .align 2 -gUnknown_082F2AA8:: @ 82F2AA8 - .byte 0x00, 0x16, 0x17, 0x68, 0x19, 0x1a, 0x1b, 0x1c - .byte 0x1d, 0x1e, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24 - .byte 0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02 - .byte 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00 - .byte 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12 - .byte 0x13, 0x14, 0x2a, 0x2b, 0x2c, 0x2d, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x36, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, 0x00 - .byte 0x00, 0x00, 0x6f, 0x5b, 0x5c, 0x5d, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x84, 0x85, 0x86, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7 - .byte 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf - .byte 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7 - .byte 0xb8, 0xb9, 0xba, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9 - .byte 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1 - .byte 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9 - .byte 0xea, 0xeb, 0xec, 0xed, 0xee, 0xbb, 0xbc, 0xbd - .byte 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5 - .byte 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd - .byte 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xef - .byte 0xf0, 0xf4, 0xf5, 0xf6, 0xf1, 0xf2, 0xf3, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_082F2BA8:: @ 82F2BA8 - .4byte gUnknown_0862B9F9, gUnknown_0862B9FF, gUnknown_0862BA05, gUnknown_0862BA0B, gUnknown_0862BA11, gUnknown_0862BA17, gUnknown_0862BA1D, gUnknown_0862BA23, gUnknown_0862BA29, gUnknown_0862BA2F - .4byte gUnknown_0862BA35, gUnknown_0862BA3B, gUnknown_0862BA41, gUnknown_0862BA47, gUnknown_0862BA4D, gUnknown_0862BA53, gUnknown_0862BA59, gUnknown_0862BA5F, gUnknown_0862BA65, gUnknown_0862BA6B - .4byte gUnknown_0862BA79, gUnknown_0862BA84, gUnknown_0862BA8F, gUnknown_0862BA9A, gUnknown_0862BAA3, gUnknown_0862BAAE, gUnknown_0862BAB9, gUnknown_0862BAC4, gUnknown_0862BACF, gUnknown_0862BADA - - .align 2 -gUnknown_082F2C20:: @ 82F2C20 - .incbin "graphics/interface/unk_palette1.gbapal" - - .align 2 -gUnknown_082F2C40:: @ 82F2C40 - .incbin "graphics/interface/unk_palette2.gbapal" - - .align 2 -gUnknown_082F2C60:: @ 82F2C60 struct BgTemplate - .4byte 0x00000070, 0x000011fd, 0x0000217a, 0x000070f7 - - .align 2 -gUnknown_082F2C70:: @ 82F2C70 - window_template 0x03, 0x08, 0x01, 0x15, 0x13, 0x0f, 0x0001 - window_template 0x01, 0x09, 0x12, 0x0f, 0x02, 0x0c, 0x007a - window_template 0x01, 0x00, 0x02, 0x06, 0x0f, 0x07, 0x0020 - window_template 0x00, 0x01, 0x02, 0x07, 0x09, 0x0e, 0x0013 - null_window_template - - .align 2 -gUnknown_082F2C98:: @ 82F2C98 - .4byte 0x00000000, sub_801F658 - .4byte 0x00000003, sub_801F6F8 - .4byte 0x00000004, sub_801F730 - .4byte 0x00000005, sub_801F768 - .4byte 0x00000001, sub_801F7D4 - .4byte 0x00000006, sub_801F7E0 - .4byte 0x00000007, sub_801F82C - .4byte 0x00000008, sub_801F870 - .4byte 0x00000009, sub_801F8DC - .4byte 0x0000000a, sub_801F984 - .4byte 0x0000000b, sub_801FA2C - .4byte 0x0000000c, sub_801FA68 - .4byte 0x00000002, sub_801FB44 - .4byte 0x0000000d, sub_801FB70 - .4byte 0x00000012, sub_801FBB4 - .4byte 0x00000013, sub_801FBF8 - .4byte 0x0000000e, sub_801FC4C - .4byte 0x0000000f, sub_801FC9C - .4byte 0x00000010, sub_801FCEC - .4byte 0x00000011, sub_801FD30 - .4byte 0x00000014, sub_801FD88 - - .align 2 -gUnknown_082F2D40:: @ 82F2D40 - .4byte gText_QuitChatting - .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gText_RegisterTextWhere - .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gText_RegisterTextHere - .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gText_InputText - .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gText_ExitingChat - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - - .4byte gText_LeaderLeftEndingChat - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00 - - .4byte gText_RegisteredTextChanged - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 - - .4byte gText_AlreadySavedFile_Unused - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 - - .4byte gText_SavingDontTurnOff_Unused - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 - - .4byte gText_PlayerSavedGame_Unused - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 - - .4byte gText_IfLeaderLeavesChatEnds - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 - - .align 2 -gText_Ellipsis:: @ 82F2DC4 - .string "…$" - - .align 2 -gUnknown_082F2DC8:: @ 82F2DC8 - .4byte gText_Upper, 0x00000000 - .4byte gText_Lower, 0x00000000 - .4byte gText_Symbols, 0x00000000 - .4byte gText_Register2, 0x00000000 - .4byte gText_Exit2, 0x00000000 - - .align 2 -gUnknown_082F2DF0:: @ 82F2DF0 - .incbin "graphics/interface/unk_palette3.gbapal" - - .align 2 -gUnknown_082F2E10:: @ 82F2E10 - .incbin "graphics/interface/unk_cursor.4bpp.lz" - - .align 2 -gUnknown_082F3094:: @ 82F3094 - .incbin "graphics/interface/unk_dash.4bpp.lz" - - .align 2 -gUnknown_082F30B4:: @ 82F30B4 - .incbin "graphics/interface/unk_cursor_arrow.4bpp.lz" - - .align 2 -gUnknown_082F30E0:: @ 82F30E0 - .incbin "graphics/interface/unk_rbutton.4bpp.lz" - - .align 2 -gUnknown_082F3134:: @ 82F3134 - .4byte gUnknown_082F2E10 - .2byte 0x1000, 0x0000 - - .4byte gUnknown_082F30B4 - .2byte 0x0040, 0x0001 - - .4byte gUnknown_082F3094 - .2byte 0x0040, 0x0002 - - .4byte gUnknown_082F30E0 - .2byte 0x0080, 0x0003 - - .4byte gUnknown_08DD4CF8 - .2byte 0x0400, 0x0004 - .align 2 gUnknown_082F315C:: @ 82F315C struct SpritePalette .4byte gUnknown_082F2DF0 diff --git a/include/global.h b/include/global.h index 7b570d72e2..864a7fa556 100644 --- a/include/global.h +++ b/include/global.h @@ -18,12 +18,13 @@ #if defined (__APPLE__) || defined (__CYGWIN__) || defined (_MSC_VER) #define _(x) x #define __(x) x -#define INCBIN_U8 {0} -#define INCBIN_U16 {0} -#define INCBIN_U32 {0} -#define INCBIN_S8 {0} -#define INCBIN_S16 {0} -#define INCBIN_S32 {0} +// CLion is an idiot +#define INCBIN_U8(x) {0} +#define INCBIN_U16(x) {0} +#define INCBIN_U32(x) {0} +#define INCBIN_S8(x) {0} +#define INCBIN_S16(x) {0} +#define INCBIN_S32(x) {0} #endif // IDE support #define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0])) diff --git a/include/graphics.h b/include/graphics.h index 2584e713ec..30ca2af824 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4921,6 +4921,7 @@ extern const u16 gUnknown_08DD4BB0[]; extern const u16 gUnknown_08DD4BD0[]; extern const u32 gUnknown_08DD4BF0[]; extern const u32 gUnknown_08DD4C4C[]; +extern const u32 gUnknown_08DD4CF8[]; extern const u16 gLinkMiscMenu_Pal[]; extern const u32 gLinkMiscMenu_Gfx[]; extern const u32 gLinkMiscMenu_Tilemap[]; diff --git a/include/strings.h b/include/strings.h index fc5724af32..cb54afb135 100644 --- a/include/strings.h +++ b/include/strings.h @@ -2682,5 +2682,21 @@ extern const u8 gText_PeopleCommunicating[]; extern const u8 gText_CommStandbyAwaitingOtherPlayer[]; extern const u8 gText_RefusedBattle[]; extern const u8 gText_BattleWasRefused[]; +extern const u8 gText_QuitChatting[]; +extern const u8 gText_RegisterTextWhere[]; +extern const u8 gText_RegisterTextHere[]; +extern const u8 gText_InputText[]; +extern const u8 gText_ExitingChat[]; +extern const u8 gText_LeaderLeftEndingChat[]; +extern const u8 gText_RegisteredTextChanged[]; +extern const u8 gText_AlreadySavedFile_Unused[]; +extern const u8 gText_SavingDontTurnOff_Unused[]; +extern const u8 gText_PlayerSavedGame_Unused[]; +extern const u8 gText_IfLeaderLeavesChatEnds[]; +extern const u8 gText_Upper[]; +extern const u8 gText_Lower[]; +extern const u8 gText_Symbols[]; +extern const u8 gText_Register2[]; +extern const u8 gText_Exit2[]; #endif // GUARD_STRINGS_H diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 120252d366..1528cdd5f4 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -190,22 +190,33 @@ static void sub_80209E0(void); static bool32 sub_8020A1C(void); static void sub_80207C0(s16); static void sub_8020818(s16); +static bool32 sub_801F658(u8 *state); +static bool32 sub_801F6F8(u8 *state); +static bool32 sub_801F730(u8 *state); +static bool32 sub_801F768(u8 *state); +static bool32 sub_801F7D4(u8 *state); +static bool32 sub_801F7E0(u8 *state); +static bool32 sub_801F82C(u8 *state); +static bool32 sub_801F870(u8 *state); +static bool32 sub_801F8DC(u8 *state); +static bool32 sub_801F984(u8 *state); +static bool32 sub_801FA2C(u8 *state); +static bool32 sub_801FA68(u8 *state); +static bool32 sub_801FB44(u8 *state); +static bool32 sub_801FB70(u8 *state); +static bool32 sub_801FBB4(u8 *state); +static bool32 sub_801FBF8(u8 *state); +static bool32 sub_801FC4C(u8 *state); +static bool32 sub_801FC9C(u8 *state); +static bool32 sub_801FCEC(u8 *state); +static bool32 sub_801FD30(u8 *state); +static bool32 sub_801FD88(u8 *state); extern struct UnionRoomChat *gUnknown_02022C84; extern struct UnionRoomChat2 *gUnknown_02022C88; extern struct UnionRoomChat3 *gUnknown_02022C8C; - -extern const u8 *const gUnknown_082F2BA8[][10]; -extern const u8 gUnknown_082F2AA8[]; -extern const struct BgTemplate gUnknown_082F2C60[4]; -extern const struct WindowTemplate gUnknown_082F2C70[]; -extern const struct Unk82F2C98 gUnknown_082F2C98[]; -extern const struct Unk82F2D40 gUnknown_082F2D40[]; -extern const u8 gText_Ellipsis[]; -extern const struct MenuAction gUnknown_082F2DC8[]; extern const u16 gUnknown_082F2C20[]; extern const u16 gUnknown_082F2C40[]; -extern const struct CompressedSpriteSheet gUnknown_082F3134[]; extern const struct SpritePalette gUnknown_082F315C; extern const struct SpriteTemplate gUnknown_082F319C; extern const u16 gUnknown_082F2DF0[]; @@ -214,6 +225,199 @@ extern const struct SpriteTemplate gUnknown_082F31D4; extern const struct SpriteTemplate gUnknown_082F322C; extern const struct SpriteTemplate gUnknown_082F3244; +void (*const gUnknown_082F2A7C[])(void) = + { + sub_801DFAC, + sub_801E030, + sub_801E120, + sub_801E240, + sub_801E764, + sub_801E838, + sub_801E460, + sub_801E5C4, + sub_801E668, + sub_801E978, + }; + +static const u8 sUnknown_082F2AA4[] = {9, 9, 9, 9}; + +static const u8 gUnknown_082F2AA8[] = { + CHAR_SPACE, 0x16, 0x17, 0x68, 0x19, 0x1A, 0x1B, 0x1C, + 0x1D, 0x1E, CHAR_SPACE, 0x20, 0x21, 0x22, 0x23, 0x24, + 0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02, + CHAR_SPACE, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, CHAR_SPACE, + 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, + 0x13, 0x14, 0x2A, 0x2B, 0x2C, 0x2D, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x35, 0x36, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x53, 0x54, 0x55, 0x56, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, 0x6F, 0x5B, 0x5C, 0x5D, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + 0x03, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x5A, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x84, 0x85, 0x86, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, + 0xA0, CHAR_0, CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, + CHAR_7, CHAR_8, CHAR_9, CHAR_EXCL_MARK, CHAR_QUESTION_MARK, CHAR_PERIOD, CHAR_HYPHEN, 0xAF, + CHAR_ELLIPSIS, CHAR_DBL_QUOT_LEFT, CHAR_DBL_QUOT_RIGHT, CHAR_SGL_QUOT_LEFT, CHAR_SGL_QUOT_RIGHT, CHAR_MALE, CHAR_FEMALE, CHAR_CURRENCY, + CHAR_COMMA, CHAR_MULT_SIGN, CHAR_SLASH, CHAR_a, CHAR_b, CHAR_c, CHAR_d, CHAR_e, + CHAR_f, CHAR_g, CHAR_h, CHAR_i, CHAR_j, CHAR_k, CHAR_l, CHAR_m, + CHAR_n, CHAR_o, CHAR_p, CHAR_q, CHAR_r, CHAR_s, CHAR_t, CHAR_u, + CHAR_v, CHAR_w, CHAR_x, CHAR_y, CHAR_z, CHAR_A, CHAR_B, CHAR_C, + CHAR_D, CHAR_E, CHAR_F, CHAR_G, CHAR_H, CHAR_I, CHAR_J, CHAR_K, + CHAR_L, CHAR_M, CHAR_N, CHAR_O, CHAR_P, CHAR_Q, CHAR_R, CHAR_S, + CHAR_T, CHAR_U, CHAR_V, CHAR_W, CHAR_X, CHAR_Y, CHAR_Z, 0xEF, + CHAR_COLON, 0xF4, 0xF5, 0xF6, 0xF1, 0xF2, 0xF3, CHAR_SPACE, + CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE +}; + +const u8 *const gUnknown_082F2BA8[][10] = { + {gUnknown_0862B9F9, gUnknown_0862B9FF, gUnknown_0862BA05, gUnknown_0862BA0B, gUnknown_0862BA11, gUnknown_0862BA17, gUnknown_0862BA1D, gUnknown_0862BA23, gUnknown_0862BA29, gUnknown_0862BA2F}, + {gUnknown_0862BA35, gUnknown_0862BA3B, gUnknown_0862BA41, gUnknown_0862BA47, gUnknown_0862BA4D, gUnknown_0862BA53, gUnknown_0862BA59, gUnknown_0862BA5F, gUnknown_0862BA65, gUnknown_0862BA6B}, + {gUnknown_0862BA79, gUnknown_0862BA84, gUnknown_0862BA8F, gUnknown_0862BA9A, gUnknown_0862BAA3, gUnknown_0862BAAE, gUnknown_0862BAB9, gUnknown_0862BAC4, gUnknown_0862BACF, gUnknown_0862BADA} +}; + +const u16 gUnknown_082F2C20[] = INCBIN_U16("graphics/interface/unk_palette1.gbapal"); +const u16 gUnknown_082F2C40[] = INCBIN_U16("graphics/interface/unk_palette2.gbapal"); + +const struct BgTemplate gUnknown_082F2C60[] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, { + .bg = 1, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 23, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, { + .bg = 3, + .charBaseIndex = 1, + .mapBaseIndex = 15, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 1 + } +}; + +const struct WindowTemplate gUnknown_082F2C70[] = { + { + .bg = 0x03, + .tilemapLeft = 0x08, + .tilemapTop = 0x01, + .width = 0x15, + .height = 0x13, + .paletteNum = 0x0f, + .baseBlock = 0x0001, + }, { + .bg = 0x01, + .tilemapLeft = 0x09, + .tilemapTop = 0x12, + .width = 0x0f, + .height = 0x02, + .paletteNum = 0x0c, + .baseBlock = 0x007a, + }, { + .bg = 0x01, + .tilemapLeft = 0x00, + .tilemapTop = 0x02, + .width = 0x06, + .height = 0x0f, + .paletteNum = 0x07, + .baseBlock = 0x0020, + }, { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x02, + .width = 0x07, + .height = 0x09, + .paletteNum = 0x0e, + .baseBlock = 0x0013, + }, { 0xFF } +}; + +const struct Unk82F2C98 gUnknown_082F2C98[] = { + {0x00000000, sub_801F658}, + {0x00000003, sub_801F6F8}, + {0x00000004, sub_801F730}, + {0x00000005, sub_801F768}, + {0x00000001, sub_801F7D4}, + {0x00000006, sub_801F7E0}, + {0x00000007, sub_801F82C}, + {0x00000008, sub_801F870}, + {0x00000009, sub_801F8DC}, + {0x0000000a, sub_801F984}, + {0x0000000b, sub_801FA2C}, + {0x0000000c, sub_801FA68}, + {0x00000002, sub_801FB44}, + {0x0000000d, sub_801FB70}, + {0x00000012, sub_801FBB4}, + {0x00000013, sub_801FBF8}, + {0x0000000e, sub_801FC4C}, + {0x0000000f, sub_801FC9C}, + {0x00000010, sub_801FCEC}, + {0x00000011, sub_801FD30}, + {0x00000014, sub_801FD88} +}; + +const struct Unk82F2D40 gUnknown_082F2D40[] = { + {gText_QuitChatting, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, + {gText_RegisterTextWhere, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, + {gText_RegisterTextHere, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, + {gText_InputText, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, + {gText_ExitingChat, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, + {gText_LeaderLeftEndingChat, 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00}, + {gText_RegisteredTextChanged, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}, + {gText_AlreadySavedFile_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}, + {gText_SavingDontTurnOff_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}, + {gText_PlayerSavedGame_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01}, + {gText_IfLeaderLeavesChatEnds, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01} +}; + +const u8 gText_Ellipsis[] = _("…"); + +const struct MenuAction gUnknown_082F2DC8[] = { + {gText_Upper, NULL}, + {gText_Lower, NULL}, + {gText_Symbols, NULL}, + {gText_Register2, NULL}, + {gText_Exit2, NULL}, +}; + +const u16 gUnknown_082F2DF0[] = INCBIN_U16("graphics/interface/unk_palette3.gbapal"); +const u32 gUnknown_082F2E10[] = INCBIN_U32("graphics/interface/unk_cursor.4bpp.lz"); +const u32 gUnknown_082F3094[] = INCBIN_U32("graphics/interface/unk_dash.4bpp.lz"); +const u32 gUnknown_082F30B4[] = INCBIN_U32("graphics/interface/unk_cursor_arrow.4bpp.lz"); +const u32 gUnknown_082F30E0[] = INCBIN_U32("graphics/interface/unk_rbutton.4bpp.lz"); + +const struct CompressedSpriteSheet gUnknown_082F3134[] = { + {gUnknown_082F2E10, 0x1000, 0x0000}, + {gUnknown_082F30B4, 0x0040, 0x0001}, + {gUnknown_082F3094, 0x0040, 0x0002}, + {gUnknown_082F30E0, 0x0080, 0x0003}, + {gUnknown_08DD4CF8, 0x0400, 0x0004} +}; void sub_801DD98(void) { @@ -305,20 +509,6 @@ static void sub_801DF38(void) UpdatePaletteFade(); } -void (*const gUnknown_082F2A7C[])(void) = -{ - sub_801DFAC, - sub_801E030, - sub_801E120, - sub_801E240, - sub_801E764, - sub_801E838, - sub_801E460, - sub_801E5C4, - sub_801E668, - sub_801E978, -}; - static void sub_801DF54(u8 taskId) { switch (gUnknown_02022C84->unk17) @@ -939,8 +1129,6 @@ static void sub_801EBD4(u16 arg0) gUnknown_02022C84->unk6 = 0; } -static const u8 sUnknown_082F2AA4[] = {9, 9, 9, 9}; - static bool32 sub_801EBE4(void) { if (!(gMain.newAndRepeatedKeys & DPAD_UP)) From 53efbe2832f5e7a6973c3c5a6a6d7240ea5ecbdd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Apr 2019 08:49:01 -0400 Subject: [PATCH 46/84] Finish decomp of union_room_chat --- data/union_room_chat.s | 90 --------------------------- include/global.h | 13 ++-- ld_script.txt | 1 - src/union_room_chat.c | 138 ++++++++++++++++++++++++++++++++++++++++- 4 files changed, 142 insertions(+), 100 deletions(-) delete mode 100755 data/union_room_chat.s diff --git a/data/union_room_chat.s b/data/union_room_chat.s deleted file mode 100755 index 4f6b976b5a..0000000000 --- a/data/union_room_chat.s +++ /dev/null @@ -1,90 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_082F315C:: @ 82F315C struct SpritePalette - .4byte gUnknown_082F2DF0 - .2byte 0x0000 - - .align 2 -gUnknown_082F3164:: @ 82F3164 - .2byte 0x4000, 0xc000, 0x0400, 0x0000 - - .align 2 -gUnknown_082F316C:: @ 82F316C - .2byte 0x0000, 0x001e, 0xffff, 0x0000 - - .align 2 -gUnknown_082F3174:: @ 82F3174 - .2byte 0x0020, 0x001e, 0xffff, 0x0000 - - .align 2 -gUnknown_082F317C:: @ 82F317C - .2byte 0x0040, 0x001e, 0xffff, 0x0000 - - .align 2 -gUnknown_082F3184:: @ 82F3184 - .2byte 0x0060, 0x001e, 0xffff, 0x0000 - -gUnknown_082F318C:: @ 82F318C - .4byte gUnknown_082F316C - .4byte gUnknown_082F3174 - .4byte gUnknown_082F317C - .4byte gUnknown_082F3184 - - .align 2 -gUnknown_082F319C:: @ 82F319C - spr_template 0x0000, 0x0000, gUnknown_082F3164, gUnknown_082F318C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_082F31B4:: @ 82F31B4 - .byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - - .align 2 -gUnknown_082F31BC:: @ 82F31BC - spr_template 0x0002, 0x0000, gUnknown_082F31B4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8020ABC - - .align 2 -gUnknown_082F31D4:: @ 82F31D4 - spr_template 0x0001, 0x0000, gUnknown_082F31B4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8020AF4 - - .align 2 -gUnknown_082F31EC:: @ 82F31EC - .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00 - - .align 2 -gUnknown_082F31F4:: @ 82F31F4 - .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00 - - .align 2 -gUnknown_082F31FC:: @ 82F31FC - .2byte 0x0000, 0x0002, 0xffff, 0x0000 - - .align 2 -gUnknown_082F3204:: @ 82F3204 - .2byte 0x0008, 0x0002, 0xffff, 0x0000 - - .align 2 -gUnknown_082F320C:: @ 82F320C - .2byte 0x0010, 0x0002, 0xffff, 0x0000 - - .align 2 -gUnknown_082F3214:: @ 82F3214 - .2byte 0x0018, 0x0002, 0xffff, 0x0000 - - .align 2 -gUnknown_082F321C:: @ 82F321C - .4byte gUnknown_082F31FC - .4byte gUnknown_082F3204 - .4byte gUnknown_082F320C - .4byte gUnknown_082F3214 - - .align 2 -gUnknown_082F322C:: @ 82F322C - spr_template 0x0003, 0x0000, gUnknown_082F31EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_082F3244:: @ 82F3244 - spr_template 0x0004, 0x0000, gUnknown_082F31F4, gUnknown_082F321C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/include/global.h b/include/global.h index 864a7fa556..7b570d72e2 100644 --- a/include/global.h +++ b/include/global.h @@ -18,13 +18,12 @@ #if defined (__APPLE__) || defined (__CYGWIN__) || defined (_MSC_VER) #define _(x) x #define __(x) x -// CLion is an idiot -#define INCBIN_U8(x) {0} -#define INCBIN_U16(x) {0} -#define INCBIN_U32(x) {0} -#define INCBIN_S8(x) {0} -#define INCBIN_S16(x) {0} -#define INCBIN_S32(x) {0} +#define INCBIN_U8 {0} +#define INCBIN_U16 {0} +#define INCBIN_U32 {0} +#define INCBIN_S8 {0} +#define INCBIN_S16 {0} +#define INCBIN_S32 {0} #endif // IDE support #define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0])) diff --git a/ld_script.txt b/ld_script.txt index a7f9948b8b..f38378a90f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -419,7 +419,6 @@ SECTIONS { src/mevent_client.o(.rodata); src/mevent_scripts.o(.rodata); src/union_room_chat.o(.rodata); - data/union_room_chat.o(.rodata); data/berry_crush.o(.rodata); data/berry_powder.o(.rodata); data/dodrio_berry_picking.o(.rodata); diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 1528cdd5f4..ffe30d8631 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -211,6 +211,8 @@ static bool32 sub_801FC9C(u8 *state); static bool32 sub_801FCEC(u8 *state); static bool32 sub_801FD30(u8 *state); static bool32 sub_801FD88(u8 *state); +static void sub_8020ABC(struct Sprite *sprite); +static void sub_8020AF4(struct Sprite *sprite); extern struct UnionRoomChat *gUnknown_02022C84; extern struct UnionRoomChat2 *gUnknown_02022C88; @@ -419,6 +421,138 @@ const struct CompressedSpriteSheet gUnknown_082F3134[] = { {gUnknown_08DD4CF8, 0x0400, 0x0004} }; +const struct SpritePalette gUnknown_082F315C = { + gUnknown_082F2DF0, 0x0000 +}; + +const struct OamData gUnknown_082F3164 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1 +}; + +const union AnimCmd gUnknown_082F316C[] = { + ANIMCMD_FRAME(0x00, 30), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_082F3174[] = { + ANIMCMD_FRAME(0x20, 30), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_082F317C[] = { + ANIMCMD_FRAME(0x40, 30), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_082F3184[] = { + ANIMCMD_FRAME(0x60, 30), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_082F318C[] = { + gUnknown_082F316C, + gUnknown_082F3174, + gUnknown_082F317C, + gUnknown_082F3184 +}; + +const struct SpriteTemplate gUnknown_082F319C = { + .tileTag = 0x0000, + .paletteTag = 0x0000, + .oam = &gUnknown_082F3164, + .anims = gUnknown_082F318C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const struct OamData gUnknown_082F31B4 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 0, + .priority = 2 +}; + +const struct SpriteTemplate gUnknown_082F31BC = { + .tileTag = 0x0002, + .paletteTag = 0x0000, + .oam = &gUnknown_082F31B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8020ABC +}; + +const struct SpriteTemplate gUnknown_082F31D4 = { + .tileTag = 0x0001, + .paletteTag = 0x0000, + .oam = &gUnknown_082F31B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8020AF4 +}; + +const struct OamData gUnknown_082F31EC = { + .shape = ST_OAM_SQUARE, + .size = 1, + .priority = 2 +}; + +const struct OamData gUnknown_082F31F4 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 2 +}; + +const union AnimCmd gUnknown_082F31FC[] = { + ANIMCMD_FRAME(0x00, 2), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_082F3204[] = { + ANIMCMD_FRAME(0x08, 2), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_082F320C[] = { + ANIMCMD_FRAME(0x10, 2), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_082F3214[] = { + ANIMCMD_FRAME(0x18, 2), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_082F321C[] = { + gUnknown_082F31FC, + gUnknown_082F3204, + gUnknown_082F320C, + gUnknown_082F3214 +}; + +const struct SpriteTemplate gUnknown_082F322C = { + .tileTag = 0x0003, + .paletteTag = 0x0000, + .oam = &gUnknown_082F31EC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const struct SpriteTemplate gUnknown_082F3244 = { + .tileTag = 0x0004, + .paletteTag = 0x0000, + .oam = &gUnknown_082F31F4, + .anims = gUnknown_082F321C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + void sub_801DD98(void) { gUnknown_02022C84 = Alloc(sizeof(*gUnknown_02022C84)); @@ -2754,7 +2888,7 @@ static void sub_8020A68(void) gUnknown_02022C8C->unk4 = &gSprites[spriteId]; } -void sub_8020ABC(struct Sprite *sprite) +static void sub_8020ABC(struct Sprite *sprite) { int var0 = sub_801F198(); if (var0 == 15) @@ -2768,7 +2902,7 @@ void sub_8020ABC(struct Sprite *sprite) } } -void sub_8020AF4(struct Sprite *sprite) +static void sub_8020AF4(struct Sprite *sprite) { if (++sprite->data[0] > 4) { From cb04af05dc473f15eb97ae181dcba624efa2b8d1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Apr 2019 09:23:13 -0400 Subject: [PATCH 47/84] Resolve unnecessarily externed symbols --- src/union_room_chat.c | 15 +++------------ sym_ewram.txt | 12 ++---------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/src/union_room_chat.c b/src/union_room_chat.c index ffe30d8631..84a0406bee 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -214,18 +214,9 @@ static bool32 sub_801FD88(u8 *state); static void sub_8020ABC(struct Sprite *sprite); static void sub_8020AF4(struct Sprite *sprite); -extern struct UnionRoomChat *gUnknown_02022C84; -extern struct UnionRoomChat2 *gUnknown_02022C88; -extern struct UnionRoomChat3 *gUnknown_02022C8C; -extern const u16 gUnknown_082F2C20[]; -extern const u16 gUnknown_082F2C40[]; -extern const struct SpritePalette gUnknown_082F315C; -extern const struct SpriteTemplate gUnknown_082F319C; -extern const u16 gUnknown_082F2DF0[]; -extern const struct SpriteTemplate gUnknown_082F31BC; -extern const struct SpriteTemplate gUnknown_082F31D4; -extern const struct SpriteTemplate gUnknown_082F322C; -extern const struct SpriteTemplate gUnknown_082F3244; +EWRAM_DATA struct UnionRoomChat *gUnknown_02022C84 = NULL; +EWRAM_DATA struct UnionRoomChat2 *gUnknown_02022C88 = NULL; +EWRAM_DATA struct UnionRoomChat3 *gUnknown_02022C8C = NULL; void (*const gUnknown_082F2A7C[])(void) = { diff --git a/sym_ewram.txt b/sym_ewram.txt index ff27b4cfb9..141d428754 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -14,18 +14,10 @@ .include "src/mevent_801BAAC.o" .include "src/mevent_server.o" .include "src/mevent_client.o" + .include "src/union_room_chat.o" - @ union_room_chat + @ berry_crush .align 2 -gUnknown_02022C84: @ 2022C84 - .space 0x4 - -gUnknown_02022C88: @ 2022C88 - .space 0x4 - -gUnknown_02022C8C: @ 2022C8C - .space 0x4 - gUnknown_02022C90: @ 2022C90 .space 0x4 From 09874870ef552b6026f7ddfadb3f2dd6456888b8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Apr 2019 09:43:28 -0400 Subject: [PATCH 48/84] Mark file boundaries on remaining syms declared in sym_ewram.txt --- sym_ewram.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sym_ewram.txt b/sym_ewram.txt index 141d428754..bc3f1e8d7d 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -24,6 +24,7 @@ gUnknown_02022C90: @ 2022C90 .include "src/berry_powder.o" .align 2 + @ dodrio_berry_picking gUnknown_02022C98: @ 2022C98 .space 0x4 @@ -45,6 +46,7 @@ gUnknown_02022CF4: @ 2022CF4 gUnknown_02022CF8: @ 2022CF8 .space 0x4 + @ pokemon_jump gUnknown_02022CFC: @ 2022CFC .space 0x4 @@ -172,6 +174,7 @@ gUnknown_02022D00: @ 2022D00 .include "src/unk_pokedex_area_screen_helper.o" .include "src/battle_pyramid_bag.o" + @ pokenav gUnknown_0203CF3C: @ 203CF3C .space 0x4 From b3a4509b9a884fa5ac9619e425de498f961fe9e6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Apr 2019 09:54:43 -0400 Subject: [PATCH 49/84] Move m4a BSS syms to m4a_1.s --- asm/m4a_1.s | 25 +++++++++++++++++++++++++ sym_bss.txt | 19 +++---------------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/asm/m4a_1.s b/asm/m4a_1.s index 361f66c1ab..cab4ed1748 100644 --- a/asm/m4a_1.s +++ b/asm/m4a_1.s @@ -1907,3 +1907,28 @@ _081DDD90: thumb_func_end ply_mod .align 2, 0 @ Don't pad with nop. + + .bss +gUnknown_03001300: + .space 0x40 + .size gUnknown_03001300, .-gUnknown_03001300 + + .global gMPlayTrack_BGM +gMPlayTrack_BGM: + .space 0x320 + .size gMPlayTrack_BGM, .-gMPlayTrack_BGM + + .global gMPlayTrack_SE1 +gMPlayTrack_SE1: + .space 0xF0 + .size gMPlayTrack_SE1, .-gMPlayTrack_SE1 + + .global gMPlayTrack_SE2 +gMPlayTrack_SE2: + .space 0x2D0 + .size gMPlayTrack_SE2, .-gMPlayTrack_SE2 + + .global gMPlayTrack_SE3 +gMPlayTrack_SE3: + .space 0x50 + .size gMPlayTrack_SE3, .-gMPlayTrack_SE3 diff --git a/sym_bss.txt b/sym_bss.txt index 58b1312dc7..7cce134490 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -47,6 +47,7 @@ .include "src/mirage_tower.o" .include "src/berry_fix_program.o" + @ pokenav gUnknown_030012BC: @ 30012BC .space 0x4 @@ -56,6 +57,7 @@ gUnknown_030012C0: @ 30012C0 gUnknown_030012C4: @ 30012C4 .space 0x4 + @ ereader_helpers gUnknown_030012C8: @ 30012C8 .space 0x18 @@ -90,22 +92,7 @@ gUnknown_030012F4: @ 30012F4 .space 0x4 .include "src/faraway_island.o" - -gUnknown_03001300: @ 3001300 - .space 0x40 - -gMPlayTrack_BGM: @ 3001340 - .space 0x320 - -gMPlayTrack_SE1: @ 3001660 - .space 0xF0 - -gMPlayTrack_SE2: @ 3001750 - .space 0x2D0 - -gMPlayTrack_SE3: @ 3001A20 - .space 0x50 - + .include "asm/m4a_1.o" .include "src/agb_flash.o" .include "src/siirtc.o" .include "*libgcc.a:dp-bit.o" From c46f271f676812b7292560f36f890010c71ef5d1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Apr 2019 11:55:18 -0400 Subject: [PATCH 50/84] Documentation of ereader_helpers, 1 --- data/ereader_helpers.s | 87 +++++++++++++++++++++------------------ include/ereader_helpers.h | 38 +++++++++++++++-- include/save.h | 5 ++- src/ereader_helpers.c | 69 +++++++++++++++---------------- src/ereader_screen.c | 4 +- src/recorded_battle.c | 4 +- src/save.c | 10 ++--- src/trainer_hill.c | 2 +- sym_bss.txt | 35 +--------------- 9 files changed, 128 insertions(+), 126 deletions(-) diff --git a/data/ereader_helpers.s b/data/ereader_helpers.s index 0ddddbc08a..246fe749b4 100644 --- a/data/ereader_helpers.s +++ b/data/ereader_helpers.s @@ -5,44 +5,49 @@ gUnknown_08625B6C:: @ 8625B6C @ apparently e-reader trainer data? idk -.byte 0x6f, 0x57, 0x54, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x14, 0x0c, 0x0e, 0x23, 0x10, 0x47, 0x0a, 0x1f, 0x06, 0x24, 0x0e, 0x48, 0x0a, 0x0f, 0x06 -.byte 0x22, 0x27, 0x2c, 0x16, 0x07, 0x06, 0x01, 0x0c, 0x47, 0x0a, 0x06, 0x06, 0x24, 0x0e, 0x00, 0x1e, 0x19, 0x12, 0x05, 0x0c, 0x25, 0x16, 0x25, 0x10, 0x0d, 0x1c, 0x2a, 0x1c, 0x06, 0x0a, 0x06, 0x0c -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff -.byte 0xff, 0xff, 0xff, 0x00, 0x70, 0x01, 0xdb, 0x00, 0xbc, 0x00, 0xf7, 0x00, 0xdc, 0x00, 0x19, 0x01, 0x00, 0x00, 0x37, 0xff, 0x64, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a -.byte 0x80, 0x00, 0x00, 0x00, 0x6f, 0x79, 0x69, 0xae, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x26, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0xbc, 0x00, 0xf7, 0x00, 0xca, 0x00, 0x00, 0x00, 0x00, 0xff -.byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x95, 0x58, 0x59, 0x52, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0x01, 0xb7, 0x00 -.byte 0xf6, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x9b, 0xff, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x2f, 0x00, 0x00, 0x00, 0x8d, 0xae, 0x77, 0x7e -.byte 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6a, 0x79, 0x6b, 0x64, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00, 0x00, 0x54, 0x27, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a -.byte 0x20, 0x06, 0x00, 0x0c, 0x13, 0x24, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x05, 0x12, 0x00, 0x0c, 0x6b, 0x26, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x0e, 0x12, 0x00, 0x0c, 0x2c, 0x24, 0x2b, 0x0e -.byte 0xff, 0xff, 0x3b, 0x0a, 0x17, 0x12, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x59, 0x01, 0xb7, 0x00, 0xca, 0x00, 0xb9, 0x00, 0x09, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x37, 0x00, 0x64, 0x00, 0xff, 0x64 -.byte 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x8c, 0x00, 0x00, 0x00, 0x69, 0x58, 0x60, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x01, 0xb3, 0x00, 0x07, 0x01, 0x4c, 0x01 -.byte 0x62, 0x00, 0x68, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x80, 0x00, 0x00, 0x00, 0x55, 0x55, 0x5d, 0x96, 0x72, 0xff, 0xff, 0xff -.byte 0xff, 0xff, 0xff, 0xff, 0x44, 0x01, 0x86, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a -.byte 0x00, 0x00, 0x00, 0x00, 0x65, 0x6f, 0x8e, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x52, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x27, 0x01, 0x00, 0x00, 0x00 -.byte 0x4a, 0x04, 0x0e, 0x02, 0x35, 0x16, 0x10, 0x10, 0xda, 0x26, 0x3e, 0x10, 0x4a, 0x04, 0x0e, 0x02, 0x47, 0x0a, 0xd9, 0x26, 0x21, 0x16, 0x3e, 0x10, 0x14, 0x1e, 0x07, 0x1e, 0x30, 0x06, 0x23, 0x16 -.byte 0x24, 0x0e, 0x06, 0x0c, 0x18, 0x14, 0x2f, 0x14, 0x1a, 0x08, 0x27, 0x1c, 0x00, 0x0c, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff -.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3c, 0x01, 0x8d, 0x00, 0x2f, 0x00, 0x22, 0x00, 0xf7, 0x00, 0xe7, 0x00 -.byte 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x03, 0x00, 0x00, 0x00, 0x54, 0x68, 0x5a, 0x7b, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff -.byte 0x6b, 0x01, 0xc8, 0x00, 0xca, 0x00, 0x40, 0x01, 0x5c, 0x00, 0x49, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x06, 0x00, 0x00, 0x00 -.byte 0x7b, 0x8f, 0x78, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x24, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0x4c, 0x01, 0xd5, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x64, 0xc8, 0x00, 0x00, 0xc8, 0x00 -.byte 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x51, 0x8a, 0x6a, 0x7e, 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9c, 0x54, 0xae, 0x79, 0xff, 0xff, 0xff, 0xff -.byte 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x0a, 0x0a, 0x23, 0x10, 0x00, 0x0c, 0x28, 0x0c, 0x14, 0x18, 0x32, 0x14, 0x02, 0x16, 0x05, 0x10, 0xff, 0xff -.byte 0x0c, 0x1e, 0x0a, 0x0a, 0x34, 0x12, 0x11, 0x1e, 0x1a, 0x08, 0x05, 0x0c, 0x1e, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x22, 0x0a, 0x15, 0x10, 0x01, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff -.byte 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x63, 0x01, 0xb3, 0x00 -.byte 0xf2, 0x00, 0x35, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0xff, 0x9b, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x58, 0x61, 0xae, 0x64 -.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4b, 0x01, 0xc6, 0x00, 0x39, 0x00, 0xf2, 0x00, 0x26, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10 -.byte 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x5b, 0x72, 0x6a, 0x91, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0x01, 0x8d, 0x00, 0x5e, 0x00, 0xf7, 0x00, 0x55, 0x00, 0x05, 0x01 -.byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x8d, 0x85, 0x9e, 0xa0, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + .byte 0x6f, 0x57, 0x54, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x14, 0x0c, 0x0e, 0x23, 0x10, 0x47, 0x0a, 0x1f, 0x06, 0x24, 0x0e, 0x48, 0x0a, 0x0f, 0x06 + .byte 0x22, 0x27, 0x2c, 0x16, 0x07, 0x06, 0x01, 0x0c, 0x47, 0x0a, 0x06, 0x06, 0x24, 0x0e, 0x00, 0x1e, 0x19, 0x12, 0x05, 0x0c, 0x25, 0x16, 0x25, 0x10, 0x0d, 0x1c, 0x2a, 0x1c, 0x06, 0x0a, 0x06, 0x0c + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + .byte 0xff, 0xff, 0xff, 0x00, 0x70, 0x01, 0xdb, 0x00, 0xbc, 0x00, 0xf7, 0x00, 0xdc, 0x00, 0x19, 0x01, 0x00, 0x00, 0x37, 0xff, 0x64, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a + .byte 0x80, 0x00, 0x00, 0x00, 0x6f, 0x79, 0x69, 0xae, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x26, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0xbc, 0x00, 0xf7, 0x00, 0xca, 0x00, 0x00, 0x00, 0x00, 0xff + .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x95, 0x58, 0x59, 0x52, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0x01, 0xb7, 0x00 + .byte 0xf6, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x9b, 0xff, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x2f, 0x00, 0x00, 0x00, 0x8d, 0xae, 0x77, 0x7e + .byte 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + + + .byte 0x6a, 0x79, 0x6b, 0x64, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00, 0x00, 0x54, 0x27, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x20, 0x06, 0x00, 0x0c, 0x13, 0x24, 0x2b, 0x0e + .byte 0xff, 0xff, 0x3b, 0x0a, 0x05, 0x12, 0x00, 0x0c, 0x6b, 0x26, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x0e, 0x12, 0x00, 0x0c, 0x2c, 0x24, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x17, 0x12, 0x00, 0x0c + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + .byte 0xff, 0xff, 0xff, 0x00, 0x59, 0x01, 0xb7, 0x00, 0xca, 0x00, 0xb9, 0x00, 0x09, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x37, 0x00, 0x64, 0x00, 0xff, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a + .byte 0x8c, 0x00, 0x00, 0x00, 0x69, 0x58, 0x60, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x01, 0xb3, 0x00, 0x07, 0x01, 0x4c, 0x01, 0x62, 0x00, 0x68, 0x00, 0x00, 0x00, 0xff, 0xff + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x80, 0x00, 0x00, 0x00, 0x55, 0x55, 0x5d, 0x96, 0x72, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x44, 0x01, 0x86, 0x00 + .byte 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x65, 0x6f, 0x8e, 0x7e + .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + .byte 0x72, 0x52, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x27, 0x01, 0x00, 0x00, 0x00, 0x4a, 0x04, 0x0e, 0x02, 0x35, 0x16, 0x10, 0x10, 0xda, 0x26, 0x3e, 0x10, 0x4a, 0x04, 0x0e, 0x02 + .byte 0x47, 0x0a, 0xd9, 0x26, 0x21, 0x16, 0x3e, 0x10, 0x14, 0x1e, 0x07, 0x1e, 0x30, 0x06, 0x23, 0x16, 0x24, 0x0e, 0x06, 0x0c, 0x18, 0x14, 0x2f, 0x14, 0x1a, 0x08, 0x27, 0x1c, 0x00, 0x0c, 0xff, 0xff + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + .byte 0xff, 0xff, 0xff, 0x00, 0x3c, 0x01, 0x8d, 0x00, 0x2f, 0x00, 0x22, 0x00, 0xf7, 0x00, 0xe7, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a + .byte 0x03, 0x00, 0x00, 0x00, 0x54, 0x68, 0x5a, 0x7b, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6b, 0x01, 0xc8, 0x00, 0xca, 0x00, 0x40, 0x01, 0x5c, 0x00, 0x49, 0x00, 0x00, 0x00, 0xff, 0x00 + .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x06, 0x00, 0x00, 0x00, 0x7b, 0x8f, 0x78, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x24, 0x01, 0xb3, 0x00 + .byte 0x3e, 0x01, 0x4c, 0x01, 0xd5, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x64, 0xc8, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x51, 0x8a, 0x6a, 0x7e + .byte 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + .byte 0x9c, 0x54, 0xae, 0x79, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x0a, 0x0a, 0x23, 0x10, 0x00, 0x0c, 0x28, 0x0c, 0x14, 0x18 + .byte 0x32, 0x14, 0x02, 0x16, 0x05, 0x10, 0xff, 0xff, 0x0c, 0x1e, 0x0a, 0x0a, 0x34, 0x12, 0x11, 0x1e, 0x1a, 0x08, 0x05, 0x0c, 0x1e, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x22, 0x0a, 0x15, 0x10, 0x01, 0x0c + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + .byte 0xff, 0xff, 0xff, 0x00, 0x63, 0x01, 0xb3, 0x00, 0xf2, 0x00, 0x35, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0xff, 0x9b, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a + .byte 0x00, 0x00, 0x00, 0x00, 0x58, 0x61, 0xae, 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4b, 0x01, 0xc6, 0x00, 0x39, 0x00, 0xf2, 0x00, 0x26, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00 + .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x5b, 0x72, 0x6a, 0x91, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0x01, 0x8d, 0x00 + .byte 0x5e, 0x00, 0xf7, 0x00, 0x55, 0x00, 0x05, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x8d, 0x85, 0x9e, 0xa0 + .byte 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h index 54b36ef0f3..95079ff503 100755 --- a/include/ereader_helpers.h +++ b/include/ereader_helpers.h @@ -3,13 +3,43 @@ struct Unk81D38FC { - u8 unk0[0x270]; + u8 unk0[12]; + u8 unkC[0x148]; + u8 unk154[0x11C]; int checksum; }; -bool8 sub_81D3920(u8 *buffer); -bool32 sub_81D3AB0(struct Unk81D38FC *arg0); -bool32 sub_81D3B34(void); +struct EReaderTrainerHillSet +{ + u8 unk_0; + u8 unk_1; + u8 unk_2; + u8 unk_3; + int checksum; + struct Unk81D38FC unk_8[6]; + u8 unk_ec0[40]; +}; + +struct Unk81D3998Sub +{ + u8 unk_000[4]; + u8 unk_004[0x148]; + u8 unk_14C[0x148]; + u8 unk_294[0x124]; +}; + +struct Unk81D3998 +{ + u8 unk_000; + u8 unk_001; + u8 unk_002; + int checksum; + struct Unk81D3998Sub unk_008[4]; +}; + +bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer); +bool32 TryWriteTrainerHill(struct Unk81D38FC *arg0); +bool32 ReadTrainerHillAndValidate(void); int sub_81D3D70(u8, u32, u32*, u32*); void sub_81D3F9C(void); void sub_81D3FAC(void); diff --git a/include/save.h b/include/save.h index 88e5f22806..5e2cf72679 100644 --- a/include/save.h +++ b/include/save.h @@ -33,6 +33,7 @@ struct SaveSectionOffsets #define NUM_SECTORS_PER_SLOT 16 #define UNKNOWN_CHECK_VALUE 0x8012025 +#define SPECIAL_SECTION_SENTINEL 0xB39D // SetDamagedSectorBits states enum @@ -88,8 +89,8 @@ bool8 CheckSaveFile(void); u8 Save_LoadGameData(u8 a1); u16 sub_815355C(void); u8 sub_81534D0(u8); -u32 TryCopySpecialSaveSection(u8 sector, u8* dst); -u32 sub_8153634(u8 sector, u8* src); +u32 TryReadSpecialSaveSection(u8 sector, u8* dst); +u32 TryWriteSpecialSaveSection(u8 sector, u8* src); void sub_8153688(u8 taskId); // save_failed_screen.c diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index cdb829ac87..48c41301e1 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -26,17 +26,17 @@ static void sub_81D414C(void); static void sub_81D3F1C(u32, u32*, u32*); static void sub_81D3F68(void); -extern struct Unknown030012C8 gUnknown_030012C8; -extern u16 gUnknown_030012E0; -extern u16 gUnknown_030012E2; -extern u16 gUnknown_030012E4; -extern u16 gUnknown_030012E6; -extern u32 gUnknown_030012E8; -extern u16 gUnknown_030012EC; -extern u16 gUnknown_030012EE; -extern u16 gUnknown_030012F0; -extern u16 gUnknown_030012F2; -extern u16 gUnknown_030012F4; +IWRAM_DATA struct Unknown030012C8 gUnknown_030012C8; +IWRAM_DATA u16 gUnknown_030012E0; +IWRAM_DATA u16 gUnknown_030012E2; +IWRAM_DATA u16 gUnknown_030012E4; +IWRAM_DATA u16 gUnknown_030012E6; +IWRAM_DATA u32 gUnknown_030012E8; +IWRAM_DATA u16 gUnknown_030012EC; +IWRAM_DATA u16 gUnknown_030012EE; +IWRAM_DATA u16 gUnknown_030012F0; +IWRAM_DATA u16 gUnknown_030012F2; +IWRAM_DATA u16 gUnknown_030012F4; extern const u8 gUnknown_08625B6C[]; @@ -45,7 +45,7 @@ static u8 sub_81D38D4(void) return (gSaveBlock1Ptr->trainerHill.unused + 1) % 256; } -static bool32 sub_81D38FC(struct Unk81D38FC *arg0) +static bool32 Struct_Unk81D38FC_ValidateChecksum(struct Unk81D38FC *arg0) { int checksum = CalcByteArraySum(arg0->unk0, 0x270); if (checksum != arg0->checksum) @@ -54,43 +54,42 @@ static bool32 sub_81D38FC(struct Unk81D38FC *arg0) return TRUE; } -bool8 sub_81D3920(u8 *buffer) +bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer) { u32 i; u32 checksum; - int var0 = buffer[0]; + int var0 = buffer->unk_0; if (var0 < 1 || var0 > 8) return FALSE; for (i = 0; i < var0; i++) { - struct Unk81D38FC *var1 = (struct Unk81D38FC *)(&buffer[i * (sizeof(struct Unk81D38FC)) + 8]); - if (!sub_81D38FC(var1)) + if (!Struct_Unk81D38FC_ValidateChecksum(&buffer->unk_8[i])) return FALSE; } - checksum = CalcByteArraySum(buffer + 8, var0 * 0x274); - if (checksum != ((int *)buffer)[1]) + checksum = CalcByteArraySum((u8 *)buffer->unk_8, var0 * sizeof(struct Unk81D38FC)); + if (checksum != buffer->checksum) return FALSE; return TRUE; } -static bool32 sub_81D396C(u8 *buffer) +static bool32 TrainerHill_VerifyChecksum(struct EReaderTrainerHillSet *buffer) { u32 checksum; - int var0 = buffer[0]; + int var0 = buffer->unk_0; if (var0 < 1 || var0 > 8) return FALSE; - checksum = CalcByteArraySum(buffer + 8, 0xEE0); - if (checksum != ((int *)buffer)[1]) + checksum = CalcByteArraySum((u8 *)buffer->unk_8, sizeof(struct EReaderTrainerHillSet) - offsetof(struct EReaderTrainerHillSet, unk_8)); + if (checksum != buffer->checksum) return FALSE; return TRUE; } -static bool32 sub_81D3998(struct Unk81D38FC *arg0, u8 *buffer2) +static bool32 TryWriteTrainerHill_r(struct Unk81D38FC *arg0, u8 *buffer2) { int i; const u8 *ereaderVals; @@ -131,44 +130,44 @@ static bool32 sub_81D3998(struct Unk81D38FC *arg0, u8 *buffer2) } ((int *)buffer2)[1] = CalcByteArraySum(buffer2 + 8, 0xEE0); - if (sub_8153634(SECTOR_ID_TRAINER_HILL, buffer2) != 1) + if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != 1) return FALSE; return TRUE; } -bool32 sub_81D3AB0(struct Unk81D38FC *arg0) +bool32 TryWriteTrainerHill(struct Unk81D38FC *arg0) { u8 *var0 = AllocZeroed(0x1000); - bool32 result = sub_81D3998(arg0, var0); + bool32 result = TryWriteTrainerHill_r(arg0, var0); Free(var0); return result; } -static bool32 sub_81D3AD8(u8 *arg0, u8 *arg1) +static bool32 TryReadTrainerHill_r(struct EReaderTrainerHillSet *arg0, u8 *arg1) { - if (TryCopySpecialSaveSection(SECTOR_ID_TRAINER_HILL, arg1) != 1) + if (TryReadSpecialSaveSection(SECTOR_ID_TRAINER_HILL, arg1) != 1) return FALSE; - memcpy(arg0, arg1, 0xEE8); - if (!sub_81D396C(arg0)) + memcpy(arg0, arg1, sizeof(struct EReaderTrainerHillSet)); + if (!TrainerHill_VerifyChecksum(arg0)) return FALSE; return TRUE; } -static bool32 sub_81D3B0C(u8 *arg0) +static bool32 TryReadTrainerHill(struct EReaderTrainerHillSet *arg0) { u8 *var0 = AllocZeroed(0x1000); - bool32 result = sub_81D3AD8(arg0, var0); + bool32 result = TryReadTrainerHill_r(arg0, var0); Free(var0); return result; } -bool32 sub_81D3B34(void) +bool32 ReadTrainerHillAndValidate(void) { - u8 *var0 = AllocZeroed(0x1000); - bool32 result = sub_81D3B0C(var0); + struct EReaderTrainerHillSet *var0 = AllocZeroed(0x1000); + bool32 result = TryReadTrainerHill(var0); Free(var0); return result; } diff --git a/src/ereader_screen.c b/src/ereader_screen.c index bac29cd429..8dc2a539b2 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -402,7 +402,7 @@ static void sub_81D5084(u8 taskId) } break; case 15: - data->unkE = sub_81D3920(gDecompressionBuffer); + data->unkE = EReader_IsReceivedDataValid((struct EReaderTrainerHillSet *)gDecompressionBuffer); sub_800ABF4(data->unkE); data->unk8 = 16; break; @@ -416,7 +416,7 @@ static void sub_81D5084(u8 taskId) } break; case 17: - if (sub_81D3AB0((struct Unk81D38FC *)&gDecompressionBuffer)) + if (TryWriteTrainerHill((struct Unk81D38FC *)&gDecompressionBuffer)) { AddTextPrinterToWindow1(gUnknown_085EE0FA); sub_81D505C(&data->unk0); diff --git a/src/recorded_battle.c b/src/recorded_battle.c index acd4c2ce6e..9f2be36afe 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -322,7 +322,7 @@ static bool32 RecordedBattleToSave(struct RecordedBattleSave *battleSave, struct saveSection->checksum = CalcByteArraySum((void*)(saveSection), sizeof(*saveSection) - 4); - if (sub_8153634(31, (void*)(saveSection)) != 1) + if (TryWriteSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveSection)) != 1) return FALSE; else return TRUE; @@ -491,7 +491,7 @@ bool32 MoveRecordedBattleToSaveData(void) static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, struct SaveSection *saveBuffer) { - if (TryCopySpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1) + if (TryReadSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1) return FALSE; memcpy(dst, saveBuffer, sizeof(struct RecordedBattleSave)); diff --git a/src/save.c b/src/save.c index 361a88e1e7..45a75b5dcf 100644 --- a/src/save.c +++ b/src/save.c @@ -849,7 +849,7 @@ u16 sub_815355C(void) return 0; } -u32 TryCopySpecialSaveSection(u8 sector, u8* dst) +u32 TryReadSpecialSaveSection(u8 sector, u8* dst) { s32 i; s32 size; @@ -858,7 +858,7 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst) if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE) return 0xFF; ReadFlash(sector, 0, (u8 *)&gSaveDataBuffer, sizeof(struct SaveSection)); - if (*(u32*)(&gSaveDataBuffer.data[0]) != 0xB39D) + if (*(u32*)(&gSaveDataBuffer.data[0]) != SPECIAL_SECTION_SENTINEL) return 0xFF; // copies whole save section except u32 counter i = 0; @@ -869,18 +869,18 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst) return 1; } -u32 sub_8153634(u8 sector, u8* src) +u32 TryWriteSpecialSaveSection(u8 sector, u8* src) { s32 i; s32 size; u8* savData; void* savDataBuffer; - if (sector != 30 && sector != 31) + if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE) return 0xFF; savDataBuffer = &gSaveDataBuffer; - *(u32*)(savDataBuffer) = 0xB39D; + *(u32*)(savDataBuffer) = SPECIAL_SECTION_SENTINEL; // copies whole save section except u32 counter i = 0; diff --git a/src/trainer_hill.c b/src/trainer_hill.c index eafd1eb3d2..650a748cb9 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -428,7 +428,7 @@ void CopyTrainerHillTrainerText(u8 which, u16 trainerId) static void TrainerHillStartChallenge(void) { nullsub_2(); - if (!sub_81D3B34()) + if (!ReadTrainerHillAndValidate()) gSaveBlock1Ptr->trainerHill.field_3D6E_0f = 1; else gSaveBlock1Ptr->trainerHill.field_3D6E_0f = 0; diff --git a/sym_bss.txt b/sym_bss.txt index 7cce134490..4d21151efa 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -57,40 +57,7 @@ gUnknown_030012C0: @ 30012C0 gUnknown_030012C4: @ 30012C4 .space 0x4 - @ ereader_helpers -gUnknown_030012C8: @ 30012C8 - .space 0x18 - -gUnknown_030012E0: @ 30012E0 - .space 0x2 - -gUnknown_030012E2: @ 30012E2 - .space 0x2 - -gUnknown_030012E4: @ 30012E4 - .space 0x2 - -gUnknown_030012E6: @ 30012E6 - .space 0x2 - -gUnknown_030012E8: @ 30012E8 - .space 0x4 - -gUnknown_030012EC: @ 30012EC - .space 0x2 - -gUnknown_030012EE: @ 30012EE - .space 0x2 - -gUnknown_030012F0: @ 30012F0 - .space 0x2 - -gUnknown_030012F2: @ 30012F2 - .space 0x2 - -gUnknown_030012F4: @ 30012F4 - .space 0x4 - + .include "src/ereader_helpers.o" .include "src/faraway_island.o" .include "asm/m4a_1.o" .include "src/agb_flash.o" From 8db03ba6fab0d335d6141f1a9289122c1477a7b6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Apr 2019 13:44:43 -0400 Subject: [PATCH 51/84] Documentation of ereader helpers, 2 --- include/ereader_helpers.h | 9 ++++---- src/ereader_helpers.c | 45 ++++++++++++++++----------------------- src/ereader_screen.c | 2 +- 3 files changed, 24 insertions(+), 32 deletions(-) diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h index 95079ff503..bcbb68d4f7 100755 --- a/include/ereader_helpers.h +++ b/include/ereader_helpers.h @@ -3,9 +3,10 @@ struct Unk81D38FC { - u8 unk0[12]; - u8 unkC[0x148]; - u8 unk154[0x11C]; + u8 unk0; + u8 filler_1[3]; + u8 unk4[0x148]; + u8 unk14C[0x124]; int checksum; }; @@ -38,7 +39,7 @@ struct Unk81D3998 }; bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer); -bool32 TryWriteTrainerHill(struct Unk81D38FC *arg0); +bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0); bool32 ReadTrainerHillAndValidate(void); int sub_81D3D70(u8, u32, u32*, u32*); void sub_81D3F9C(void); diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index 48c41301e1..cd64afe0ec 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -38,7 +38,7 @@ IWRAM_DATA u16 gUnknown_030012F0; IWRAM_DATA u16 gUnknown_030012F2; IWRAM_DATA u16 gUnknown_030012F4; -extern const u8 gUnknown_08625B6C[]; +extern const u8 gUnknown_08625B6C[][0x148]; static u8 sub_81D38D4(void) { @@ -47,7 +47,7 @@ static u8 sub_81D38D4(void) static bool32 Struct_Unk81D38FC_ValidateChecksum(struct Unk81D38FC *arg0) { - int checksum = CalcByteArraySum(arg0->unk0, 0x270); + int checksum = CalcByteArraySum((u8 *)arg0, 0x270); if (checksum != arg0->checksum) return FALSE; @@ -89,56 +89,47 @@ static bool32 TrainerHill_VerifyChecksum(struct EReaderTrainerHillSet *buffer) return TRUE; } -static bool32 TryWriteTrainerHill_r(struct Unk81D38FC *arg0, u8 *buffer2) +static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *arg0, struct Unk81D3998 *buffer2) { int i; - const u8 *ereaderVals; memset(buffer2, 0, 0x1000); - buffer2[0] = arg0->unk0[0]; - buffer2[1] = sub_81D38D4(); - buffer2[2] = (arg0->unk0[0] + 1) / 2; + buffer2->unk_000 = arg0->unk_0; + buffer2->unk_001 = sub_81D38D4(); + buffer2->unk_002 = (arg0->unk_0 + 1) / 2; - for (i = 0; i < arg0->unk0[0]; i++) + for (i = 0; i < arg0->unk_0; i++) { if (!(i & 1)) { - u8 *var0 = &buffer2[(i / 2) * 0x3B8]; - u8 *var1 = arg0[i].unk0; - var0[8] = var1[8]; - memcpy(&var0[0x29C], &var1[0x154], 0x124); - var0 += 0xC; - var1 += 0xC; - memcpy(var0, var1, 0x148); + buffer2->unk_008[i / 2].unk_000[0] = arg0->unk_8[i].unk0; + memcpy(buffer2->unk_008[i / 2].unk_294, arg0->unk_8[i].unk14C, 0x124); + memcpy(buffer2->unk_008[i / 2].unk_004, arg0->unk_8[i].unk4, 0x148); } else { - u8 *var0 = &buffer2[(i / 2) * 0x3B8]; - u8 *var1 = arg0[i].unk0; - var0[9] = var1[8]; - memcpy(&var0[0x154], &var1[0xC], 0x148); + buffer2->unk_008[i / 2].unk_000[1] = arg0->unk_8[i].unk0; + memcpy(buffer2->unk_008[i / 2].unk_14C, arg0->unk_8[i].unk4, 0x148); } } if (i & 1) { - u8 *var0 = &buffer2[(i / 2) * 0x3B8]; - var0 += 0x154; - - ereaderVals = gUnknown_08625B6C; - memcpy(var0, &ereaderVals[(i / 2) * 0x148], 0x148); + u8 * dest = buffer2->unk_008[i / 2].unk_14C; + const u8 (* src)[0x148] = gUnknown_08625B6C; + memcpy(dest, src[i / 2], 0x148); } - ((int *)buffer2)[1] = CalcByteArraySum(buffer2 + 8, 0xEE0); + buffer2->checksum = CalcByteArraySum((u8 *)buffer2->unk_008, sizeof(struct Unk81D3998) - offsetof(struct Unk81D3998, unk_008)); if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != 1) return FALSE; return TRUE; } -bool32 TryWriteTrainerHill(struct Unk81D38FC *arg0) +bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0) { - u8 *var0 = AllocZeroed(0x1000); + struct Unk81D3998 *var0 = AllocZeroed(0x1000); bool32 result = TryWriteTrainerHill_r(arg0, var0); Free(var0); return result; diff --git a/src/ereader_screen.c b/src/ereader_screen.c index 8dc2a539b2..f74efa32b5 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -416,7 +416,7 @@ static void sub_81D5084(u8 taskId) } break; case 17: - if (TryWriteTrainerHill((struct Unk81D38FC *)&gDecompressionBuffer)) + if (TryWriteTrainerHill((struct EReaderTrainerHillSet *)&gDecompressionBuffer)) { AddTextPrinterToWindow1(gUnknown_085EE0FA); sub_81D505C(&data->unk0); From 016021ac049961a3ad2b2419f358801138edd757 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Apr 2019 14:55:24 -0400 Subject: [PATCH 52/84] Move gUnknown_02022C90 from sym_ewram.txt --- src/berry_crush.c | 2 +- sym_ewram.txt | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/berry_crush.c b/src/berry_crush.c index 51dbe82039..307bd49a74 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -139,7 +139,7 @@ void sub_8022960(struct BerryCrushGame *); void sub_8022524(struct BerryCrushGame_138 *, u16); void sub_8022B28(struct Sprite *); -extern struct BerryCrushGame *gUnknown_02022C90; +static EWRAM_DATA struct BerryCrushGame *gUnknown_02022C90 = NULL; extern const struct BgTemplate gUnknown_082F32C8[4]; extern const u8 gBerryCrushGrinderTopTilemap[]; diff --git a/sym_ewram.txt b/sym_ewram.txt index bc3f1e8d7d..40171a1673 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -15,12 +15,7 @@ .include "src/mevent_server.o" .include "src/mevent_client.o" .include "src/union_room_chat.o" - - @ berry_crush - .align 2 -gUnknown_02022C90: @ 2022C90 - .space 0x4 - + .include "src/berry_crush.o" .include "src/berry_powder.o" .align 2 From 704f025a00e32a910b6fd70a54511844e755663f Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Wed, 3 Apr 2019 10:36:50 -0400 Subject: [PATCH 53/84] Fix a typo in as(s)istattackselect --- src/battle_script_commands.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d1d8d87ac4..2e78e1ca05 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -296,7 +296,7 @@ static void atkDA_tryswapabilities(void); static void atkDB_tryimprison(void); static void atkDC_trysetgrudge(void); static void atkDD_weightdamagecalculation(void); -static void atkDE_asistattackselect(void); +static void atkDE_assistattackselect(void); static void atkDF_trysetmagiccoat(void); static void atkE0_trysetsnatch(void); static void atkE1_trygetintimidatetarget(void); @@ -548,7 +548,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = atkDB_tryimprison, atkDC_trysetgrudge, atkDD_weightdamagecalculation, - atkDE_asistattackselect, + atkDE_assistattackselect, atkDF_trysetmagiccoat, atkE0_trysetsnatch, atkE1_trygetintimidatetarget, @@ -9660,7 +9660,7 @@ static void atkDD_weightdamagecalculation(void) gBattlescriptCurrInstr++; } -static void atkDE_asistattackselect(void) +static void atkDE_assistattackselect(void) { s32 chooseableMovesNo = 0; struct Pokemon* party; From 90e32f4ec57f6597dc02b11dcae54b14e9d4ceaa Mon Sep 17 00:00:00 2001 From: Fontbane Date: Wed, 3 Apr 2019 14:13:11 -0400 Subject: [PATCH 54/84] Document landmark setting and item balls --- asm/macros/battle_script.inc | 2 +- data/battle_scripts_1.s | 2 +- .../AbandonedShip_CaptainsOffice/map.json | 2 +- data/maps/AbandonedShip_Deck/scripts.inc | 4 +- .../AbandonedShip_HiddenFloorRooms/map.json | 8 +- data/maps/AbandonedShip_Room_B1F/map.json | 2 +- data/maps/AbandonedShip_Rooms2_1F/map.json | 2 +- data/maps/AbandonedShip_Rooms2_B1F/map.json | 2 +- data/maps/AbandonedShip_Rooms_1F/map.json | 2 +- data/maps/AbandonedShip_Rooms_B1F/map.json | 2 +- data/maps/AlteringCave/scripts.inc | 4 +- data/maps/AquaHideout_B1F/map.json | 6 +- data/maps/AquaHideout_B2F/map.json | 2 +- data/maps/ArtisanCave_1F/map.json | 2 +- data/maps/ArtisanCave_B1F/map.json | 2 +- data/maps/ArtisanCave_B1F/scripts.inc | 4 +- .../BattleFrontier_ReceptionGate/scripts.inc | 4 +- data/maps/DesertUnderpass/scripts.inc | 4 +- data/maps/FieryPath/map.json | 4 +- data/maps/GraniteCave_1F/map.json | 2 +- data/maps/GraniteCave_B1F/map.json | 2 +- data/maps/GraniteCave_B2F/map.json | 4 +- data/maps/JaggedPass/map.json | 2 +- data/maps/LilycoveCity/map.json | 2 +- data/maps/MagmaHideout_1F/map.json | 2 +- data/maps/MagmaHideout_2F_2R/map.json | 4 +- data/maps/MagmaHideout_3F_1R/map.json | 2 +- data/maps/MagmaHideout_3F_2R/map.json | 2 +- data/maps/MagmaHideout_3F_3R/map.json | 2 +- data/maps/MagmaHideout_4F/map.json | 2 +- data/maps/MauvilleCity/map.json | 2 +- data/maps/MeteorFalls_1F_1R/map.json | 8 +- data/maps/MeteorFalls_B1F_2R/map.json | 2 +- data/maps/MossdeepCity/map.json | 2 +- data/maps/MtPyre_2F/map.json | 2 +- data/maps/MtPyre_3F/map.json | 2 +- data/maps/MtPyre_4F/map.json | 2 +- data/maps/MtPyre_5F/map.json | 2 +- data/maps/MtPyre_6F/map.json | 2 +- data/maps/MtPyre_Exterior/map.json | 4 +- data/maps/NewMauville_Entrance/scripts.inc | 4 +- data/maps/NewMauville_Inside/map.json | 10 +- data/maps/PetalburgCity/map.json | 4 +- data/maps/PetalburgWoods/map.json | 8 +- data/maps/Route102/map.json | 2 +- data/maps/Route103/map.json | 4 +- data/maps/Route104/map.json | 8 +- data/maps/Route105/map.json | 2 +- data/maps/Route106/map.json | 2 +- data/maps/Route108/map.json | 2 +- data/maps/Route109/map.json | 4 +- data/maps/Route109_SeashoreHouse/scripts.inc | 4 +- data/maps/Route110/map.json | 6 +- data/maps/Route110_TrickHousePuzzle1/map.json | 2 +- data/maps/Route110_TrickHousePuzzle2/map.json | 4 +- data/maps/Route110_TrickHousePuzzle3/map.json | 4 +- data/maps/Route110_TrickHousePuzzle4/map.json | 2 +- data/maps/Route110_TrickHousePuzzle6/map.json | 2 +- data/maps/Route110_TrickHousePuzzle7/map.json | 2 +- data/maps/Route110_TrickHousePuzzle8/map.json | 2 +- data/maps/Route111/map.json | 8 +- .../Route111_OldLadysRestStop/scripts.inc | 4 +- data/maps/Route112/map.json | 2 +- data/maps/Route113/map.json | 6 +- data/maps/Route114/map.json | 6 +- .../Route114_FossilManiacsHouse/scripts.inc | 4 +- data/maps/Route114_LanettesHouse/scripts.inc | 4 +- data/maps/Route115/map.json | 12 +- data/maps/Route116/map.json | 10 +- .../Route116_TunnelersRestHouse/scripts.inc | 4 +- data/maps/Route117/map.json | 4 +- data/maps/Route117_PokemonDayCare/scripts.inc | 4 +- data/maps/Route118/map.json | 2 +- data/maps/Route119/map.json | 18 +- data/maps/Route120/map.json | 10 +- data/maps/Route121/map.json | 6 +- data/maps/Route123/map.json | 10 +- .../Route123_BerryMastersHouse/scripts.inc | 4 +- data/maps/Route124/map.json | 6 +- .../scripts.inc | 4 +- data/maps/Route125/map.json | 2 +- data/maps/Route126/map.json | 2 +- data/maps/Route127/map.json | 6 +- data/maps/Route132/map.json | 4 +- data/maps/Route133/map.json | 6 +- data/maps/Route134/map.json | 4 +- data/maps/RustboroCity/map.json | 2 +- data/maps/RusturfTunnel/map.json | 4 +- data/maps/SafariZone_North/map.json | 2 +- data/maps/SafariZone_Northeast/map.json | 2 +- data/maps/SafariZone_Northwest/map.json | 2 +- data/maps/SafariZone_Southeast/map.json | 2 +- data/maps/SafariZone_Southwest/map.json | 2 +- data/maps/ScorchedSlab/map.json | 2 +- data/maps/ScorchedSlab/scripts.inc | 4 +- data/maps/SeafloorCavern_Room9/map.json | 2 +- data/maps/SealedChamber_OuterRoom/scripts.inc | 4 +- .../ShoalCave_LowTideEntranceRoom/map.json | 2 +- data/maps/ShoalCave_LowTideIceRoom/map.json | 4 +- data/maps/ShoalCave_LowTideInnerRoom/map.json | 2 +- .../maps/ShoalCave_LowTideStairsRoom/map.json | 2 +- data/maps/SkyPillar_Entrance/scripts.inc | 4 +- data/maps/SouthernIsland_Exterior/scripts.inc | 4 +- data/maps/VictoryRoad_1F/map.json | 4 +- data/maps/VictoryRoad_B1F/map.json | 4 +- data/maps/VictoryRoad_B2F/map.json | 2 +- data/scripts/item_ball_scripts.inc | 332 +++++++++--------- 107 files changed, 366 insertions(+), 366 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 7a1af4c172..997af51cce 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1124,7 +1124,7 @@ .byte 0xdd .endm - .macro asistattackselect param0:req + .macro assistattackselect param0:req .byte 0xde .4byte \param0 .endm diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a3ba7eb08c..244a3ac05c 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2384,7 +2384,7 @@ BattleScript_EffectWish:: BattleScript_EffectAssist:: attackcanceler attackstring - asistattackselect BattleScript_ButItFailedPpReduce + assistattackselect BattleScript_ButItFailedPpReduce attackanimation waitanimation setbyte sB_ANIM_TURN, 0x0 diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.json b/data/maps/AbandonedShip_CaptainsOffice/map.json index a78d433b6d..b876ad8497 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/map.json +++ b/data/maps/AbandonedShip_CaptainsOffice/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_CaptainsOffice_EventScript_29126E", + "script": "AbandonedShip_CaptainsOffice_EventScript_ItemStorageKey", "flag": "FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY" } ], diff --git a/data/maps/AbandonedShip_Deck/scripts.inc b/data/maps/AbandonedShip_Deck/scripts.inc index 041c545938..f256fe521d 100644 --- a/data/maps/AbandonedShip_Deck/scripts.inc +++ b/data/maps/AbandonedShip_Deck/scripts.inc @@ -1,8 +1,8 @@ AbandonedShip_Deck_MapScripts:: @ 823799A - map_script MAP_SCRIPT_ON_TRANSITION, AbandonedShip_Deck_MapScript1_2379A0 + map_script MAP_SCRIPT_ON_TRANSITION, AbandonedShip_Deck_MapScript1_SetLandmark .byte 0 -AbandonedShip_Deck_MapScript1_2379A0: @ 82379A0 +AbandonedShip_Deck_MapScript1_SetLandmark: @ 82379A0 setflag FLAG_LANDMARK_ABANDONED_SHIP end diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json index f71ad8eb32..fdfb8a187c 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json +++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_29127B", + "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemLuxuryBall", "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_291288", + "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemScanner", "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_2912A2", + "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18", "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_291295", + "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemWaterStone", "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE" } ], diff --git a/data/maps/AbandonedShip_Room_B1F/map.json b/data/maps/AbandonedShip_Room_B1F/map.json index 60dd5e1b39..b8e2a71da4 100644 --- a/data/maps/AbandonedShip_Room_B1F/map.json +++ b/data/maps/AbandonedShip_Room_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Room_B1F_EventScript_291254", + "script": "AbandonedShip_Room_B1F_EventScript_ItemTM13", "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13" } ], diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.json b/data/maps/AbandonedShip_Rooms2_1F/map.json index 49a4c2da07..35b029f7f7 100644 --- a/data/maps/AbandonedShip_Rooms2_1F/map.json +++ b/data/maps/AbandonedShip_Rooms2_1F/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Rooms2_1F_EventScript_291261", + "script": "AbandonedShip_Rooms2_1F_EventScript_ItemRevive", "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE" }, { diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.json b/data/maps/AbandonedShip_Rooms2_B1F/map.json index 3f56bf6cd5..621b80bb1a 100644 --- a/data/maps/AbandonedShip_Rooms2_B1F/map.json +++ b/data/maps/AbandonedShip_Rooms2_B1F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Rooms2_B1F_EventScript_291247", + "script": "AbandonedShip_Rooms2_B1F_EventScript_ItemDiveBall", "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL" } ], diff --git a/data/maps/AbandonedShip_Rooms_1F/map.json b/data/maps/AbandonedShip_Rooms_1F/map.json index e97c74fcfd..af25a3994f 100644 --- a/data/maps/AbandonedShip_Rooms_1F/map.json +++ b/data/maps/AbandonedShip_Rooms_1F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Rooms_1F_EventScript_29122D", + "script": "AbandonedShip_Rooms_1F_EventScript_ItemHarborMail", "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL" }, { diff --git a/data/maps/AbandonedShip_Rooms_B1F/map.json b/data/maps/AbandonedShip_Rooms_B1F/map.json index 65b5fb9cf6..2e836f3a11 100644 --- a/data/maps/AbandonedShip_Rooms_B1F/map.json +++ b/data/maps/AbandonedShip_Rooms_B1F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Rooms_B1F_EventScript_29123A", + "script": "AbandonedShip_Rooms_B1F_EventScript_ItemEscapeRope", "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE" } ], diff --git a/data/maps/AlteringCave/scripts.inc b/data/maps/AlteringCave/scripts.inc index 185466c80a..19fd1fb0ba 100644 --- a/data/maps/AlteringCave/scripts.inc +++ b/data/maps/AlteringCave/scripts.inc @@ -1,8 +1,8 @@ AlteringCave_MapScripts:: @ 823B177 - map_script MAP_SCRIPT_ON_TRANSITION, AlteringCave_MapScript1_23B17D + map_script MAP_SCRIPT_ON_TRANSITION, AlteringCave_MapScript1_SetLandmark .byte 0 -AlteringCave_MapScript1_23B17D: @ 823B17D +AlteringCave_MapScript1_SetLandmark: @ 823B17D setflag FLAG_LANDMARK_ALTERING_CAVE end diff --git a/data/maps/AquaHideout_B1F/map.json b/data/maps/AquaHideout_B1F/map.json index 5b6beee112..8cdc901ecf 100644 --- a/data/maps/AquaHideout_B1F/map.json +++ b/data/maps/AquaHideout_B1F/map.json @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_B1F_EventScript_291372", + "script": "AquaHideout_B1F_EventScript_ItemMaxElixir", "flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_B1F_EventScript_291358", + "script": "AquaHideout_B1F_EventScript_ItemMasterBall", "flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_MASTER_BALL" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_B1F_EventScript_291365", + "script": "AquaHideout_B1F_EventScript_ItemNugget", "flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET" }, { diff --git a/data/maps/AquaHideout_B2F/map.json b/data/maps/AquaHideout_B2F/map.json index 64c6eddff7..b286872af8 100644 --- a/data/maps/AquaHideout_B2F/map.json +++ b/data/maps/AquaHideout_B2F/map.json @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_B2F_EventScript_29137F", + "script": "AquaHideout_B2F_EventScript_ItemNestBall", "flag": "FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL" }, { diff --git a/data/maps/ArtisanCave_1F/map.json b/data/maps/ArtisanCave_1F/map.json index 2092ca7eab..dc7792d8a4 100644 --- a/data/maps/ArtisanCave_1F/map.json +++ b/data/maps/ArtisanCave_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ArtisanCave_1F_EventScript_2914D1", + "script": "ArtisanCave_1F_EventScript_ItemCarbos", "flag": "FLAG_ITEM_ARTISAN_CAVE_1F_CARBOS" } ], diff --git a/data/maps/ArtisanCave_B1F/map.json b/data/maps/ArtisanCave_B1F/map.json index 32174cd446..2fec826cdc 100644 --- a/data/maps/ArtisanCave_B1F/map.json +++ b/data/maps/ArtisanCave_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ArtisanCave_B1F_EventScript_2914C4", + "script": "ArtisanCave_B1F_EventScript_ItemHPUp", "flag": "FLAG_ITEM_ARTISAN_CAVE_B1F_HP_UP" } ], diff --git a/data/maps/ArtisanCave_B1F/scripts.inc b/data/maps/ArtisanCave_B1F/scripts.inc index 433991beae..a64fe4ab9f 100644 --- a/data/maps/ArtisanCave_B1F/scripts.inc +++ b/data/maps/ArtisanCave_B1F/scripts.inc @@ -1,8 +1,8 @@ ArtisanCave_B1F_MapScripts:: @ 823AFAD - map_script MAP_SCRIPT_ON_TRANSITION, ArtisanCave_B1F_MapScript1_23AFB3 + map_script MAP_SCRIPT_ON_TRANSITION, ArtisanCave_B1F_MapScript1_SetLandmark .byte 0 -ArtisanCave_B1F_MapScript1_23AFB3: @ 823AFB3 +ArtisanCave_B1F_MapScript1_SetLandmark: @ 823AFB3 setflag FLAG_LANDMARK_ARTISAN_CAVE end diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc index 8ce438d752..369c30acaa 100644 --- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc +++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc @@ -1,9 +1,9 @@ BattleFrontier_ReceptionGate_MapScripts:: @ 82661DA map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_ReceptionGate_MapScript2_2661E9 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_MapScript1_2661E5 + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_MapScript1_SetLandmark .byte 0 -BattleFrontier_ReceptionGate_MapScript1_2661E5: @ 82661E5 +BattleFrontier_ReceptionGate_MapScript1_SetLandmark: @ 82661E5 setflag FLAG_LANDMARK_BATTLE_FRONTIER end diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc index 9c5e831805..1b8324d8a6 100644 --- a/data/maps/DesertUnderpass/scripts.inc +++ b/data/maps/DesertUnderpass/scripts.inc @@ -1,8 +1,8 @@ DesertUnderpass_MapScripts:: @ 823AF37 - map_script MAP_SCRIPT_ON_TRANSITION, DesertUnderpass_MapScript1_23AF3D + map_script MAP_SCRIPT_ON_TRANSITION, DesertUnderpass_MapScript1_SetLandmark .byte 0 -DesertUnderpass_MapScript1_23AF3D: @ 823AF3D +DesertUnderpass_MapScript1_SetLandmark: @ 823AF3D setflag FLAG_LANDMARK_DESERT_UNDERPASS end diff --git a/data/maps/FieryPath/map.json b/data/maps/FieryPath/map.json index 61324a8ffc..9bb09fe5ac 100644 --- a/data/maps/FieryPath/map.json +++ b/data/maps/FieryPath/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_29119E", + "script": "FieryPath_EventScript_ItemTM06", "flag": "FLAG_ITEM_FIERY_PATH_TM06" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_291191", + "script": "FieryPath_EventScript_ItemFireStone", "flag": "FLAG_ITEM_FIERY_PATH_FIRE_STONE" } ], diff --git a/data/maps/GraniteCave_1F/map.json b/data/maps/GraniteCave_1F/map.json index 67f2e80007..2413a023d0 100644 --- a/data/maps/GraniteCave_1F/map.json +++ b/data/maps/GraniteCave_1F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_1F_EventScript_291150", + "script": "GraniteCave_1F_EventScript_ItemEscapeRope", "flag": "FLAG_ITEM_GRANITE_CAVE_1F_ESCAPE_ROPE" } ], diff --git a/data/maps/GraniteCave_B1F/map.json b/data/maps/GraniteCave_B1F/map.json index b33e751e52..5a45481645 100644 --- a/data/maps/GraniteCave_B1F/map.json +++ b/data/maps/GraniteCave_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B1F_EventScript_29115D", + "script": "GraniteCave_B1F_EventScript_ItemPokeBall", "flag": "FLAG_ITEM_GRANITE_CAVE_B1F_POKE_BALL" } ], diff --git a/data/maps/GraniteCave_B2F/map.json b/data/maps/GraniteCave_B2F/map.json index 48de001806..73a13d6d23 100644 --- a/data/maps/GraniteCave_B2F/map.json +++ b/data/maps/GraniteCave_B2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_29116A", + "script": "GraniteCave_B2F_EventScript_ItemRepel", "flag": "FLAG_ITEM_GRANITE_CAVE_B2F_REPEL" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_291177", + "script": "GraniteCave_B2F_EventScript_ItemRareCandy", "flag": "FLAG_ITEM_GRANITE_CAVE_B2F_RARE_CANDY" }, { diff --git a/data/maps/JaggedPass/map.json b/data/maps/JaggedPass/map.json index 3ec89fce6c..e695c826cc 100644 --- a/data/maps/JaggedPass/map.json +++ b/data/maps/JaggedPass/map.json @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "JaggedPass_EventScript_291184", + "script": "JaggedPass_EventScript_ItemBurnHeal", "flag": "FLAG_ITEM_JAGGED_PASS_BURN_HEAL" }, { diff --git a/data/maps/LilycoveCity/map.json b/data/maps/LilycoveCity/map.json index ea771c3b58..26f0ad36d6 100644 --- a/data/maps/LilycoveCity/map.json +++ b/data/maps/LilycoveCity/map.json @@ -165,7 +165,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_2910E8", + "script": "LilycoveCity_EventScript_ItemMaxRepel", "flag": "FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL" }, { diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json index 8eb3e23b52..2bbcf77a0d 100644 --- a/data/maps/MagmaHideout_1F/map.json +++ b/data/maps/MagmaHideout_1F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_1F_EventScript_2914DE", + "script": "MagmaHideout_1F_EventScript_ItemRareCandy", "flag": "FLAG_ITEM_MAGMA_HIDEOUT_1F_RARE_CANDY" }, { diff --git a/data/maps/MagmaHideout_2F_2R/map.json b/data/maps/MagmaHideout_2F_2R/map.json index ef7086bbf8..b52d342127 100644 --- a/data/maps/MagmaHideout_2F_2R/map.json +++ b/data/maps/MagmaHideout_2F_2R/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_2F_2R_EventScript_2914EB", + "script": "MagmaHideout_2F_2R_EventScript_MaxElixir", "flag": "FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_MAX_ELIXIR" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_2F_2R_EventScript_2914F8", + "script": "MagmaHideout_2F_2R_EventScript_ItemFullRestore", "flag": "FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_FULL_RESTORE" } ], diff --git a/data/maps/MagmaHideout_3F_1R/map.json b/data/maps/MagmaHideout_3F_1R/map.json index 67202e748a..e3c1bac70c 100644 --- a/data/maps/MagmaHideout_3F_1R/map.json +++ b/data/maps/MagmaHideout_3F_1R/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_3F_1R_EventScript_291505", + "script": "MagmaHideout_3F_1R_EventScript_ItemNugget", "flag": "FLAG_ITEM_MAGMA_HIDEOUT_3F_1R_NUGGET" } ], diff --git a/data/maps/MagmaHideout_3F_2R/map.json b/data/maps/MagmaHideout_3F_2R/map.json index bc67b15e5a..e4b267858b 100644 --- a/data/maps/MagmaHideout_3F_2R/map.json +++ b/data/maps/MagmaHideout_3F_2R/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_3F_2R_EventScript_291512", + "script": "MagmaHideout_3F_2R_EventScript_ItemPPMax", "flag": "FLAG_ITEM_MAGMA_HIDEOUT_3F_2R_PP_MAX" } ], diff --git a/data/maps/MagmaHideout_3F_3R/map.json b/data/maps/MagmaHideout_3F_3R/map.json index 00fc5a46c6..6ec900c315 100644 --- a/data/maps/MagmaHideout_3F_3R/map.json +++ b/data/maps/MagmaHideout_3F_3R/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_3F_3R_EventScript_29152C", + "script": "MagmaHideout_3F_3R_EventScript_ItemEscapeRope", "flag": "FLAG_ITEM_MAGMA_HIDEOUT_3F_3R_ECAPE_ROPE" } ], diff --git a/data/maps/MagmaHideout_4F/map.json b/data/maps/MagmaHideout_4F/map.json index b627ae1edc..5eebc41d80 100644 --- a/data/maps/MagmaHideout_4F/map.json +++ b/data/maps/MagmaHideout_4F/map.json @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_4F_EventScript_29151F", + "script": "MagmaHideout_4F_EventScript_MaxRevive", "flag": "FLAG_ITEM_MAGMA_HIDEOUT_4F_MAX_REVIVE" } ], diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json index e44bc78dd0..4163f4d9d3 100644 --- a/data/maps/MauvilleCity/map.json +++ b/data/maps/MauvilleCity/map.json @@ -149,7 +149,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_2910CE", + "script": "MauvilleCity_EventScript_ItemXSpeed", "flag": "FLAG_ITEM_MAUVILLE_CITY_X_SPEED" }, { diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json index 586de013f4..200c03e865 100644 --- a/data/maps/MeteorFalls_1F_1R/map.json +++ b/data/maps/MeteorFalls_1F_1R/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_1F_1R_EventScript_2911AB", + "script": "MeteorFalls_1F_1R_EventScript_ItemTM23", "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_1F_1R_EventScript_2911C5", + "script": "MeteorFalls_1F_1R_EventScript_ItemMoonStone", "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_1F_1R_EventScript_2911B8", + "script": "MeteorFalls_1F_1R_EventScript_ItemFullHeal", "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_1F_1R_EventScript_2911D2", + "script": "MeteorFalls_1F_1R_EventScript_ItemPPUP", "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP" }, { diff --git a/data/maps/MeteorFalls_B1F_2R/map.json b/data/maps/MeteorFalls_B1F_2R/map.json index 7c45bfdd09..8fd3eb4a2a 100644 --- a/data/maps/MeteorFalls_B1F_2R/map.json +++ b/data/maps/MeteorFalls_B1F_2R/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_B1F_2R_EventScript_2911DF", + "script": "MeteorFalls_B1F_2R_EventScript_ItemTM02", "flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02" } ], diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json index 99d7ae01c1..533183a358 100644 --- a/data/maps/MossdeepCity/map.json +++ b/data/maps/MossdeepCity/map.json @@ -105,7 +105,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_2910F5", + "script": "MossdeepCity_EventScript_ItemNetBall", "flag": "FLAG_ITEM_MOSSDEEP_CITY_NET_BALL" }, { diff --git a/data/maps/MtPyre_2F/map.json b/data/maps/MtPyre_2F/map.json index 7a5c4d6396..64657cb0d7 100644 --- a/data/maps/MtPyre_2F/map.json +++ b/data/maps/MtPyre_2F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_2F_EventScript_2912FD", + "script": "MtPyre_2F_EventScript_ItemUltraBall", "flag": "FLAG_ITEM_MT_PYRE_2F_ULTRA_BALL" }, { diff --git a/data/maps/MtPyre_3F/map.json b/data/maps/MtPyre_3F/map.json index b8684cff96..3e06adf8c9 100644 --- a/data/maps/MtPyre_3F/map.json +++ b/data/maps/MtPyre_3F/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_3F_EventScript_29130A", + "script": "MtPyre_3F_EventScript_ItemSuperRepel", "flag": "FLAG_ITEM_MT_PYRE_3F_SUPER_REPEL" }, { diff --git a/data/maps/MtPyre_4F/map.json b/data/maps/MtPyre_4F/map.json index 59d4dd1105..782a6221e5 100644 --- a/data/maps/MtPyre_4F/map.json +++ b/data/maps/MtPyre_4F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_4F_EventScript_291317", + "script": "MtPyre_4F_EventScript_ItemSeaIncense", "flag": "FLAG_ITEM_MT_PYRE_4F_SEA_INCENSE" } ], diff --git a/data/maps/MtPyre_5F/map.json b/data/maps/MtPyre_5F/map.json index 1c035bd4da..edd3544ca0 100644 --- a/data/maps/MtPyre_5F/map.json +++ b/data/maps/MtPyre_5F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_5F_EventScript_291324", + "script": "MtPyre_5F_EventScript_ItemLaxIncense", "flag": "FLAG_ITEM_MT_PYRE_5F_LAX_INCENSE" } ], diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json index 8f7c4f30fa..3c889a7e0a 100644 --- a/data/maps/MtPyre_6F/map.json +++ b/data/maps/MtPyre_6F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_6F_EventScript_291331", + "script": "MtPyre_6F_EventScript_ItemTM30", "flag": "FLAG_ITEM_MT_PYRE_6F_TM_30" }, { diff --git a/data/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json index 2a8a5eaffb..c7653bbd1b 100644 --- a/data/maps/MtPyre_Exterior/map.json +++ b/data/maps/MtPyre_Exterior/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_Exterior_EventScript_29133E", + "script": "MtPyre_Exterior_EventScript_ItemMaxPotion", "flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_Exterior_EventScript_29134B", + "script": "MtPyre_Exterior_EventScript_ItemTM48", "flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48" } ], diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc index c3ed930a5e..1df4c53e41 100644 --- a/data/maps/NewMauville_Entrance/scripts.inc +++ b/data/maps/NewMauville_Entrance/scripts.inc @@ -1,6 +1,6 @@ NewMauville_Entrance_MapScripts:: @ 82372AD map_script MAP_SCRIPT_ON_LOAD, NewMauville_Entrance_MapScript1_2372B8 - map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Entrance_MapScript1_2372FB + map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Entrance_MapScript1_SetLandmark .byte 0 NewMauville_Entrance_MapScript1_2372B8: @ 82372B8 @@ -17,7 +17,7 @@ NewMauville_Entrance_EventScript_2372C4:: @ 82372C4 setmetatile 5, 1, 798, 1 return -NewMauville_Entrance_MapScript1_2372FB: @ 82372FB +NewMauville_Entrance_MapScript1_SetLandmark: @ 82372FB setflag FLAG_LANDMARK_NEW_MAUVILLE end diff --git a/data/maps/NewMauville_Inside/map.json b/data/maps/NewMauville_Inside/map.json index b13d6059d5..e58588a470 100644 --- a/data/maps/NewMauville_Inside/map.json +++ b/data/maps/NewMauville_Inside/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NewMauville_Inside_EventScript_2911EC", + "script": "NewMauville_Inside_EventScript_ItemUltraRope", "flag": "FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NewMauville_Inside_EventScript_2911F9", + "script": "NewMauville_Inside_EventScript_ItemEscapeRope", "flag": "FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NewMauville_Inside_EventScript_291206", + "script": "NewMauville_Inside_EventScript_ItemThunderStone", "flag": "FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NewMauville_Inside_EventScript_291213", + "script": "NewMauville_Inside_EventScript_ItemFullHeal", "flag": "FLAG_ITEM_NEW_MAUVILLE_FULL_HEAL" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NewMauville_Inside_EventScript_291220", + "script": "NewMauville_Inside_EventScript_ItemParalyzeHeal", "flag": "FLAG_ITEM_NEW_MAUVILLE_PARALYZE_HEAL" }, { diff --git a/data/maps/PetalburgCity/map.json b/data/maps/PetalburgCity/map.json index 6a9a6b33d2..00e89bfa04 100644 --- a/data/maps/PetalburgCity/map.json +++ b/data/maps/PetalburgCity/map.json @@ -100,7 +100,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_EventScript_2910B4", + "script": "PetalburgCity_EventScript_ItemMaxRevive", "flag": "FLAG_ITEM_PETALBURG_CITY_MAX_REVIVE" }, { @@ -113,7 +113,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_EventScript_2910C1", + "script": "PetalburgCity_EventScript_ItemEther", "flag": "FLAG_ITEM_PETALBURG_CITY_ETHER" }, { diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json index 4bca7bb5ef..6d1bc22a57 100644 --- a/data/maps/PetalburgWoods/map.json +++ b/data/maps/PetalburgWoods/map.json @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_29110F", + "script": "PetalburgWoods_EventScript_ItemGreatBall", "flag": "FLAG_ITEM_PETALBURG_WOODS_GREAT_BALL" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_291102", + "script": "PetalburgWoods_EventScript_ItemXAttack", "flag": "FLAG_ITEM_PETALBURG_WOODS_X_ATTACK" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_29111C", + "script": "PetalburgWoods_EventScript_ItemEther", "flag": "FLAG_ITEM_PETALBURG_WOODS_ETHER" }, { @@ -167,7 +167,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_291129", + "script": "PetalburgWoods_EventScript_ItemParalyzeHeal", "flag": "FLAG_ITEM_PETALBURD_WOODS_PARALYZE_HEAL" }, { diff --git a/data/maps/Route102/map.json b/data/maps/Route102/map.json index 7a6c6d9630..323c4142b2 100644 --- a/data/maps/Route102/map.json +++ b/data/maps/Route102/map.json @@ -100,7 +100,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route102_EventScript_290CD8", + "script": "Route102_EventScript_ItemPotion", "flag": "FLAG_ITEM_ROUTE_102_POTION" }, { diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json index 6516e99dce..91004d1abc 100644 --- a/data/maps/Route103/map.json +++ b/data/maps/Route103/map.json @@ -191,7 +191,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_290CE5", + "script": "Route103_EventScript_ItemGuardSpec", "flag": "FLAG_ITEM_ROUTE_103_GUARD_SPEC" }, { @@ -282,7 +282,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_290CF2", + "script": "Route103_EventScript_ItemPPUp", "flag": "FLAG_ITEM_ROUTE_103_PP_UP" } ], diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json index e14a73c29a..7bfe6e1642 100644 --- a/data/maps/Route104/map.json +++ b/data/maps/Route104/map.json @@ -300,7 +300,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_290CFF", + "script": "Route104_EventScript_ItemPPUp", "flag": "FLAG_ITEM_ROUTE_104_PP_UP" }, { @@ -378,7 +378,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_290D0C", + "script": "Route104_EventScript_ItemPokeBall", "flag": "FLAG_ITEM_ROUTE_104_POKE_BALL" }, { @@ -404,7 +404,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_290D19", + "script": "Route104_EventScript_ItemXAccuracy", "flag": "FLAG_ITEM_ROUTE_104_X_ACCURACY" }, { @@ -430,7 +430,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_290D26", + "script": "Route104_EventScript_ItemPotion", "flag": "FLAG_ITEM_ROUTE_104_POTION" }, { diff --git a/data/maps/Route105/map.json b/data/maps/Route105/map.json index b42965229d..4d447d4f81 100644 --- a/data/maps/Route105/map.json +++ b/data/maps/Route105/map.json @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route105_EventScript_290D33", + "script": "Route105_EventScript_ItemIron", "flag": "FLAG_ITEM_ROUTE_105_IRON" }, { diff --git a/data/maps/Route106/map.json b/data/maps/Route106/map.json index 93e98078ba..70558d26e6 100644 --- a/data/maps/Route106/map.json +++ b/data/maps/Route106/map.json @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route106_EventScript_290D40", + "script": "Route106_EventScript_ItemProtein", "flag": "FLAG_ITEM_ROUTE_106_PROTEIN" } ], diff --git a/data/maps/Route108/map.json b/data/maps/Route108/map.json index bb22c01e30..b8b188637d 100644 --- a/data/maps/Route108/map.json +++ b/data/maps/Route108/map.json @@ -113,7 +113,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route108_EventScript_290D4D", + "script": "Route108_EventScript_ItemStarPiece", "flag": "FLAG_ITEM_ROUTE_108_STAR_PIECE" } ], diff --git a/data/maps/Route109/map.json b/data/maps/Route109/map.json index 9bb4d21de9..3614672663 100644 --- a/data/maps/Route109/map.json +++ b/data/maps/Route109/map.json @@ -152,7 +152,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_290D5A", + "script": "Route109_EventScript_ItemPPUp", "flag": "FLAG_ITEM_ROUTE_109_PP_UP" }, { @@ -321,7 +321,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_290D67", + "script": "Route109_EventScript_ItemPotion", "flag": "FLAG_ITEM_ROUTE_109_POTION" }, { diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc index ed27e32ff6..d331131364 100644 --- a/data/maps/Route109_SeashoreHouse/scripts.inc +++ b/data/maps/Route109_SeashoreHouse/scripts.inc @@ -1,8 +1,8 @@ Route109_SeashoreHouse_MapScripts:: @ 82693F4 - map_script MAP_SCRIPT_ON_TRANSITION, Route109_SeashoreHouse_MapScript1_2693FA + map_script MAP_SCRIPT_ON_TRANSITION, Route109_SeashoreHouse_MapScript1_SetLandmark .byte 0 -Route109_SeashoreHouse_MapScript1_2693FA: @ 82693FA +Route109_SeashoreHouse_MapScript1_SetLandmark: @ 82693FA setflag FLAG_LANDMARK_SEASHORE_HOUSE end diff --git a/data/maps/Route110/map.json b/data/maps/Route110/map.json index a9ac7796a8..8cbc93af62 100644 --- a/data/maps/Route110/map.json +++ b/data/maps/Route110/map.json @@ -274,7 +274,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_290D81", + "script": "Route110_EventScript_ItemDireHit", "flag": "FLAG_ITEM_ROUTE_110_DIRE_HIT" }, { @@ -287,7 +287,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_290D74", + "script": "Route110_EventScript_ItemRareCandy", "flag": "FLAG_ITEM_ROUTE_109_RARE_CANDY" }, { @@ -482,7 +482,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_290D8E", + "script": "Route110_EventScript_ItemElixir", "flag": "FLAG_ITEM_ROUTE_110_ELIXIR" }, { diff --git a/data/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json index 849e74b620..c6609d103e 100644 --- a/data/maps/Route110_TrickHousePuzzle1/map.json +++ b/data/maps/Route110_TrickHousePuzzle1/map.json @@ -180,7 +180,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_29140E", + "script": "Route110_TrickHousePuzzle1_EventScript_ItemOrangeMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_ORANGE_MAIL" }, { diff --git a/data/maps/Route110_TrickHousePuzzle2/map.json b/data/maps/Route110_TrickHousePuzzle2/map.json index 9903231e7d..3a9ed637df 100644 --- a/data/maps/Route110_TrickHousePuzzle2/map.json +++ b/data/maps/Route110_TrickHousePuzzle2/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle2_EventScript_291428", + "script": "Route110_TrickHousePuzzle2_EventScript_ItemWaveMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_WAVE_MAIL" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle2_EventScript_29141B", + "script": "Route110_TrickHousePuzzle2_EventScript_ItemHarborMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_HARBOR_MAIL" } ], diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json index 22807b80bc..e695807936 100644 --- a/data/maps/Route110_TrickHousePuzzle3/map.json +++ b/data/maps/Route110_TrickHousePuzzle3/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_291442", + "script": "Route110_TrickHousePuzzle3_EventScript_ItemWoodMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_WOOD_MAIL" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_291435", + "script": "Route110_TrickHousePuzzle3_EventScript_ItemShadowMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_SHADOW_MAIL" }, { diff --git a/data/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json index 542a67aecd..47238a559e 100644 --- a/data/maps/Route110_TrickHousePuzzle4/map.json +++ b/data/maps/Route110_TrickHousePuzzle4/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_29144F", + "script": "Route110_TrickHousePuzzle4_EventScript_ItemMechMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_MECH_MAIL" }, { diff --git a/data/maps/Route110_TrickHousePuzzle6/map.json b/data/maps/Route110_TrickHousePuzzle6/map.json index 144916353d..aef182fbbf 100644 --- a/data/maps/Route110_TrickHousePuzzle6/map.json +++ b/data/maps/Route110_TrickHousePuzzle6/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle6_EventScript_29145C", + "script": "Route110_TrickHousePuzzle6_EventScript_ItemGlitterMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_GLITTER_MAIL" } ], diff --git a/data/maps/Route110_TrickHousePuzzle7/map.json b/data/maps/Route110_TrickHousePuzzle7/map.json index 0263e0848a..09fdafbe2b 100644 --- a/data/maps/Route110_TrickHousePuzzle7/map.json +++ b/data/maps/Route110_TrickHousePuzzle7/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle7_EventScript_291469", + "script": "Route110_TrickHousePuzzle7_EventScript_ItemTropicMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_TROPIC_MAIL" }, { diff --git a/data/maps/Route110_TrickHousePuzzle8/map.json b/data/maps/Route110_TrickHousePuzzle8/map.json index f73e603374..b7a06abce2 100644 --- a/data/maps/Route110_TrickHousePuzzle8/map.json +++ b/data/maps/Route110_TrickHousePuzzle8/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle8_EventScript_291476", + "script": "Route110_TrickHousePuzzle8_EventScript_ItemBeadMail", "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_BEAD_MAIL" } ], diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index ef981272af..d3428f8c60 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -261,7 +261,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_290D9B", + "script": "Route111_EventScript_ItemTM37", "flag": "FLAG_ITEM_ROUTE_111_TM_37" }, { @@ -352,7 +352,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_290DA8", + "script": "Route111_EventScript_ItemStardust", "flag": "FLAG_ITEM_ROUTE_111_STARDUST" }, { @@ -365,7 +365,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_290DB5", + "script": "Route111_EventScript_ItemHPUp", "flag": "FLAG_ITEM_ROUTE_111_HP_UP" }, { @@ -573,7 +573,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_290DC2", + "script": "Route111_EventScript_ItemElixir", "flag": "FLAG_ITEM_ROUTE_111_ELIXIR" }, { diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc index 9427e8692d..9495c45394 100644 --- a/data/maps/Route111_OldLadysRestStop/scripts.inc +++ b/data/maps/Route111_OldLadysRestStop/scripts.inc @@ -1,8 +1,8 @@ Route111_OldLadysRestStop_MapScripts:: @ 822A916 - map_script MAP_SCRIPT_ON_TRANSITION, Route111_OldLadysRestStop_MapScript1_22A91C + map_script MAP_SCRIPT_ON_TRANSITION, Route111_OldLadysRestStop_MapScript1_SetLandmark .byte 0 -Route111_OldLadysRestStop_MapScript1_22A91C: @ 822A91C +Route111_OldLadysRestStop_MapScript1_SetLandmark: @ 822A91C setflag FLAG_LANDMARK_OLD_LADY_REST_SHOP end diff --git a/data/maps/Route112/map.json b/data/maps/Route112/map.json index 8839cc1147..b963c6c48f 100644 --- a/data/maps/Route112/map.json +++ b/data/maps/Route112/map.json @@ -183,7 +183,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route112_EventScript_290DCF", + "script": "Route112_EventScript_ItemNugget", "flag": "FLAG_ITEM_ROUTE_112_NUGGET" }, { diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json index 1ae33fda76..bcff99de45 100644 --- a/data/maps/Route113/map.json +++ b/data/maps/Route113/map.json @@ -105,7 +105,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route113_EventScript_290DDC", + "script": "Route113_EventScript_ItemMaxEther", "flag": "FLAG_ITEM_ROUTE_113_MAX_ETHER" }, { @@ -118,7 +118,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route113_EventScript_290DE9", + "script": "Route113_EventScript_ItemSuperRepel", "flag": "FLAG_ITEM_ROUTE_113_SUPER_REPEL" }, { @@ -183,7 +183,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route113_EventScript_290DF6", + "script": "Route113_EventScript_ItemHyperPotion", "flag": "FLAG_ITEM_ROUTE_113_HYPER_POTION" }, { diff --git a/data/maps/Route114/map.json b/data/maps/Route114/map.json index 9d10029102..08f2996d2c 100644 --- a/data/maps/Route114/map.json +++ b/data/maps/Route114/map.json @@ -139,7 +139,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_290E03", + "script": "Route114_EventScript_ItemRareCandy", "flag": "FLAG_ITEM_ROUTE_114_RARE_CANDY" }, { @@ -152,7 +152,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_290E10", + "script": "Route114_EventScript_ItemProtein", "flag": "FLAG_ITEM_ROUTE_114_PROTEIN" }, { @@ -360,7 +360,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_290E1D", + "script": "Route114_EventScript_ItemEnergyPowder", "flag": "FLAG_ITEM_ROUTE_114_ENERGY_POWDER" }, { diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc index c6b63d8da3..d41bc0deea 100644 --- a/data/maps/Route114_FossilManiacsHouse/scripts.inc +++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc @@ -1,8 +1,8 @@ Route114_FossilManiacsHouse_MapScripts:: @ 822AD30 - map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsHouse_MapScript1_22AD36 + map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsHouse_MapScript1_SetLandmark .byte 0 -Route114_FossilManiacsHouse_MapScript1_22AD36: @ 822AD36 +Route114_FossilManiacsHouse_MapScript1_SetLandmark: @ 822AD36 setflag FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE end diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc index 1cf7ffb470..5ea42a42a8 100644 --- a/data/maps/Route114_LanettesHouse/scripts.inc +++ b/data/maps/Route114_LanettesHouse/scripts.inc @@ -1,8 +1,8 @@ Route114_LanettesHouse_MapScripts:: @ 822B2C8 - map_script MAP_SCRIPT_ON_TRANSITION, Route114_LanettesHouse_MapScript1_22B2CE + map_script MAP_SCRIPT_ON_TRANSITION, Route114_LanettesHouse_MapScript1_SetLandmark .byte 0 -Route114_LanettesHouse_MapScript1_22B2CE: @ 822B2CE +Route114_LanettesHouse_MapScript1_SetLandmark: @ 822B2CE setflag FLAG_LANDMARK_LANETTES_HOUSE end diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json index 1c7603b586..484699ec63 100644 --- a/data/maps/Route115/map.json +++ b/data/maps/Route115/map.json @@ -152,7 +152,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_290E2A", + "script": "Route115_EventScript_ItemSuperPotion", "flag": "FLAG_ITEM_ROUTE_115_SUPER_POTION" }, { @@ -165,7 +165,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_290E37", + "script": "Route115_EventScript_ItemTM01", "flag": "FLAG_ITEM_ROUTE_115_TM_01" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_290E44", + "script": "Route115_EventScript_ItemIron", "flag": "FLAG_ITEM_ROUTE_115_IRON" }, { @@ -230,7 +230,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_290E51", + "script": "Route115_EventScript_ItemGreatBall", "flag": "FLAG_ITEM_ROUTE_115_GREAT_BALL" }, { @@ -308,7 +308,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_290E6B", + "script": "Route115_EventScript_ItemPPUp", "flag": "FLAG_ITEM_ROUTE_115_PP_UP" }, { @@ -321,7 +321,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_290E5E", + "script": "Route115_EventScript_ItemHealPowder", "flag": "FLAG_ITEM_ROUTE_115_HEAL_POWDER" } ], diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json index 27eb381d0c..0745af08c2 100644 --- a/data/maps/Route116/map.json +++ b/data/maps/Route116/map.json @@ -113,7 +113,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_290E85", + "script": "Route116_EventScript_ItemEther", "flag": "FLAG_ITEM_ROUTE_116_ETHER" }, { @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_290E92", + "script": "Route116_EventScript_ItemRepel", "flag": "FLAG_ITEM_ROUTE_116_REPEL" }, { @@ -217,7 +217,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_290E9F", + "script": "Route116_EventScript_ItemHPUp", "flag": "FLAG_ITEM_ROUTE_116_HP_UP" }, { @@ -282,7 +282,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_290E78", + "script": "Route116_EventScript_ItemXSpecial", "flag": "FLAG_ITEM_ROUTE_116_X_SPECIAL" }, { @@ -347,7 +347,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_290EAC", + "script": "Route116_EventScript_ItemPotion", "flag": "FLAG_ITEM_ROUTE_116_POTION" }, { diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc index bdd22aadd9..f9ebcc76ab 100644 --- a/data/maps/Route116_TunnelersRestHouse/scripts.inc +++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc @@ -1,8 +1,8 @@ Route116_TunnelersRestHouse_MapScripts:: @ 822B850 - map_script MAP_SCRIPT_ON_TRANSITION, Route116_TunnelersRestHouse_MapScript1_22B856 + map_script MAP_SCRIPT_ON_TRANSITION, Route116_TunnelersRestHouse_MapScript1_SetLandmark .byte 0 -Route116_TunnelersRestHouse_MapScript1_22B856: @ 822B856 +Route116_TunnelersRestHouse_MapScript1_SetLandmark: @ 822B856 setflag FLAG_LANDMARK_TUNNELERS_REST_HOUSE end diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json index c4cb4d5e56..efaad28022 100644 --- a/data/maps/Route117/map.json +++ b/data/maps/Route117/map.json @@ -204,7 +204,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_EventScript_290EB9", + "script": "Route117_EventScript_ItemGreatBall", "flag": "FLAG_ITEM_ROUTE_117_GREAT_BALL" }, { @@ -230,7 +230,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_EventScript_290EC6", + "script": "Route117_EventScript_ItemRevive", "flag": "FLAG_ITEM_ROUTE_117_REVIVE" }, { diff --git a/data/maps/Route117_PokemonDayCare/scripts.inc b/data/maps/Route117_PokemonDayCare/scripts.inc index ea9894ffca..b9ddfaa5ae 100644 --- a/data/maps/Route117_PokemonDayCare/scripts.inc +++ b/data/maps/Route117_PokemonDayCare/scripts.inc @@ -1,8 +1,8 @@ Route117_PokemonDayCare_MapScripts:: @ 822BBB1 - map_script MAP_SCRIPT_ON_TRANSITION, Route117_PokemonDayCare_MapScript1_22BBB7 + map_script MAP_SCRIPT_ON_TRANSITION, Route117_PokemonDayCare_MapScript1_SetLandmark .byte 0 -Route117_PokemonDayCare_MapScript1_22BBB7: @ 822BBB7 +Route117_PokemonDayCare_MapScript1_SetLandmark: @ 822BBB7 setflag FLAG_LANDMARK_POKEMON_DAYCARE end diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json index 7fc1e45c73..0a3fee2101 100644 --- a/data/maps/Route118/map.json +++ b/data/maps/Route118/map.json @@ -287,7 +287,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_290ED3", + "script": "Route118_EventScript_ItemHyperPotion", "flag": "FLAG_ITEM_ROUTE_118_HYPER_POTION" }, { diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json index 2146d5ec7a..c84ff9db19 100644 --- a/data/maps/Route119/map.json +++ b/data/maps/Route119/map.json @@ -243,7 +243,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_290EE0", + "script": "Route119_EventScript_ItemSuperRepel", "flag": "FLAG_ITEM_ROUTE_119_SUPER_REPEL" }, { @@ -256,7 +256,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_290EED", + "script": "Route119_EventScript_ItemZinc", "flag": "FLAG_ITEM_ROUTE_119_ZINC" }, { @@ -269,7 +269,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_290EFA", + "script": "Route119_EventScript_ItemElixir", "flag": "FLAG_ITEM_ROUTE_119_ELIXIR_1" }, { @@ -282,7 +282,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_290F07", + "script": "Route119_EventScript_ItemLeafStone", "flag": "FLAG_ITEM_ROUTE_119_LEAF_STONE" }, { @@ -295,7 +295,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_290F14", + "script": "Route119_EventScript_ItemRareCandy", "flag": "FLAG_ITEM_ROUTE_119_RARE_CANDY" }, { @@ -308,7 +308,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_290F21", + "script": "Route119_EventScript_ItemHyperPotion", "flag": "FLAG_ITEM_ROUTE_119_HYPER_POTION_1" }, { @@ -438,7 +438,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_290F2E", + "script": "Route119_EventScript_ItemHyperPotion2", "flag": "FLAG_ITEM_ROUTE_119_HYPER_POTION_2" }, { @@ -555,7 +555,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_291399", + "script": "Route119_EventScript_ItemNugget", "flag": "FLAG_ITEM_ROUTE_119_NUGGET" }, { @@ -568,7 +568,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_290F3B", + "script": "Route119_EventScript_ItemElixir2", "flag": "FLAG_ITEM_ROUTE_119_ELIXIR_2" }, { diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json index 63585f86f8..1bdbd0bca3 100644 --- a/data/maps/Route120/map.json +++ b/data/maps/Route120/map.json @@ -230,7 +230,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_290F48", + "script": "Route120_EventScript_ItemNugget", "flag": "FLAG_ITEM_ROUTE_120_NUGGET" }, { @@ -308,7 +308,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_290F55", + "script": "Route120_EventScript_ItemFullHeal", "flag": "FLAG_ITEM_ROUTE_120_FULL_HEAL" }, { @@ -386,7 +386,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_290F6F", + "script": "Route120_EventScript_ItemNestBall", "flag": "FLAG_ITEM_ROUTE_120_NEST_BALL" }, { @@ -399,7 +399,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_290F62", + "script": "Route120_EventScript_ItemHyperPotion", "flag": "FLAG_ITEM_ROUTE_120_HYPER_POTION" }, { @@ -594,7 +594,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_290F7C", + "script": "Route120_EventScript_ItemRevive", "flag": "FLAG_ITEM_ROUTE_120_REVIVE" } ], diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json index 4339b149dc..f1152b4653 100644 --- a/data/maps/Route121/map.json +++ b/data/maps/Route121/map.json @@ -300,7 +300,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_290F89", + "script": "Route121_EventScript_ItemCarbos", "flag": "FLAG_ITEM_ROUTE_121_CARBOS" }, { @@ -391,7 +391,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_290F96", + "script": "Route121_EventScript_ItemRevive", "flag": "FLAG_ITEM_ROUTE_121_REVIVE" }, { @@ -404,7 +404,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_290FA3", + "script": "Route121_EventScript_ItemZinc", "flag": "FLAG_ITEM_ROUTE_121_ZINC" } ], diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json index 6562fa7a91..1e562420d2 100644 --- a/data/maps/Route123/map.json +++ b/data/maps/Route123/map.json @@ -295,7 +295,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_290FB0", + "script": "Route123_EventScript_ItemCalcium", "flag": "FLAG_ITEM_ROUTE_123_CALCIUM" }, { @@ -438,7 +438,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_290FBD", + "script": "Route123_EventScript_ItemUltraBall", "flag": "FLAG_ITEM_ROUTE_123_ULTRA_BALL" }, { @@ -451,7 +451,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_290FCA", + "script": "Route123_EventScript_ItemElixir", "flag": "FLAG_ITEM_ROUTE_123_ELIXIR" }, { @@ -542,7 +542,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_290FD7", + "script": "Route123_EventScript_ItemPPUp", "flag": "FLAG_ITEM_ROUTE_123_PP_UP" }, { @@ -581,7 +581,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_290FE4", + "script": "Route123_EventScript_ItemRevivalHerb", "flag": "FLAG_ITEM_ROUTE_123_REVIVAL_HERB" } ], diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc index 31158782da..0f03261197 100644 --- a/data/maps/Route123_BerryMastersHouse/scripts.inc +++ b/data/maps/Route123_BerryMastersHouse/scripts.inc @@ -1,8 +1,8 @@ Route123_BerryMastersHouse_MapScripts:: @ 826F83B - map_script MAP_SCRIPT_ON_TRANSITION, Route123_BerryMastersHouse_MapScript1_26F841 + map_script MAP_SCRIPT_ON_TRANSITION, Route123_BerryMastersHouse_MapScript1_SetLandmark .byte 0 -Route123_BerryMastersHouse_MapScript1_26F841: @ 826F841 +Route123_BerryMastersHouse_MapScript1_SetLandmark: @ 826F841 setflag FLAG_LANDMARK_BERRY_MASTERS_HOUSE end diff --git a/data/maps/Route124/map.json b/data/maps/Route124/map.json index c1a22a2d06..9132089545 100644 --- a/data/maps/Route124/map.json +++ b/data/maps/Route124/map.json @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route124_EventScript_290FF1", + "script": "Route124_EventScript_ItemRedShard", "flag": "FLAG_ITEM_ROUTE_124_RED_SHARD" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route124_EventScript_290FFE", + "script": "Route124_EventScript_ItemBlueShard", "flag": "FLAG_ITEM_ROUTE_124_BLUE_SHARD" }, { @@ -141,7 +141,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route124_EventScript_29100B", + "script": "Route124_EventScript_ItemYellowShard", "flag": "FLAG_ITEM_ROUTE_124_YELLOW_SHARD" }, { diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc index 250a5ba513..a1b7527a1e 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc +++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc @@ -1,8 +1,8 @@ Route124_DivingTreasureHuntersHouse_MapScripts:: @ 8270A28 - map_script MAP_SCRIPT_ON_TRANSITION, Route124_DivingTreasureHuntersHouse_MapScript1_270A2E + map_script MAP_SCRIPT_ON_TRANSITION, Route124_DivingTreasureHuntersHouse_MapScript1_SetLandmark .byte 0 -Route124_DivingTreasureHuntersHouse_MapScript1_270A2E: @ 8270A2E +Route124_DivingTreasureHuntersHouse_MapScript1_SetLandmark: @ 8270A2E setflag FLAG_LANDMARK_HUNTERS_HOUSE end diff --git a/data/maps/Route125/map.json b/data/maps/Route125/map.json index 0ce520fdde..27615a521b 100644 --- a/data/maps/Route125/map.json +++ b/data/maps/Route125/map.json @@ -157,7 +157,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route125_EventScript_291018", + "script": "Route125_EventScript_ItemBigPearl", "flag": "FLAG_ITEM_ROUTE_125_BIG_PEARL" } ], diff --git a/data/maps/Route126/map.json b/data/maps/Route126/map.json index ea63eb80dd..b8359bd842 100644 --- a/data/maps/Route126/map.json +++ b/data/maps/Route126/map.json @@ -92,7 +92,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route126_EventScript_291025", + "script": "Route126_EventScript_ItemGreenShard", "flag": "FLAG_ITEM_ROUTE_126_GREEN_SHARD" }, { diff --git a/data/maps/Route127/map.json b/data/maps/Route127/map.json index e4a68c3e19..08d39d9712 100644 --- a/data/maps/Route127/map.json +++ b/data/maps/Route127/map.json @@ -71,7 +71,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route127_EventScript_291032", + "script": "Route127_EventScript_ItemZinc", "flag": "FLAG_ITEM_ROUTE_127_ZINC" }, { @@ -84,7 +84,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route127_EventScript_29103F", + "script": "Route127_EventScript_ItemCarbos", "flag": "FLAG_ITEM_ROUTE_127_CARBOS" }, { @@ -175,7 +175,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route127_EventScript_29104C", + "script": "Route127_EventScript_ItemRareCandy", "flag": "FLAG_ITEM_ROUTE_127_RARE_CANDY" } ], diff --git a/data/maps/Route132/map.json b/data/maps/Route132/map.json index 15c0de83d8..8a75978263 100644 --- a/data/maps/Route132/map.json +++ b/data/maps/Route132/map.json @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route132_EventScript_291059", + "script": "Route132_EventScript_ItemRareCandy", "flag": "FLAG_ITEM_ROUTE_132_RARE_CANDY" }, { @@ -152,7 +152,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route132_EventScript_291066", + "script": "Route132_EventScript_ItemProtein", "flag": "FLAG_ITEM_ROUTE_132_PROTEIN" } ], diff --git a/data/maps/Route133/map.json b/data/maps/Route133/map.json index eed30d7ee3..8622515f0b 100644 --- a/data/maps/Route133/map.json +++ b/data/maps/Route133/map.json @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route133_EventScript_291073", + "script": "Route133_EventScript_ItemBigPearl", "flag": "FLAG_ITEM_ROUTE_133_BIG_PEARL" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route133_EventScript_291080", + "script": "Route133_EventScript_ItemStarPiece", "flag": "FLAG_ITEM_ROUTE_133_STAR_PIECE" }, { @@ -152,7 +152,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route133_EventScript_29108D", + "script": "Route133_EventScript_ItemMaxRevive", "flag": "FLAG_ITEM_ROUTE_133_MAX_REVIVE" } ], diff --git a/data/maps/Route134/map.json b/data/maps/Route134/map.json index 8b3a9518e9..e459205768 100644 --- a/data/maps/Route134/map.json +++ b/data/maps/Route134/map.json @@ -152,7 +152,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route134_EventScript_29109A", + "script": "Route134_EventScript_ItemCarbos", "flag": "FLAG_ITEM_ROUTE_134_CARBOS" }, { @@ -165,7 +165,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route134_EventScript_2910A7", + "script": "Route134_EventScript_ItemStarPiece", "flag": "FLAG_ITEM_ROUTE_134_STAR_PIECE" } ], diff --git a/data/maps/RustboroCity/map.json b/data/maps/RustboroCity/map.json index 04c68baa31..94e22985be 100644 --- a/data/maps/RustboroCity/map.json +++ b/data/maps/RustboroCity/map.json @@ -183,7 +183,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_2910DB", + "script": "RustboroCity_EventScript_ItemXDefend", "flag": "FLAG_ITEM_RUSTBORO_CITY_X_DEFEND" }, { diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json index b873c76c8a..9fc3787292 100644 --- a/data/maps/RusturfTunnel/map.json +++ b/data/maps/RusturfTunnel/map.json @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_291136", + "script": "RusturfTunnel_EventScript_ItemPokeBall", "flag": "FLAG_ITEM_RUSTURF_TUNNEL_POKE_BALL" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_291143", + "script": "RusturfTunnel_EventScript_ItemMaxEther", "flag": "FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER" }, { diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json index 7c637f0efc..967e55f3ec 100644 --- a/data/maps/SafariZone_North/map.json +++ b/data/maps/SafariZone_North/map.json @@ -144,7 +144,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2912C9", + "script": "SafariZone_North_EventScript_ItemCalcium", "flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_CALCIUM" } ], diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json index 8e3337f532..94c2c268f4 100644 --- a/data/maps/SafariZone_Northeast/map.json +++ b/data/maps/SafariZone_Northeast/map.json @@ -139,7 +139,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2912E3", + "script": "SafariZone_Northeast_EventScript_ItemNugget", "flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_EAST_NUGGET" } ], diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json index 2d3a1fa494..6ead6d714c 100644 --- a/data/maps/SafariZone_Northwest/map.json +++ b/data/maps/SafariZone_Northwest/map.json @@ -48,7 +48,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northwest_EventScript_2912BC", + "script": "SafariZone_Northwest_EventScript_ItemTM22", "flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22" } ], diff --git a/data/maps/SafariZone_Southeast/map.json b/data/maps/SafariZone_Southeast/map.json index 3ace624882..cb293b149f 100644 --- a/data/maps/SafariZone_Southeast/map.json +++ b/data/maps/SafariZone_Southeast/map.json @@ -74,7 +74,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Southeast_EventScript_2912F0", + "script": "SafariZone_Southeast_EventScript_ItemBigPearl", "flag": "FLAG_ITEM_SAFARI_ZONE_SOUTH_EAST_BIG_PEARL" }, { diff --git a/data/maps/SafariZone_Southwest/map.json b/data/maps/SafariZone_Southwest/map.json index 5e383a694d..3784db8011 100644 --- a/data/maps/SafariZone_Southwest/map.json +++ b/data/maps/SafariZone_Southwest/map.json @@ -48,7 +48,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Southwest_EventScript_2912D6", + "script": "SafariZone_Southwest_EventScript_ItemMaxRevive", "flag": "FLAG_ITEM_SAFARI_ZONE_SOUTH_WEST_MAX_REVIVE" } ], diff --git a/data/maps/ScorchedSlab/map.json b/data/maps/ScorchedSlab/map.json index 304ebd6763..5abcf9adfe 100644 --- a/data/maps/ScorchedSlab/map.json +++ b/data/maps/ScorchedSlab/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ScorchedSlab_EventScript_2912AF", + "script": "ScorchedSlab_EventScript_ItemTM11", "flag": "FLAG_ITEM_SCORCHED_SLAB_TM_11" } ], diff --git a/data/maps/ScorchedSlab/scripts.inc b/data/maps/ScorchedSlab/scripts.inc index 62a5467807..3d6aa1cfec 100644 --- a/data/maps/ScorchedSlab/scripts.inc +++ b/data/maps/ScorchedSlab/scripts.inc @@ -1,8 +1,8 @@ ScorchedSlab_MapScripts:: @ 8239291 - map_script MAP_SCRIPT_ON_TRANSITION, ScorchedSlab_MapScript1_239297 + map_script MAP_SCRIPT_ON_TRANSITION, ScorchedSlab_MapScript1_SetLandmark .byte 0 -ScorchedSlab_MapScript1_239297: @ 8239297 +ScorchedSlab_MapScript1_SetLandmark: @ 8239297 setflag FLAG_LANDMARK_SCORCHED_SLAB end diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json index f4f7fd3362..77dcdc1697 100644 --- a/data/maps/SeafloorCavern_Room9/map.json +++ b/data/maps/SeafloorCavern_Room9/map.json @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room9_EventScript_291401", + "script": "SeafloorCavern_Room9_EventScript_ItemTM26", "flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26" }, { diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc index 71e6426fe2..f0337548e4 100644 --- a/data/maps/SealedChamber_OuterRoom/scripts.inc +++ b/data/maps/SealedChamber_OuterRoom/scripts.inc @@ -1,6 +1,6 @@ SealedChamber_OuterRoom_MapScripts:: @ 8239106 map_script MAP_SCRIPT_ON_RESUME, SealedChamber_OuterRoom_MapScript1_239116 - map_script MAP_SCRIPT_ON_TRANSITION, SealedChamber_OuterRoom_MapScript1_239127 + map_script MAP_SCRIPT_ON_TRANSITION, SealedChamber_OuterRoom_MapScript1_SetLandmark map_script MAP_SCRIPT_ON_LOAD, SealedChamber_OuterRoom_MapScript1_23912B .byte 0 @@ -9,7 +9,7 @@ SealedChamber_OuterRoom_MapScript1_239116: @ 8239116 setescapewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44 end -SealedChamber_OuterRoom_MapScript1_239127: @ 8239127 +SealedChamber_OuterRoom_MapScript1_SetLandmark: @ 8239127 setflag FLAG_LANDMARK_SEALED_CHAMBER end diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/map.json b/data/maps/ShoalCave_LowTideEntranceRoom/map.json index 1ebb9f5551..4b5d231105 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/map.json +++ b/data/maps/ShoalCave_LowTideEntranceRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideEntranceRoom_EventScript_2913C0", + "script": "ShoalCave_LowTideEntranceRoom_EventScript_ItemBigPearl", "flag": "FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL" }, { diff --git a/data/maps/ShoalCave_LowTideIceRoom/map.json b/data/maps/ShoalCave_LowTideIceRoom/map.json index dffef7da9a..d2f69b51f3 100644 --- a/data/maps/ShoalCave_LowTideIceRoom/map.json +++ b/data/maps/ShoalCave_LowTideIceRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideIceRoom_EventScript_2913E7", + "script": "ShoalCave_LowTideIceRoom_EventScript_ItemTM07", "flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideIceRoom_EventScript_2913F4", + "script": "ShoalCave_LowTideIceRoom_EventScript_ItemNeverMeltIce", "flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE" } ], diff --git a/data/maps/ShoalCave_LowTideInnerRoom/map.json b/data/maps/ShoalCave_LowTideInnerRoom/map.json index 04e4ec67f9..f9eec06c44 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/map.json +++ b/data/maps/ShoalCave_LowTideInnerRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideInnerRoom_EventScript_2913CD", + "script": "ShoalCave_LowTideInnerRoom_EventScript_ItemRareCandy", "flag": "FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY" } ], diff --git a/data/maps/ShoalCave_LowTideStairsRoom/map.json b/data/maps/ShoalCave_LowTideStairsRoom/map.json index 239effc745..4da33c1635 100644 --- a/data/maps/ShoalCave_LowTideStairsRoom/map.json +++ b/data/maps/ShoalCave_LowTideStairsRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideStairsRoom_EventScript_2913DA", + "script": "ShoalCave_LowTideStairsRoom_EventScript_ItemIceHeal", "flag": "FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL" } ], diff --git a/data/maps/SkyPillar_Entrance/scripts.inc b/data/maps/SkyPillar_Entrance/scripts.inc index 40d57a4851..7b5434efff 100644 --- a/data/maps/SkyPillar_Entrance/scripts.inc +++ b/data/maps/SkyPillar_Entrance/scripts.inc @@ -1,8 +1,8 @@ SkyPillar_Entrance_MapScripts:: @ 823929E - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Entrance_MapScript1_2392A4 + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Entrance_MapScript1_SetLandmark .byte 0 -SkyPillar_Entrance_MapScript1_2392A4: @ 82392A4 +SkyPillar_Entrance_MapScript1_SetLandmark: @ 82392A4 setflag FLAG_LANDMARK_SKY_PILLAR end diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index 618ce864a8..84406d1110 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -1,8 +1,8 @@ SouthernIsland_Exterior_MapScripts:: @ 82429C8 - map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Exterior_MapScript1_2429CE + map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Exterior_MapScript1_SetLandmark .byte 0 -SouthernIsland_Exterior_MapScript1_2429CE: @ 82429CE +SouthernIsland_Exterior_MapScript1_SetLandmark: @ 82429CE setflag FLAG_LANDMARK_SOUTHERN_ISLAND end diff --git a/data/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json index 05eb2b7959..8685f3341a 100644 --- a/data/maps/VictoryRoad_1F/map.json +++ b/data/maps/VictoryRoad_1F/map.json @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_1F_EventScript_291483", + "script": "VictoryRoad_1F_EventScript_ItemMaxElixir", "flag": "FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_1F_EventScript_291490", + "script": "VictoryRoad_1F_EventScript_ItemPPUp", "flag": "FLAG_ITEM_VICTORY_ROAD_1F_PP_UP" }, { diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json index 2fde100903..74bd3dbf8e 100644 --- a/data/maps/VictoryRoad_B1F/map.json +++ b/data/maps/VictoryRoad_B1F/map.json @@ -245,7 +245,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_29149D", + "script": "VictoryRoad_B1F_EventScript_ItemTM29", "flag": "FLAG_ITEM_VICTORY_ROAD_B1F_TM_29" }, { @@ -258,7 +258,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2914AA", + "script": "VictoryRoad_B1F_EventScript_ItemFullRestore", "flag": "FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE" }, { diff --git a/data/maps/VictoryRoad_B2F/map.json b/data/maps/VictoryRoad_B2F/map.json index fd9195ed45..de10ef8916 100644 --- a/data/maps/VictoryRoad_B2F/map.json +++ b/data/maps/VictoryRoad_B2F/map.json @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B2F_EventScript_2914B7", + "script": "VictoryRoad_B2F_EventScript_ItemFullHeal", "flag": "FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL" }, { diff --git a/data/scripts/item_ball_scripts.inc b/data/scripts/item_ball_scripts.inc index 2b0083175a..045fbb5a7f 100644 --- a/data/scripts/item_ball_scripts.inc +++ b/data/scripts/item_ball_scripts.inc @@ -1,659 +1,659 @@ -Route102_EventScript_290CD8:: @ 8290CD8 +Route102_EventScript_ItemPotion:: @ 8290CD8 giveitem_std ITEM_POTION, 1, 1 end -Route103_EventScript_290CE5:: @ 8290CE5 +Route103_EventScript_ItemGuardSpec:: @ 8290CE5 giveitem_std ITEM_GUARD_SPEC, 1, 1 end -Route103_EventScript_290CF2:: @ 8290CF2 +Route103_EventScript_ItemPPUp:: @ 8290CF2 giveitem_std ITEM_PP_UP, 1, 1 end -Route104_EventScript_290CFF:: @ 8290CFF +Route104_EventScript_ItemPPUp:: @ 8290CFF giveitem_std ITEM_PP_UP, 1, 1 end -Route104_EventScript_290D0C:: @ 8290D0C +Route104_EventScript_ItemPokeBall:: @ 8290D0C giveitem_std ITEM_POKE_BALL, 1, 1 end -Route104_EventScript_290D19:: @ 8290D19 +Route104_EventScript_ItemXAccuracy:: @ 8290D19 giveitem_std ITEM_X_ACCURACY, 1, 1 end -Route104_EventScript_290D26:: @ 8290D26 +Route104_EventScript_ItemPotion:: @ 8290D26 giveitem_std ITEM_POTION, 1, 1 end -Route105_EventScript_290D33:: @ 8290D33 +Route105_EventScript_ItemIron:: @ 8290D33 giveitem_std ITEM_IRON, 1, 1 end -Route106_EventScript_290D40:: @ 8290D40 +Route106_EventScript_ItemProtein:: @ 8290D40 giveitem_std ITEM_PROTEIN, 1, 1 end -Route108_EventScript_290D4D:: @ 8290D4D +Route108_EventScript_ItemStarPiece:: @ 8290D4D giveitem_std ITEM_STAR_PIECE, 1, 1 end -Route109_EventScript_290D5A:: @ 8290D5A +Route109_EventScript_ItemPPUp:: @ 8290D5A giveitem_std ITEM_PP_UP, 1, 1 end -Route109_EventScript_290D67:: @ 8290D67 +Route109_EventScript_ItemPotion:: @ 8290D67 giveitem_std ITEM_POTION, 1, 1 end -Route110_EventScript_290D74:: @ 8290D74 +Route110_EventScript_ItemRareCandy:: @ 8290D74 giveitem_std ITEM_RARE_CANDY, 1, 1 end -Route110_EventScript_290D81:: @ 8290D81 +Route110_EventScript_ItemDireHit:: @ 8290D81 giveitem_std ITEM_DIRE_HIT, 1, 1 end -Route110_EventScript_290D8E:: @ 8290D8E +Route110_EventScript_ItemElixir:: @ 8290D8E giveitem_std ITEM_ELIXIR, 1, 1 end -Route111_EventScript_290D9B:: @ 8290D9B +Route111_EventScript_ItemTM37:: @ 8290D9B giveitem_std ITEM_TM37, 1, 1 end -Route111_EventScript_290DA8:: @ 8290DA8 +Route111_EventScript_ItemStardust:: @ 8290DA8 giveitem_std ITEM_STARDUST, 1, 1 end -Route111_EventScript_290DB5:: @ 8290DB5 +Route111_EventScript_ItemHPUp:: @ 8290DB5 giveitem_std ITEM_HP_UP, 1, 1 end -Route111_EventScript_290DC2:: @ 8290DC2 +Route111_EventScript_ItemElixir:: @ 8290DC2 giveitem_std ITEM_ELIXIR, 1, 1 end -Route112_EventScript_290DCF:: @ 8290DCF +Route112_EventScript_ItemNugget:: @ 8290DCF giveitem_std ITEM_NUGGET, 1, 1 end -Route113_EventScript_290DDC:: @ 8290DDC +Route113_EventScript_ItemMaxEther:: @ 8290DDC giveitem_std ITEM_MAX_ETHER, 1, 1 end -Route113_EventScript_290DE9:: @ 8290DE9 +Route113_EventScript_ItemSuperRepel:: @ 8290DE9 giveitem_std ITEM_SUPER_REPEL, 1, 1 end -Route113_EventScript_290DF6:: @ 8290DF6 +Route113_EventScript_ItemHyperPotion:: @ 8290DF6 giveitem_std ITEM_HYPER_POTION, 1, 1 end -Route114_EventScript_290E03:: @ 8290E03 +Route114_EventScript_ItemRareCandy:: @ 8290E03 giveitem_std ITEM_RARE_CANDY, 1, 1 end -Route114_EventScript_290E10:: @ 8290E10 +Route114_EventScript_ItemProtein:: @ 8290E10 giveitem_std ITEM_PROTEIN, 1, 1 end -Route114_EventScript_290E1D:: @ 8290E1D +Route114_EventScript_ItemEnergyPowder:: @ 8290E1D giveitem_std ITEM_ENERGY_POWDER, 1, 1 end -Route115_EventScript_290E2A:: @ 8290E2A +Route115_EventScript_ItemSuperPotion:: @ 8290E2A giveitem_std ITEM_SUPER_POTION, 1, 1 end -Route115_EventScript_290E37:: @ 8290E37 +Route115_EventScript_ItemTM01:: @ 8290E37 giveitem_std ITEM_TM01, 1, 1 end -Route115_EventScript_290E44:: @ 8290E44 +Route115_EventScript_ItemIron:: @ 8290E44 giveitem_std ITEM_IRON, 1, 1 end -Route115_EventScript_290E51:: @ 8290E51 +Route115_EventScript_ItemGreatBall:: @ 8290E51 giveitem_std ITEM_GREAT_BALL, 1, 1 end -Route115_EventScript_290E5E:: @ 8290E5E +Route115_EventScript_ItemHealPowder:: @ 8290E5E giveitem_std ITEM_HEAL_POWDER, 1, 1 end -Route115_EventScript_290E6B:: @ 8290E6B +Route115_EventScript_ItemPPUp:: @ 8290E6B giveitem_std ITEM_PP_UP, 1, 1 end -Route116_EventScript_290E78:: @ 8290E78 +Route116_EventScript_ItemXSpecial:: @ 8290E78 giveitem_std ITEM_X_SPECIAL, 1, 1 end -Route116_EventScript_290E85:: @ 8290E85 +Route116_EventScript_ItemEther:: @ 8290E85 giveitem_std ITEM_ETHER, 1, 1 end -Route116_EventScript_290E92:: @ 8290E92 +Route116_EventScript_ItemRepel:: @ 8290E92 giveitem_std ITEM_REPEL, 1, 1 end -Route116_EventScript_290E9F:: @ 8290E9F +Route116_EventScript_ItemHPUp:: @ 8290E9F giveitem_std ITEM_HP_UP, 1, 1 end -Route116_EventScript_290EAC:: @ 8290EAC +Route116_EventScript_ItemPotion:: @ 8290EAC giveitem_std ITEM_POTION, 1, 1 end -Route117_EventScript_290EB9:: @ 8290EB9 +Route117_EventScript_ItemGreatBall:: @ 8290EB9 giveitem_std ITEM_GREAT_BALL, 1, 1 end -Route117_EventScript_290EC6:: @ 8290EC6 +Route117_EventScript_ItemRevive:: @ 8290EC6 giveitem_std ITEM_REVIVE, 1, 1 end -Route118_EventScript_290ED3:: @ 8290ED3 +Route118_EventScript_ItemHyperPotion:: @ 8290ED3 giveitem_std ITEM_HYPER_POTION, 1, 1 end -Route119_EventScript_290EE0:: @ 8290EE0 +Route119_EventScript_ItemSuperRepel:: @ 8290EE0 giveitem_std ITEM_SUPER_REPEL, 1, 1 end -Route119_EventScript_290EED:: @ 8290EED +Route119_EventScript_ItemZinc:: @ 8290EED giveitem_std ITEM_ZINC, 1, 1 end -Route119_EventScript_290EFA:: @ 8290EFA +Route119_EventScript_ItemElixir:: @ 8290EFA giveitem_std ITEM_ELIXIR, 1, 1 end -Route119_EventScript_290F07:: @ 8290F07 +Route119_EventScript_ItemLeafStone:: @ 8290F07 giveitem_std ITEM_LEAF_STONE, 1, 1 end -Route119_EventScript_290F14:: @ 8290F14 +Route119_EventScript_ItemRareCandy:: @ 8290F14 giveitem_std ITEM_RARE_CANDY, 1, 1 end -Route119_EventScript_290F21:: @ 8290F21 +Route119_EventScript_ItemHyperPotion:: @ 8290F21 giveitem_std ITEM_HYPER_POTION, 1, 1 end -Route119_EventScript_290F2E:: @ 8290F2E +Route119_EventScript_ItemHyperPotion2:: @ 8290F2E giveitem_std ITEM_HYPER_POTION, 1, 1 end -Route119_EventScript_290F3B:: @ 8290F3B +Route119_EventScript_ItemElixir2:: @ 8290F3B giveitem_std ITEM_ELIXIR, 1, 1 end -Route120_EventScript_290F48:: @ 8290F48 +Route120_EventScript_ItemNugget:: @ 8290F48 giveitem_std ITEM_NUGGET, 1, 1 end -Route120_EventScript_290F55:: @ 8290F55 +Route120_EventScript_ItemFullHeal:: @ 8290F55 giveitem_std ITEM_FULL_HEAL, 1, 1 end -Route120_EventScript_290F62:: @ 8290F62 +Route120_EventScript_ItemHyperPotion:: @ 8290F62 giveitem_std ITEM_HYPER_POTION, 1, 1 end -Route120_EventScript_290F6F:: @ 8290F6F +Route120_EventScript_ItemNestBall:: @ 8290F6F giveitem_std ITEM_NEST_BALL, 1, 1 end -Route120_EventScript_290F7C:: @ 8290F7C +Route120_EventScript_ItemRevive:: @ 8290F7C giveitem_std ITEM_REVIVE, 1, 1 end -Route121_EventScript_290F89:: @ 8290F89 +Route121_EventScript_ItemCarbos:: @ 8290F89 giveitem_std ITEM_CARBOS, 1, 1 end -Route121_EventScript_290F96:: @ 8290F96 +Route121_EventScript_ItemRevive:: @ 8290F96 giveitem_std ITEM_REVIVE, 1, 1 end -Route121_EventScript_290FA3:: @ 8290FA3 +Route121_EventScript_ItemZinc:: @ 8290FA3 giveitem_std ITEM_ZINC, 1, 1 end -Route123_EventScript_290FB0:: @ 8290FB0 +Route123_EventScript_ItemCalcium:: @ 8290FB0 giveitem_std ITEM_CALCIUM, 1, 1 end -Route123_EventScript_290FBD:: @ 8290FBD +Route123_EventScript_ItemUltraBall:: @ 8290FBD giveitem_std ITEM_ULTRA_BALL, 1, 1 end -Route123_EventScript_290FCA:: @ 8290FCA +Route123_EventScript_ItemElixir:: @ 8290FCA giveitem_std ITEM_ELIXIR, 1, 1 end -Route123_EventScript_290FD7:: @ 8290FD7 +Route123_EventScript_ItemPPUp:: @ 8290FD7 giveitem_std ITEM_PP_UP, 1, 1 end -Route123_EventScript_290FE4:: @ 8290FE4 +Route123_EventScript_ItemRevivalHerb:: @ 8290FE4 giveitem_std ITEM_REVIVAL_HERB, 1, 1 end -Route124_EventScript_290FF1:: @ 8290FF1 +Route124_EventScript_ItemRedShard:: @ 8290FF1 giveitem_std ITEM_RED_SHARD, 1, 1 end -Route124_EventScript_290FFE:: @ 8290FFE +Route124_EventScript_ItemBlueShard:: @ 8290FFE giveitem_std ITEM_BLUE_SHARD, 1, 1 end -Route124_EventScript_29100B:: @ 829100B +Route124_EventScript_ItemYellowShard:: @ 829100B giveitem_std ITEM_YELLOW_SHARD, 1, 1 end -Route125_EventScript_291018:: @ 8291018 +Route125_EventScript_ItemBigPearl:: @ 8291018 giveitem_std ITEM_BIG_PEARL, 1, 1 end -Route126_EventScript_291025:: @ 8291025 +Route126_EventScript_ItemGreenShard:: @ 8291025 giveitem_std ITEM_GREEN_SHARD, 1, 1 end -Route127_EventScript_291032:: @ 8291032 +Route127_EventScript_ItemZinc:: @ 8291032 giveitem_std ITEM_ZINC, 1, 1 end -Route127_EventScript_29103F:: @ 829103F +Route127_EventScript_ItemCarbos:: @ 829103F giveitem_std ITEM_CARBOS, 1, 1 end -Route127_EventScript_29104C:: @ 829104C +Route127_EventScript_ItemRareCandy:: @ 829104C giveitem_std ITEM_RARE_CANDY, 1, 1 end -Route132_EventScript_291059:: @ 8291059 +Route132_EventScript_ItemRareCandy:: @ 8291059 giveitem_std ITEM_RARE_CANDY, 1, 1 end -Route132_EventScript_291066:: @ 8291066 +Route132_EventScript_ItemProtein:: @ 8291066 giveitem_std ITEM_PROTEIN, 1, 1 end -Route133_EventScript_291073:: @ 8291073 +Route133_EventScript_ItemBigPearl:: @ 8291073 giveitem_std ITEM_BIG_PEARL, 1, 1 end -Route133_EventScript_291080:: @ 8291080 +Route133_EventScript_ItemStarPiece:: @ 8291080 giveitem_std ITEM_STAR_PIECE, 1, 1 end -Route133_EventScript_29108D:: @ 829108D +Route133_EventScript_ItemMaxRevive:: @ 829108D giveitem_std ITEM_MAX_REVIVE, 1, 1 end -Route134_EventScript_29109A:: @ 829109A +Route134_EventScript_ItemCarbos:: @ 829109A giveitem_std ITEM_CARBOS, 1, 1 end -Route134_EventScript_2910A7:: @ 82910A7 +Route134_EventScript_ItemStarPiece:: @ 82910A7 giveitem_std ITEM_STAR_PIECE, 1, 1 end -PetalburgCity_EventScript_2910B4:: @ 82910B4 +PetalburgCity_EventScript_ItemMaxRevive:: @ 82910B4 giveitem_std ITEM_MAX_REVIVE, 1, 1 end -PetalburgCity_EventScript_2910C1:: @ 82910C1 +PetalburgCity_EventScript_ItemEther:: @ 82910C1 giveitem_std ITEM_ETHER, 1, 1 end -MauvilleCity_EventScript_2910CE:: @ 82910CE +MauvilleCity_EventScript_ItemXSpeed:: @ 82910CE giveitem_std ITEM_X_SPEED, 1, 1 end -RustboroCity_EventScript_2910DB:: @ 82910DB +RustboroCity_EventScript_ItemXDefend:: @ 82910DB giveitem_std ITEM_X_DEFEND, 1, 1 end -LilycoveCity_EventScript_2910E8:: @ 82910E8 +LilycoveCity_EventScript_ItemMaxRepel:: @ 82910E8 giveitem_std ITEM_MAX_REPEL, 1, 1 end -MossdeepCity_EventScript_2910F5:: @ 82910F5 +MossdeepCity_EventScript_ItemNetBall:: @ 82910F5 giveitem_std ITEM_NET_BALL, 1, 1 end -PetalburgWoods_EventScript_291102:: @ 8291102 +PetalburgWoods_EventScript_ItemXAttack:: @ 8291102 giveitem_std ITEM_X_ATTACK, 1, 1 end -PetalburgWoods_EventScript_29110F:: @ 829110F +PetalburgWoods_EventScript_ItemGreatBall:: @ 829110F giveitem_std ITEM_GREAT_BALL, 1, 1 end -PetalburgWoods_EventScript_29111C:: @ 829111C +PetalburgWoods_EventScript_ItemEther:: @ 829111C giveitem_std ITEM_ETHER, 1, 1 end -PetalburgWoods_EventScript_291129:: @ 8291129 +PetalburgWoods_EventScript_ItemParalyzeHeal:: @ 8291129 giveitem_std ITEM_PARALYZE_HEAL, 1, 1 end -RusturfTunnel_EventScript_291136:: @ 8291136 +RusturfTunnel_EventScript_ItemPokeBall:: @ 8291136 giveitem_std ITEM_POKE_BALL, 1, 1 end -RusturfTunnel_EventScript_291143:: @ 8291143 +RusturfTunnel_EventScript_ItemMaxEther:: @ 8291143 giveitem_std ITEM_MAX_ETHER, 1, 1 end -GraniteCave_1F_EventScript_291150:: @ 8291150 +GraniteCave_1F_EventScript_ItemEscapeRope:: @ 8291150 giveitem_std ITEM_ESCAPE_ROPE, 1, 1 end -GraniteCave_B1F_EventScript_29115D:: @ 829115D +GraniteCave_B1F_EventScript_ItemPokeBall:: @ 829115D giveitem_std ITEM_POKE_BALL, 1, 1 end -GraniteCave_B2F_EventScript_29116A:: @ 829116A +GraniteCave_B2F_EventScript_ItemRepel:: @ 829116A giveitem_std ITEM_REPEL, 1, 1 end -GraniteCave_B2F_EventScript_291177:: @ 8291177 +GraniteCave_B2F_EventScript_ItemRareCandy:: @ 8291177 giveitem_std ITEM_RARE_CANDY, 1, 1 end -JaggedPass_EventScript_291184:: @ 8291184 +JaggedPass_EventScript_ItemBurnHeal:: @ 8291184 giveitem_std ITEM_BURN_HEAL, 1, 1 end -FieryPath_EventScript_291191:: @ 8291191 +FieryPath_EventScript_ItemFireStone:: @ 8291191 giveitem_std ITEM_FIRE_STONE, 1, 1 end -FieryPath_EventScript_29119E:: @ 829119E +FieryPath_EventScript_ItemTM06:: @ 829119E giveitem_std ITEM_TM06, 1, 1 end -MeteorFalls_1F_1R_EventScript_2911AB:: @ 82911AB +MeteorFalls_1F_1R_EventScript_ItemTM23:: @ 82911AB giveitem_std ITEM_TM23, 1, 1 end -MeteorFalls_1F_1R_EventScript_2911B8:: @ 82911B8 +MeteorFalls_1F_1R_EventScript_ItemFullHeal:: @ 82911B8 giveitem_std ITEM_FULL_HEAL, 1, 1 end -MeteorFalls_1F_1R_EventScript_2911C5:: @ 82911C5 +MeteorFalls_1F_1R_EventScript_ItemMoonStone:: @ 82911C5 giveitem_std ITEM_MOON_STONE, 1, 1 end -MeteorFalls_1F_1R_EventScript_2911D2:: @ 82911D2 +MeteorFalls_1F_1R_EventScript_ItemPPUP:: @ 82911D2 giveitem_std ITEM_PP_UP, 1, 1 end -MeteorFalls_B1F_2R_EventScript_2911DF:: @ 82911DF +MeteorFalls_B1F_2R_EventScript_ItemTM02:: @ 82911DF giveitem_std ITEM_TM02, 1, 1 end -NewMauville_Inside_EventScript_2911EC:: @ 82911EC +NewMauville_Inside_EventScript_ItemUltraRope:: @ 82911EC giveitem_std ITEM_ULTRA_BALL, 1, 1 end -NewMauville_Inside_EventScript_2911F9:: @ 82911F9 +NewMauville_Inside_EventScript_ItemEscapeRope:: @ 82911F9 giveitem_std ITEM_ESCAPE_ROPE, 1, 1 end -NewMauville_Inside_EventScript_291206:: @ 8291206 +NewMauville_Inside_EventScript_ItemThunderStone:: @ 8291206 giveitem_std ITEM_THUNDER_STONE, 1, 1 end -NewMauville_Inside_EventScript_291213:: @ 8291213 +NewMauville_Inside_EventScript_ItemFullHeal:: @ 8291213 giveitem_std ITEM_FULL_HEAL, 1, 1 end -NewMauville_Inside_EventScript_291220:: @ 8291220 +NewMauville_Inside_EventScript_ItemParalyzeHeal:: @ 8291220 giveitem_std ITEM_PARALYZE_HEAL, 1, 1 end -AbandonedShip_Rooms_1F_EventScript_29122D:: @ 829122D +AbandonedShip_Rooms_1F_EventScript_ItemHarborMail:: @ 829122D giveitem_std ITEM_HARBOR_MAIL, 1, 1 end -AbandonedShip_Rooms_B1F_EventScript_29123A:: @ 829123A +AbandonedShip_Rooms_B1F_EventScript_ItemEscapeRope:: @ 829123A giveitem_std ITEM_ESCAPE_ROPE, 1, 1 end -AbandonedShip_Rooms2_B1F_EventScript_291247:: @ 8291247 +AbandonedShip_Rooms2_B1F_EventScript_ItemDiveBall:: @ 8291247 giveitem_std ITEM_DIVE_BALL, 1, 1 end -AbandonedShip_Room_B1F_EventScript_291254:: @ 8291254 +AbandonedShip_Room_B1F_EventScript_ItemTM13:: @ 8291254 giveitem_std ITEM_TM13, 1, 1 end -AbandonedShip_Rooms2_1F_EventScript_291261:: @ 8291261 +AbandonedShip_Rooms2_1F_EventScript_ItemRevive:: @ 8291261 giveitem_std ITEM_REVIVE, 1, 1 end -AbandonedShip_CaptainsOffice_EventScript_29126E:: @ 829126E +AbandonedShip_CaptainsOffice_EventScript_ItemStorageKey:: @ 829126E giveitem_std ITEM_STORAGE_KEY, 1, 1 end -AbandonedShip_HiddenFloorRooms_EventScript_29127B:: @ 829127B +AbandonedShip_HiddenFloorRooms_EventScript_ItemLuxuryBall:: @ 829127B giveitem_std ITEM_LUXURY_BALL, 1, 1 end -AbandonedShip_HiddenFloorRooms_EventScript_291288:: @ 8291288 +AbandonedShip_HiddenFloorRooms_EventScript_ItemScanner:: @ 8291288 giveitem_std ITEM_SCANNER, 1, 1 end -AbandonedShip_HiddenFloorRooms_EventScript_291295:: @ 8291295 +AbandonedShip_HiddenFloorRooms_EventScript_ItemWaterStone:: @ 8291295 giveitem_std ITEM_WATER_STONE, 1, 1 end -AbandonedShip_HiddenFloorRooms_EventScript_2912A2:: @ 82912A2 +AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18:: @ 82912A2 giveitem_std ITEM_TM18, 1, 1 end -ScorchedSlab_EventScript_2912AF:: @ 82912AF +ScorchedSlab_EventScript_ItemTM11:: @ 82912AF giveitem_std ITEM_TM11, 1, 1 end -SafariZone_Northwest_EventScript_2912BC:: @ 82912BC +SafariZone_Northwest_EventScript_ItemTM22:: @ 82912BC giveitem_std ITEM_TM22, 1, 1 end -SafariZone_North_EventScript_2912C9:: @ 82912C9 +SafariZone_North_EventScript_ItemCalcium:: @ 82912C9 giveitem_std ITEM_CALCIUM, 1, 1 end -SafariZone_Southwest_EventScript_2912D6:: @ 82912D6 +SafariZone_Southwest_EventScript_ItemMaxRevive:: @ 82912D6 giveitem_std ITEM_MAX_REVIVE, 1, 1 end -SafariZone_Northeast_EventScript_2912E3:: @ 82912E3 +SafariZone_Northeast_EventScript_ItemNugget:: @ 82912E3 giveitem_std ITEM_NUGGET, 1, 1 end -SafariZone_Southeast_EventScript_2912F0:: @ 82912F0 +SafariZone_Southeast_EventScript_ItemBigPearl:: @ 82912F0 giveitem_std ITEM_BIG_PEARL, 1, 1 end -MtPyre_2F_EventScript_2912FD:: @ 82912FD +MtPyre_2F_EventScript_ItemUltraBall:: @ 82912FD giveitem_std ITEM_ULTRA_BALL, 1, 1 end -MtPyre_3F_EventScript_29130A:: @ 829130A +MtPyre_3F_EventScript_ItemSuperRepel:: @ 829130A giveitem_std ITEM_SUPER_REPEL, 1, 1 end -MtPyre_4F_EventScript_291317:: @ 8291317 +MtPyre_4F_EventScript_ItemSeaIncense:: @ 8291317 giveitem_std ITEM_SEA_INCENSE, 1, 1 end -MtPyre_5F_EventScript_291324:: @ 8291324 +MtPyre_5F_EventScript_ItemLaxIncense:: @ 8291324 giveitem_std ITEM_LAX_INCENSE, 1, 1 end -MtPyre_6F_EventScript_291331:: @ 8291331 +MtPyre_6F_EventScript_ItemTM30:: @ 8291331 giveitem_std ITEM_TM30, 1, 1 end -MtPyre_Exterior_EventScript_29133E:: @ 829133E +MtPyre_Exterior_EventScript_ItemMaxPotion:: @ 829133E giveitem_std ITEM_MAX_POTION, 1, 1 end -MtPyre_Exterior_EventScript_29134B:: @ 829134B +MtPyre_Exterior_EventScript_ItemTM48:: @ 829134B giveitem_std ITEM_TM48, 1, 1 end -AquaHideout_B1F_EventScript_291358:: @ 8291358 +AquaHideout_B1F_EventScript_ItemMasterBall:: @ 8291358 giveitem_std ITEM_MASTER_BALL, 1, 1 end -AquaHideout_B1F_EventScript_291365:: @ 8291365 +AquaHideout_B1F_EventScript_ItemNugget:: @ 8291365 giveitem_std ITEM_NUGGET, 1, 1 end -AquaHideout_B1F_EventScript_291372:: @ 8291372 +AquaHideout_B1F_EventScript_ItemMaxElixir:: @ 8291372 giveitem_std ITEM_MAX_ELIXIR, 1, 1 end -AquaHideout_B2F_EventScript_29137F:: @ 829137F +AquaHideout_B2F_EventScript_ItemNestBall:: @ 829137F giveitem_std ITEM_NEST_BALL, 1, 1 end -AquaHideout_B2F_EventScript_29138C:: @ 829138C - giveitem_std ITEM_MASTER_BALL, 1, 1 +AquaHideout_B2F_EventScript_ItemMasterBall:: @ 829138C + giveitem_std ITEM_MASTER_BALL, 1, 1 // Unused end -Route119_EventScript_291399:: @ 8291399 +Route119_EventScript_ItemNugget:: @ 8291399 giveitem_std ITEM_NUGGET, 1, 1 end -Route119_EventScript_2913A6:: @ 82913A6 +Route119_EventScript_ItemMaxElixir:: @ 82913A6 giveitem_std ITEM_MAX_ELIXIR, 1, 1 end -Route119_EventScript_2913B3:: @ 82913B3 +Route119_EventScript_ItemNestBall:: @ 82913B3 giveitem_std ITEM_NEST_BALL, 1, 1 end -ShoalCave_LowTideEntranceRoom_EventScript_2913C0:: @ 82913C0 +ShoalCave_LowTideEntranceRoom_EventScript_ItemBigPearl:: @ 82913C0 giveitem_std ITEM_BIG_PEARL, 1, 1 end -ShoalCave_LowTideInnerRoom_EventScript_2913CD:: @ 82913CD +ShoalCave_LowTideInnerRoom_EventScript_ItemRareCandy:: @ 82913CD giveitem_std ITEM_RARE_CANDY, 1, 1 end -ShoalCave_LowTideStairsRoom_EventScript_2913DA:: @ 82913DA +ShoalCave_LowTideStairsRoom_EventScript_ItemIceHeal:: @ 82913DA giveitem_std ITEM_ICE_HEAL, 1, 1 end -ShoalCave_LowTideIceRoom_EventScript_2913E7:: @ 82913E7 +ShoalCave_LowTideIceRoom_EventScript_ItemTM07:: @ 82913E7 giveitem_std ITEM_TM07, 1, 1 end -ShoalCave_LowTideIceRoom_EventScript_2913F4:: @ 82913F4 +ShoalCave_LowTideIceRoom_EventScript_ItemNeverMeltIce:: @ 82913F4 giveitem_std ITEM_NEVER_MELT_ICE, 1, 1 end -SeafloorCavern_Room9_EventScript_291401:: @ 8291401 +SeafloorCavern_Room9_EventScript_ItemTM26:: @ 8291401 giveitem_std ITEM_TM26, 1, 1 end -Route110_TrickHousePuzzle1_EventScript_29140E:: @ 829140E +Route110_TrickHousePuzzle1_EventScript_ItemOrangeMail:: @ 829140E giveitem_std ITEM_ORANGE_MAIL, 1, 1 end -Route110_TrickHousePuzzle2_EventScript_29141B:: @ 829141B +Route110_TrickHousePuzzle2_EventScript_ItemHarborMail:: @ 829141B giveitem_std ITEM_HARBOR_MAIL, 1, 1 end -Route110_TrickHousePuzzle2_EventScript_291428:: @ 8291428 +Route110_TrickHousePuzzle2_EventScript_ItemWaveMail:: @ 8291428 giveitem_std ITEM_WAVE_MAIL, 1, 1 end -Route110_TrickHousePuzzle3_EventScript_291435:: @ 8291435 +Route110_TrickHousePuzzle3_EventScript_ItemShadowMail:: @ 8291435 giveitem_std ITEM_SHADOW_MAIL, 1, 1 end -Route110_TrickHousePuzzle3_EventScript_291442:: @ 8291442 +Route110_TrickHousePuzzle3_EventScript_ItemWoodMail:: @ 8291442 giveitem_std ITEM_WOOD_MAIL, 1, 1 end -Route110_TrickHousePuzzle4_EventScript_29144F:: @ 829144F +Route110_TrickHousePuzzle4_EventScript_ItemMechMail:: @ 829144F giveitem_std ITEM_MECH_MAIL, 1, 1 end -Route110_TrickHousePuzzle6_EventScript_29145C:: @ 829145C +Route110_TrickHousePuzzle6_EventScript_ItemGlitterMail:: @ 829145C giveitem_std ITEM_GLITTER_MAIL, 1, 1 end -Route110_TrickHousePuzzle7_EventScript_291469:: @ 8291469 +Route110_TrickHousePuzzle7_EventScript_ItemTropicMail:: @ 8291469 giveitem_std ITEM_TROPIC_MAIL, 1, 1 end -Route110_TrickHousePuzzle8_EventScript_291476:: @ 8291476 +Route110_TrickHousePuzzle8_EventScript_ItemBeadMail:: @ 8291476 giveitem_std ITEM_BEAD_MAIL, 1, 1 end -VictoryRoad_1F_EventScript_291483:: @ 8291483 +VictoryRoad_1F_EventScript_ItemMaxElixir:: @ 8291483 giveitem_std ITEM_MAX_ELIXIR, 1, 1 end -VictoryRoad_1F_EventScript_291490:: @ 8291490 +VictoryRoad_1F_EventScript_ItemPPUp:: @ 8291490 giveitem_std ITEM_PP_UP, 1, 1 end -VictoryRoad_B1F_EventScript_29149D:: @ 829149D +VictoryRoad_B1F_EventScript_ItemTM29:: @ 829149D giveitem_std ITEM_TM29, 1, 1 end -VictoryRoad_B1F_EventScript_2914AA:: @ 82914AA +VictoryRoad_B1F_EventScript_ItemFullRestore:: @ 82914AA giveitem_std ITEM_FULL_RESTORE, 1, 1 end -VictoryRoad_B2F_EventScript_2914B7:: @ 82914B7 +VictoryRoad_B2F_EventScript_ItemFullHeal:: @ 82914B7 giveitem_std ITEM_FULL_HEAL, 1, 1 end -ArtisanCave_B1F_EventScript_2914C4:: @ 82914C4 +ArtisanCave_B1F_EventScript_ItemHPUp:: @ 82914C4 giveitem_std ITEM_HP_UP, 1, 1 end -ArtisanCave_1F_EventScript_2914D1:: @ 82914D1 +ArtisanCave_1F_EventScript_ItemCarbos:: @ 82914D1 giveitem_std ITEM_CARBOS, 1, 1 end -MagmaHideout_1F_EventScript_2914DE:: @ 82914DE +MagmaHideout_1F_EventScript_ItemRareCandy:: @ 82914DE giveitem_std ITEM_RARE_CANDY, 1, 1 end -MagmaHideout_2F_2R_EventScript_2914EB:: @ 82914EB +MagmaHideout_2F_2R_EventScript_MaxElixir:: @ 82914EB giveitem_std ITEM_MAX_ELIXIR, 1, 1 end -MagmaHideout_2F_2R_EventScript_2914F8:: @ 82914F8 +MagmaHideout_2F_2R_EventScript_ItemFullRestore:: @ 82914F8 giveitem_std ITEM_FULL_RESTORE, 1, 1 end -MagmaHideout_3F_1R_EventScript_291505:: @ 8291505 +MagmaHideout_3F_1R_EventScript_ItemNugget:: @ 8291505 giveitem_std ITEM_NUGGET, 1, 1 end -MagmaHideout_3F_2R_EventScript_291512:: @ 8291512 +MagmaHideout_3F_2R_EventScript_ItemPPMax:: @ 8291512 giveitem_std ITEM_PP_MAX, 1, 1 end -MagmaHideout_4F_EventScript_29151F:: @ 829151F +MagmaHideout_4F_EventScript_MaxRevive:: @ 829151F giveitem_std ITEM_MAX_REVIVE, 1, 1 end -MagmaHideout_3F_3R_EventScript_29152C:: @ 829152C +MagmaHideout_3F_3R_EventScript_ItemEscapeRope:: @ 829152C giveitem_std ITEM_ESCAPE_ROPE, 1, 1 end From 8b88ef3e01ea2e574b8326fd46dfc1fc5af575e0 Mon Sep 17 00:00:00 2001 From: Fontbane Date: Wed, 3 Apr 2019 18:04:04 -0400 Subject: [PATCH 55/84] Document berry tree events --- data/scripts/berry_tree.inc | 164 ++++++++++++++++++------------------ 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index 6859490060..027633a829 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -2,142 +2,142 @@ BerryTreeScript:: @ 82742F9 special EventObjectInteractionGetBerryTreeData switch VAR_0x8004 case 255, Route102_EventScript_27434F - case 0, Route102_EventScript_274359 - case 1, Route102_EventScript_2743B1 - case 2, Route102_EventScript_2743C1 - case 3, Route102_EventScript_2743D1 - case 4, Route102_EventScript_2743E1 - case 5, Route102_EventScript_274421 + case 0, Route102_EventScript_CheckSoil + case 1, Route102_EventScript_CheckBerryStage1 + case 2, Route102_EventScript_CheckBerryStage2 + case 3, Route102_EventScript_CheckBerryStage3 + case 4, Route102_EventScript_CheckBerryStage4 + case 5, Route102_EventScript_CheckBerryFullyGrown end Route102_EventScript_27434F:: @ 827434F lockall - message Route102_Text_274744 + message Route102_Text_ExclamationPoint waitmessage waitbuttonpress releaseall end -Route102_EventScript_274359:: @ 8274359 +Route102_EventScript_CheckSoil:: @ 8274359 lock faceplayer specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_274374 - message Route102_Text_2744F0 + goto_if_eq Route102_EventScript_WantToPlant + message Route102_Text_ItsSoftLoamySoil waitmessage waitbuttonpress release end -Route102_EventScript_274374:: @ 8274374 - msgbox Route102_Text_274507, MSGBOX_YESNO +Route102_EventScript_WantToPlant:: @ 8274374 + msgbox Route102_Text_WantToPlant, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_274393 + goto_if_eq Route102_EventScript_ChooseBerryToPlant compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_2743AF + goto_if_eq Route102_EventScript_CancelPlanting end -Route102_EventScript_274393:: @ 8274393 +Route102_EventScript_ChooseBerryToPlant:: @ 8274393 fadescreen 1 closemessage special Bag_ChooseBerry waitstate compare VAR_ITEM_ID, 0 - goto_if_eq Route102_EventScript_2743AF + goto_if_eq Route102_EventScript_CancelPlanting takeitem VAR_ITEM_ID, 1 - call Route102_EventScript_2744DD + call Route102_EventScript_PlantBerry -Route102_EventScript_2743AF:: @ 82743AF +Route102_EventScript_CancelPlanting:: @ 82743AF release end -Route102_EventScript_2743B1:: @ 82743B1 +Route102_EventScript_CheckBerryStage1:: @ 82743B1 lockall special EventObjectInteractionGetBerryCountString - message Route102_Text_274560 + message Route102_Text_BerryGrowthStage1 waitmessage waitbuttonpress - goto Route102_EventScript_27448D + goto Route102_EventScript_WantToWater -Route102_EventScript_2743C1:: @ 82743C1 +Route102_EventScript_CheckBerryStage2:: @ 82743C1 lockall special EventObjectInteractionGetBerryName - message Route102_Text_274579 + message Route102_Text_BerryGrowthStage2 waitmessage waitbuttonpress - goto Route102_EventScript_27448D + goto Route102_EventScript_WantToWater -Route102_EventScript_2743D1:: @ 82743D1 +Route102_EventScript_CheckBerryStage3:: @ 82743D1 lockall special EventObjectInteractionGetBerryName - message Route102_Text_27458A + message Route102_Text_BerryGrowthStage3 waitmessage waitbuttonpress - goto Route102_EventScript_27448D + goto Route102_EventScript_WantToWater -Route102_EventScript_2743E1:: @ 82743E1 - call Route102_EventScript_2743F6 +Route102_EventScript_CheckBerryStage4:: @ 82743E1 + call Route102_EventScript_GetCareAdverb lockall special EventObjectInteractionGetBerryName - message Route102_Text_2745AB + message Route102_Text_BerryGrowthStage4 waitmessage waitbuttonpress - goto Route102_EventScript_27448D + goto Route102_EventScript_WantToWater -Route102_EventScript_2743F6:: @ 82743F6 +Route102_EventScript_GetCareAdverb:: @ 82743F6 compare VAR_0x8005, 0 - goto_if_eq Route102_EventScript_27441A + goto_if_eq Route102_EventScript_SetAdverbPoor compare VAR_0x8005, 4 - goto_if_eq Route102_EventScript_274413 - bufferstring 1, Route102_Text_2745E5 + goto_if_eq Route102_EventScript_SetAdverbGreat + bufferstring 1, Route102_Text_CareAdverbGood return -Route102_EventScript_274413:: @ 8274413 - bufferstring 1, Route102_Text_2745CD +Route102_EventScript_SetAdverbGreat:: @ 8274413 + bufferstring 1, Route102_Text_CareAdverbGreat return -Route102_EventScript_27441A:: @ 827441A - bufferstring 1, Route102_Text_2745DE +Route102_EventScript_SetAdverbPoor:: @ 827441A + bufferstring 1, Route102_Text_CareAdverbPoor return -Route102_EventScript_274421:: @ 8274421 +Route102_EventScript_CheckBerryFullyGrown:: @ 8274421 buffernumberstring 1, VAR_0x8006 lock faceplayer special EventObjectInteractionGetBerryCountString - msgbox Route102_Text_2745EE, MSGBOX_YESNO + msgbox Route102_Text_WantToPick, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_274448 + goto_if_eq Route102_EventScript_PickBerry compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_274479 + goto_if_eq Route102_EventScript_CancelPickingBerry -Route102_EventScript_274448:: @ 8274448 +Route102_EventScript_PickBerry:: @ 8274448 special EventObjectInteractionPickBerryTree compare VAR_0x8004, 0 - goto_if_eq Route102_EventScript_274470 + goto_if_eq Route102_EventScript_BerryPocketFull special sub_80EED34 special EventObjectInteractionRemoveBerryTree - message Route102_Text_27461B + message Route102_Text_PickedTheBerry playfanfare MUS_ME_KINOMI waitmessage waitfanfare waitbuttonpress - message Route102_Text_274630 + message Route102_Text_PutAwayBerry waitmessage waitbuttonpress release end -Route102_EventScript_274470:: @ 8274470 - message Route102_Text_27468F +Route102_EventScript_BerryPocketFull:: @ 8274470 + message Route102_Text_BerryPocketFull waitmessage waitbuttonpress release end -Route102_EventScript_274479:: @ 8274479 - message Route102_Text_2746CB +Route102_EventScript_CancelPickingBerry:: @ 8274479 + message Route102_Text_BerryLeftUnpicked waitmessage waitbuttonpress release @@ -146,22 +146,22 @@ Route102_EventScript_274479:: @ 8274479 Route102_EventScript_274482:: @ 8274482 lockall special EventObjectInteractionGetBerryTreeData - call Route102_EventScript_2744DD + call Route102_EventScript_PlantBerry releaseall end -Route102_EventScript_27448D:: @ 827448D +Route102_EventScript_WantToWater:: @ 827448D checkitem ITEM_WAILMER_PAIL, 1 compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_2744BE + goto_if_eq Route102_EventScript_DontWater special EventObjectInteractionGetBerryName - msgbox Route102_Text_2746E4, MSGBOX_YESNO + msgbox Route102_Text_WantToWater, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_2744C4 + goto_if_eq Route102_EventScript_WaterBerry compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_2744BE + goto_if_eq Route102_EventScript_DontWater -Route102_EventScript_2744BE:: @ 82744BE +Route102_EventScript_DontWater:: @ 82744BE releaseall end @@ -169,93 +169,93 @@ Route102_EventScript_2744C0:: @ 82744C0 special EventObjectInteractionGetBerryTreeData lockall -Route102_EventScript_2744C4:: @ 82744C4 +Route102_EventScript_WaterBerry:: @ 82744C4 special EventObjectInteractionGetBerryName - message Route102_Text_274710 + message Route102_Text_WateredTheBerry waitmessage special EventObjectInteractionWaterBerryTree special DoWateringBerryTreeAnim waitstate - message Route102_Text_274723 + message Route102_Text_PlantIsDelighted waitmessage waitbuttonpress releaseall end -Route102_EventScript_2744DD:: @ 82744DD +Route102_EventScript_PlantBerry:: @ 82744DD special EventObjectInteractionPlantBerryTree incrementgamestat 3 special sub_80EED10 special EventObjectInteractionGetBerryCountString - message Route102_Text_274535 + message Route102_Text_PlantedOneBerry waitmessage waitbuttonpress return -Route102_Text_2744F0: @ 82744F0 +Route102_Text_ItsSoftLoamySoil: @ 82744F0 .string "It's soft, loamy soil.$" -Route102_Text_274507: @ 8274507 +Route102_Text_WantToPlant: @ 8274507 .string "It's soft, loamy soil.\n" .string "Want to plant a BERRY?$" -Route102_Text_274535: @ 8274535 +Route102_Text_PlantedOneBerry: @ 8274535 .string "{PLAYER} planted one {STR_VAR_1} in\n" .string "the soft, loamy soil.$" -Route102_Text_274560: @ 8274560 +Route102_Text_BerryGrowthStage1: @ 8274560 .string "One {STR_VAR_1} was planted here.$" -Route102_Text_274579: @ 8274579 +Route102_Text_BerryGrowthStage2: @ 8274579 .string "{STR_VAR_1} has sprouted.$" -Route102_Text_27458A: @ 827458A +Route102_Text_BerryGrowthStage3: @ 827458A .string "This {STR_VAR_1} plant is growing taller.$" -Route102_Text_2745AB: @ 82745AB +Route102_Text_BerryGrowthStage4: @ 82745AB .string "These {STR_VAR_1} flowers are blooming\n" .string "{STR_VAR_2}.$" -Route102_Text_2745CD: @ 82745CD +Route102_Text_CareAdverbGreat: @ 82745CD .string "very beautifully$" -Route102_Text_2745DE: @ 82745DE +Route102_Text_CareAdverbPoor: @ 82745DE .string "cutely$" -Route102_Text_2745E5: @ 82745E5 +Route102_Text_CareAdverbGood: @ 82745E5 .string "prettily$" -Route102_Text_2745EE: @ 82745EE +Route102_Text_WantToPick: @ 82745EE .string "You found {STR_VAR_2} {STR_VAR_1}!\p" .string "Do you want to pick the\n" .string "{STR_VAR_1}?$" -Route102_Text_27461B: @ 827461B +Route102_Text_PickedTheBerry: @ 827461B .string "{PLAYER} picked the {STR_VAR_2} {STR_VAR_1}.$" -Route102_Text_274630: @ 8274630 +Route102_Text_PutAwayBerry: @ 8274630 .string "{PLAYER} put away the {STR_VAR_1}\n" .string "in the BAG's BERRIES POCKET.\p" .string "The soil returned to its soft and\n" .string "loamy state.$" -Route102_Text_27468F: @ 827468F +Route102_Text_BerryPocketFull: @ 827468F .string "The BAG's BERRIES POCKET is full.\p" .string "The {STR_VAR_1} couldn't be taken.$" -Route102_Text_2746CB: @ 82746CB +Route102_Text_BerryLeftUnpicked: @ 82746CB .string "{PLAYER} left the {STR_VAR_1}\n" .string "unpicked.$" -Route102_Text_2746E4: @ 82746E4 +Route102_Text_WantToWater: @ 82746E4 .string "Want to water the {STR_VAR_1} with the\n" .string "WAILMER PAIL?$" -Route102_Text_274710: @ 8274710 +Route102_Text_WateredTheBerry: @ 8274710 .string "{PLAYER} watered the {STR_VAR_1}.$" -Route102_Text_274723: @ 8274723 +Route102_Text_PlantIsDelighted: @ 8274723 .string "The plant seems to be delighted.$" -Route102_Text_274744: @ 8274744 +Route102_Text_ExclamationPoint: @ 8274744 .string "!$" From 9e74409bb2032e25d431dda116462759e5b51fe0 Mon Sep 17 00:00:00 2001 From: Fontbane Date: Thu, 4 Apr 2019 19:28:37 -0400 Subject: [PATCH 56/84] Fix labels, label more scripts --- data/maps/AbandonedShip_Deck/scripts.inc | 4 +- data/maps/AlteringCave/scripts.inc | 4 +- data/maps/AncientTomb/scripts.inc | 4 +- data/maps/ArtisanCave_B1F/scripts.inc | 4 +- .../BattleFrontier_ReceptionGate/scripts.inc | 4 +- data/maps/DesertRuins/scripts.inc | 4 +- data/maps/DesertUnderpass/scripts.inc | 4 +- .../scripts.inc | 4 +- data/maps/FieryPath/scripts.inc | 4 +- data/maps/IslandCave/scripts.inc | 4 +- data/maps/MirageTower_1F/scripts.inc | 4 +- data/maps/NewMauville_Entrance/scripts.inc | 4 +- data/maps/Route104_MrBrineysHouse/scripts.inc | 4 +- .../scripts.inc | 4 +- data/maps/Route109_SeashoreHouse/scripts.inc | 4 +- .../Route110_TrickHouseEntrance/scripts.inc | 4 +- .../Route111_OldLadysRestStop/scripts.inc | 4 +- data/maps/Route113_GlassWorkshop/scripts.inc | 4 +- .../Route114_FossilManiacsHouse/scripts.inc | 4 +- data/maps/Route114_LanettesHouse/scripts.inc | 4 +- .../Route116_TunnelersRestHouse/scripts.inc | 4 +- data/maps/Route117_PokemonDayCare/scripts.inc | 4 +- .../Route123_BerryMastersHouse/scripts.inc | 4 +- .../scripts.inc | 4 +- data/maps/ScorchedSlab/scripts.inc | 4 +- data/maps/SealedChamber_OuterRoom/scripts.inc | 4 +- data/maps/SkyPillar_Entrance/scripts.inc | 4 +- data/maps/SouthernIsland_Exterior/scripts.inc | 4 +- data/maps/TrainerHill_Entrance/scripts.inc | 4 +- data/maps/Underwater_SeafloorCavern/map.json | 8 +- .../Underwater_SeafloorCavern/scripts.inc | 10 +- data/scripts/berry_tree.inc | 172 +++++++++--------- include/bard_music.h | 2 +- src/data/bard_music/pokemon.h | 2 +- src/easy_chat.c | 2 +- src/item_use.c | 8 +- 36 files changed, 160 insertions(+), 160 deletions(-) diff --git a/data/maps/AbandonedShip_Deck/scripts.inc b/data/maps/AbandonedShip_Deck/scripts.inc index f256fe521d..b0ecc2a4db 100644 --- a/data/maps/AbandonedShip_Deck/scripts.inc +++ b/data/maps/AbandonedShip_Deck/scripts.inc @@ -1,8 +1,8 @@ AbandonedShip_Deck_MapScripts:: @ 823799A - map_script MAP_SCRIPT_ON_TRANSITION, AbandonedShip_Deck_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, AbandonedShip_Deck_OnTransition .byte 0 -AbandonedShip_Deck_MapScript1_SetLandmark: @ 82379A0 +AbandonedShip_Deck_OnTransition: @ 82379A0 setflag FLAG_LANDMARK_ABANDONED_SHIP end diff --git a/data/maps/AlteringCave/scripts.inc b/data/maps/AlteringCave/scripts.inc index 19fd1fb0ba..601f492177 100644 --- a/data/maps/AlteringCave/scripts.inc +++ b/data/maps/AlteringCave/scripts.inc @@ -1,8 +1,8 @@ AlteringCave_MapScripts:: @ 823B177 - map_script MAP_SCRIPT_ON_TRANSITION, AlteringCave_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, AlteringCave_OnTransition .byte 0 -AlteringCave_MapScript1_SetLandmark: @ 823B17D +AlteringCave_OnTransition: @ 823B17D setflag FLAG_LANDMARK_ALTERING_CAVE end diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc index 8d1c029c36..ad8e683bb5 100644 --- a/data/maps/AncientTomb/scripts.inc +++ b/data/maps/AncientTomb/scripts.inc @@ -1,7 +1,7 @@ AncientTomb_MapScripts:: @ 8238FB3 map_script MAP_SCRIPT_ON_RESUME, AncientTomb_MapScript1_238FC3 map_script MAP_SCRIPT_ON_LOAD, AncientTomb_MapScript1_238FF2 - map_script MAP_SCRIPT_ON_TRANSITION, AncientTomb_MapScript1_238FE1 + map_script MAP_SCRIPT_ON_TRANSITION, AncientTomb_OnTransition .byte 0 AncientTomb_MapScript1_238FC3: @ 8238FC3 @@ -15,7 +15,7 @@ AncientTomb_EventScript_238FCD:: @ 8238FCD removeobject VAR_LAST_TALKED return -AncientTomb_MapScript1_238FE1: @ 8238FE1 +AncientTomb_OnTransition: @ 8238FE1 setflag FLAG_LANDMARK_ANCIENT_TOMB call_if_unset FLAG_DEFEATED_REGISTEEL, AncientTomb_EventScript_238FEE end diff --git a/data/maps/ArtisanCave_B1F/scripts.inc b/data/maps/ArtisanCave_B1F/scripts.inc index a64fe4ab9f..4dd850e884 100644 --- a/data/maps/ArtisanCave_B1F/scripts.inc +++ b/data/maps/ArtisanCave_B1F/scripts.inc @@ -1,8 +1,8 @@ ArtisanCave_B1F_MapScripts:: @ 823AFAD - map_script MAP_SCRIPT_ON_TRANSITION, ArtisanCave_B1F_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, ArtisanCave_B1F_OnTransition .byte 0 -ArtisanCave_B1F_MapScript1_SetLandmark: @ 823AFB3 +ArtisanCave_B1F_OnTransition: @ 823AFB3 setflag FLAG_LANDMARK_ARTISAN_CAVE end diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc index 369c30acaa..5f0952cb0d 100644 --- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc +++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc @@ -1,9 +1,9 @@ BattleFrontier_ReceptionGate_MapScripts:: @ 82661DA map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_ReceptionGate_MapScript2_2661E9 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_OnTransition .byte 0 -BattleFrontier_ReceptionGate_MapScript1_SetLandmark: @ 82661E5 +BattleFrontier_ReceptionGate_OnTransition: @ 82661E5 setflag FLAG_LANDMARK_BATTLE_FRONTIER end diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc index 75fcf061c3..e796b16686 100644 --- a/data/maps/DesertRuins/scripts.inc +++ b/data/maps/DesertRuins/scripts.inc @@ -1,7 +1,7 @@ DesertRuins_MapScripts:: @ 822D95B map_script MAP_SCRIPT_ON_RESUME, DesertRuins_MapScript1_22D96B map_script MAP_SCRIPT_ON_LOAD, DesertRuins_MapScript1_22D989 - map_script MAP_SCRIPT_ON_TRANSITION, DesertRuins_MapScript1_22D9CA + map_script MAP_SCRIPT_ON_TRANSITION, DesertRuins_OnTransition .byte 0 DesertRuins_MapScript1_22D96B: @ 822D96B @@ -28,7 +28,7 @@ DesertRuins_EventScript_22D993:: @ 822D993 setmetatile 9, 20, 565, 1 return -DesertRuins_MapScript1_22D9CA: @ 822D9CA +DesertRuins_OnTransition: @ 822D9CA setflag FLAG_LANDMARK_DESERT_RUINS call_if_unset FLAG_DEFEATED_REGIROCK, DesertRuins_EventScript_22D9D7 end diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc index 1b8324d8a6..8e89075e58 100644 --- a/data/maps/DesertUnderpass/scripts.inc +++ b/data/maps/DesertUnderpass/scripts.inc @@ -1,8 +1,8 @@ DesertUnderpass_MapScripts:: @ 823AF37 - map_script MAP_SCRIPT_ON_TRANSITION, DesertUnderpass_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, DesertUnderpass_OnTransition .byte 0 -DesertUnderpass_MapScript1_SetLandmark: @ 823AF3D +DesertUnderpass_OnTransition: @ 823AF3D setflag FLAG_LANDMARK_DESERT_UNDERPASS end diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index 95345af5cc..959153d8ae 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -1,9 +1,9 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 - map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD + map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonLeague_1F_MapScript1_277C30 .byte 0 -EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD +EverGrandeCity_PokemonLeague_1F_OnTransition: @ 82295DD setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2 setflag FLAG_LANDMARK_POKEMON_LEAGUE call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED diff --git a/data/maps/FieryPath/scripts.inc b/data/maps/FieryPath/scripts.inc index ddba0dc0b7..0aa5769a02 100644 --- a/data/maps/FieryPath/scripts.inc +++ b/data/maps/FieryPath/scripts.inc @@ -1,8 +1,8 @@ FieryPath_MapScripts:: @ 8230F24 - map_script MAP_SCRIPT_ON_TRANSITION, FieryPath_MapScript1_230F2A + map_script MAP_SCRIPT_ON_TRANSITION, FieryPath_OnTransition .byte 0 -FieryPath_MapScript1_230F2A: @ 8230F2A +FieryPath_OnTransition: @ 8230F2A call_if_unset FLAG_LANDMARK_FIERY_PATH, FieryPath_EventScript_230F37 setflag FLAG_LANDMARK_FIERY_PATH end diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc index cb400e817f..4f5339b1a6 100644 --- a/data/maps/IslandCave/scripts.inc +++ b/data/maps/IslandCave/scripts.inc @@ -1,7 +1,7 @@ IslandCave_MapScripts:: @ 8238E2A map_script MAP_SCRIPT_ON_RESUME, IslandCave_MapScript1_238E3A map_script MAP_SCRIPT_ON_LOAD, IslandCave_MapScript1_238E58 - map_script MAP_SCRIPT_ON_TRANSITION, IslandCave_MapScript1_238E99 + map_script MAP_SCRIPT_ON_TRANSITION, IslandCave_OnTransition .byte 0 IslandCave_MapScript1_238E3A: @ 8238E3A @@ -28,7 +28,7 @@ IslandCave_EventScript_238E62:: @ 8238E62 setmetatile 9, 20, 565, 1 return -IslandCave_MapScript1_238E99: @ 8238E99 +IslandCave_OnTransition: @ 8238E99 setflag FLAG_LANDMARK_ISLAND_CAVE call IslandCave_EventScript_238F45 call_if_unset FLAG_DEFEATED_REGICE, IslandCave_EventScript_238EAB diff --git a/data/maps/MirageTower_1F/scripts.inc b/data/maps/MirageTower_1F/scripts.inc index 9f6c35a844..74ec749fa9 100644 --- a/data/maps/MirageTower_1F/scripts.inc +++ b/data/maps/MirageTower_1F/scripts.inc @@ -1,8 +1,8 @@ MirageTower_1F_MapScripts:: @ 823AD01 - map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_1F_MapScript1_23AD07 + map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_1F_OnTransition .byte 0 -MirageTower_1F_MapScript1_23AD07: @ 823AD07 +MirageTower_1F_OnTransition: @ 823AD07 setflag FLAG_ENTERED_MIRAGE_TOWER setflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE setflag FLAG_LANDMARK_MIRAGE_TOWER diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc index 1df4c53e41..7adb2d7cee 100644 --- a/data/maps/NewMauville_Entrance/scripts.inc +++ b/data/maps/NewMauville_Entrance/scripts.inc @@ -1,6 +1,6 @@ NewMauville_Entrance_MapScripts:: @ 82372AD map_script MAP_SCRIPT_ON_LOAD, NewMauville_Entrance_MapScript1_2372B8 - map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Entrance_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Entrance_OnTransition .byte 0 NewMauville_Entrance_MapScript1_2372B8: @ 82372B8 @@ -17,7 +17,7 @@ NewMauville_Entrance_EventScript_2372C4:: @ 82372C4 setmetatile 5, 1, 798, 1 return -NewMauville_Entrance_MapScript1_SetLandmark: @ 82372FB +NewMauville_Entrance_OnTransition: @ 82372FB setflag FLAG_LANDMARK_NEW_MAUVILLE end diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc index 8a4af48cd4..52fd4b96d1 100644 --- a/data/maps/Route104_MrBrineysHouse/scripts.inc +++ b/data/maps/Route104_MrBrineysHouse/scripts.inc @@ -1,8 +1,8 @@ Route104_MrBrineysHouse_MapScripts:: @ 8229D2E - map_script MAP_SCRIPT_ON_TRANSITION, Route104_MrBrineysHouse_MapScript1_229D34 + map_script MAP_SCRIPT_ON_TRANSITION, Route104_MrBrineysHouse_OnTransition .byte 0 -Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34 +Route104_MrBrineysHouse_OnTransition: @ 8229D34 setflag FLAG_LANDMARK_MR_BRINEY_HOUSE compare VAR_BRINEY_HOUSE_STATE, 1 call_if_eq Route104_MrBrineysHouse_EventScript_229D50 diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc index 26dfe7f8a4..2a8a8b88e0 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc +++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc @@ -1,8 +1,8 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C - map_script MAP_SCRIPT_ON_TRANSITION, Route104_PrettyPetalFlowerShop_MapScript1_22A352 + map_script MAP_SCRIPT_ON_TRANSITION, Route104_PrettyPetalFlowerShop_OnTransition .byte 0 -Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352 +Route104_PrettyPetalFlowerShop_OnTransition: @ 822A352 setflag FLAG_LANDMARK_FLOWER_SHOP goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_22A36B goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_22A36B diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc index d331131364..e52ab08f9f 100644 --- a/data/maps/Route109_SeashoreHouse/scripts.inc +++ b/data/maps/Route109_SeashoreHouse/scripts.inc @@ -1,8 +1,8 @@ Route109_SeashoreHouse_MapScripts:: @ 82693F4 - map_script MAP_SCRIPT_ON_TRANSITION, Route109_SeashoreHouse_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, Route109_SeashoreHouse_OnTransition .byte 0 -Route109_SeashoreHouse_MapScript1_SetLandmark: @ 82693FA +Route109_SeashoreHouse_OnTransition: @ 82693FA setflag FLAG_LANDMARK_SEASHORE_HOUSE end diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index e1439d8d4c..46610937e7 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -1,10 +1,10 @@ Route110_TrickHouseEntrance_MapScripts:: @ 8269A50 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEntrance_MapScript1_269A60 + map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEntrance_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEntrance_MapScript2_269CEE map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEntrance_MapScript2_269BD3 .byte 0 -Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60 +Route110_TrickHouseEntrance_OnTransition: @ 8269A60 setflag FLAG_LANDMARK_TRICK_HOUSE compare VAR_TRICK_HOUSE_STATE, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_269AF3 diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc index 9495c45394..017043eae5 100644 --- a/data/maps/Route111_OldLadysRestStop/scripts.inc +++ b/data/maps/Route111_OldLadysRestStop/scripts.inc @@ -1,8 +1,8 @@ Route111_OldLadysRestStop_MapScripts:: @ 822A916 - map_script MAP_SCRIPT_ON_TRANSITION, Route111_OldLadysRestStop_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, Route111_OldLadysRestStop_OnTransition .byte 0 -Route111_OldLadysRestStop_MapScript1_SetLandmark: @ 822A91C +Route111_OldLadysRestStop_OnTransition: @ 822A91C setflag FLAG_LANDMARK_OLD_LADY_REST_SHOP end diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc index 46134a3d55..b685389d92 100644 --- a/data/maps/Route113_GlassWorkshop/scripts.inc +++ b/data/maps/Route113_GlassWorkshop/scripts.inc @@ -1,8 +1,8 @@ Route113_GlassWorkshop_MapScripts:: @ 826ED03 - map_script MAP_SCRIPT_ON_TRANSITION, Route113_GlassWorkshop_MapScript1_26ED09 + map_script MAP_SCRIPT_ON_TRANSITION, Route113_GlassWorkshop_OnTransition .byte 0 -Route113_GlassWorkshop_MapScript1_26ED09: @ 826ED09 +Route113_GlassWorkshop_OnTransition: @ 826ED09 setflag FLAG_LANDMARK_GLASS_WORKSHOP compare VAR_GLASS_WORKSHOP_STATE, 1 call_if_eq Route113_GlassWorkshop_EventScript_26ED18 diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc index d41bc0deea..83fade3e67 100644 --- a/data/maps/Route114_FossilManiacsHouse/scripts.inc +++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc @@ -1,8 +1,8 @@ Route114_FossilManiacsHouse_MapScripts:: @ 822AD30 - map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsHouse_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsHouse_OnTransition .byte 0 -Route114_FossilManiacsHouse_MapScript1_SetLandmark: @ 822AD36 +Route114_FossilManiacsHouse_OnTransition: @ 822AD36 setflag FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE end diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc index 5ea42a42a8..e24f6ce65f 100644 --- a/data/maps/Route114_LanettesHouse/scripts.inc +++ b/data/maps/Route114_LanettesHouse/scripts.inc @@ -1,8 +1,8 @@ Route114_LanettesHouse_MapScripts:: @ 822B2C8 - map_script MAP_SCRIPT_ON_TRANSITION, Route114_LanettesHouse_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, Route114_LanettesHouse_OnTransition .byte 0 -Route114_LanettesHouse_MapScript1_SetLandmark: @ 822B2CE +Route114_LanettesHouse_OnTransition: @ 822B2CE setflag FLAG_LANDMARK_LANETTES_HOUSE end diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc index f9ebcc76ab..e4e943e61a 100644 --- a/data/maps/Route116_TunnelersRestHouse/scripts.inc +++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc @@ -1,8 +1,8 @@ Route116_TunnelersRestHouse_MapScripts:: @ 822B850 - map_script MAP_SCRIPT_ON_TRANSITION, Route116_TunnelersRestHouse_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, Route116_TunnelersRestHouse_OnTransition .byte 0 -Route116_TunnelersRestHouse_MapScript1_SetLandmark: @ 822B856 +Route116_TunnelersRestHouse_OnTransition: @ 822B856 setflag FLAG_LANDMARK_TUNNELERS_REST_HOUSE end diff --git a/data/maps/Route117_PokemonDayCare/scripts.inc b/data/maps/Route117_PokemonDayCare/scripts.inc index b9ddfaa5ae..898935b26a 100644 --- a/data/maps/Route117_PokemonDayCare/scripts.inc +++ b/data/maps/Route117_PokemonDayCare/scripts.inc @@ -1,8 +1,8 @@ Route117_PokemonDayCare_MapScripts:: @ 822BBB1 - map_script MAP_SCRIPT_ON_TRANSITION, Route117_PokemonDayCare_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, Route117_PokemonDayCare_OnTransition .byte 0 -Route117_PokemonDayCare_MapScript1_SetLandmark: @ 822BBB7 +Route117_PokemonDayCare_OnTransition: @ 822BBB7 setflag FLAG_LANDMARK_POKEMON_DAYCARE end diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc index 0f03261197..939cfed804 100644 --- a/data/maps/Route123_BerryMastersHouse/scripts.inc +++ b/data/maps/Route123_BerryMastersHouse/scripts.inc @@ -1,8 +1,8 @@ Route123_BerryMastersHouse_MapScripts:: @ 826F83B - map_script MAP_SCRIPT_ON_TRANSITION, Route123_BerryMastersHouse_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, Route123_BerryMastersHouse_OnTransition .byte 0 -Route123_BerryMastersHouse_MapScript1_SetLandmark: @ 826F841 +Route123_BerryMastersHouse_OnTransition: @ 826F841 setflag FLAG_LANDMARK_BERRY_MASTERS_HOUSE end diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc index a1b7527a1e..e1fb3d6f84 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc +++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc @@ -1,8 +1,8 @@ Route124_DivingTreasureHuntersHouse_MapScripts:: @ 8270A28 - map_script MAP_SCRIPT_ON_TRANSITION, Route124_DivingTreasureHuntersHouse_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, Route124_DivingTreasureHuntersHouse_OnTransition .byte 0 -Route124_DivingTreasureHuntersHouse_MapScript1_SetLandmark: @ 8270A2E +Route124_DivingTreasureHuntersHouse_OnTransition: @ 8270A2E setflag FLAG_LANDMARK_HUNTERS_HOUSE end diff --git a/data/maps/ScorchedSlab/scripts.inc b/data/maps/ScorchedSlab/scripts.inc index 3d6aa1cfec..34ad013305 100644 --- a/data/maps/ScorchedSlab/scripts.inc +++ b/data/maps/ScorchedSlab/scripts.inc @@ -1,8 +1,8 @@ ScorchedSlab_MapScripts:: @ 8239291 - map_script MAP_SCRIPT_ON_TRANSITION, ScorchedSlab_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, ScorchedSlab_OnTransition .byte 0 -ScorchedSlab_MapScript1_SetLandmark: @ 8239297 +ScorchedSlab_OnTransition: @ 8239297 setflag FLAG_LANDMARK_SCORCHED_SLAB end diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc index f0337548e4..30228fda0e 100644 --- a/data/maps/SealedChamber_OuterRoom/scripts.inc +++ b/data/maps/SealedChamber_OuterRoom/scripts.inc @@ -1,6 +1,6 @@ SealedChamber_OuterRoom_MapScripts:: @ 8239106 map_script MAP_SCRIPT_ON_RESUME, SealedChamber_OuterRoom_MapScript1_239116 - map_script MAP_SCRIPT_ON_TRANSITION, SealedChamber_OuterRoom_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, SealedChamber_OuterRoom_OnTransition map_script MAP_SCRIPT_ON_LOAD, SealedChamber_OuterRoom_MapScript1_23912B .byte 0 @@ -9,7 +9,7 @@ SealedChamber_OuterRoom_MapScript1_239116: @ 8239116 setescapewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44 end -SealedChamber_OuterRoom_MapScript1_SetLandmark: @ 8239127 +SealedChamber_OuterRoom_OnTransition: @ 8239127 setflag FLAG_LANDMARK_SEALED_CHAMBER end diff --git a/data/maps/SkyPillar_Entrance/scripts.inc b/data/maps/SkyPillar_Entrance/scripts.inc index 7b5434efff..bc213d376c 100644 --- a/data/maps/SkyPillar_Entrance/scripts.inc +++ b/data/maps/SkyPillar_Entrance/scripts.inc @@ -1,8 +1,8 @@ SkyPillar_Entrance_MapScripts:: @ 823929E - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Entrance_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Entrance_OnTransition .byte 0 -SkyPillar_Entrance_MapScript1_SetLandmark: @ 82392A4 +SkyPillar_Entrance_OnTransition: @ 82392A4 setflag FLAG_LANDMARK_SKY_PILLAR end diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index 84406d1110..e3ecfa3dbc 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -1,8 +1,8 @@ SouthernIsland_Exterior_MapScripts:: @ 82429C8 - map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Exterior_MapScript1_SetLandmark + map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Exterior_OnTransition .byte 0 -SouthernIsland_Exterior_MapScript1_SetLandmark: @ 82429CE +SouthernIsland_Exterior_OnTransition: @ 82429CE setflag FLAG_LANDMARK_SOUTHERN_ISLAND end diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc index 63e067a9a1..60dc2149a2 100644 --- a/data/maps/TrainerHill_Entrance/scripts.inc +++ b/data/maps/TrainerHill_Entrance/scripts.inc @@ -1,12 +1,12 @@ TrainerHill_Entrance_MapScripts:: @ 82680AC map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_MapScript1_2680D0 map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_MapScript1_26811B - map_script MAP_SCRIPT_ON_TRANSITION, TrainerHill_Entrance_MapScript1_2680C6 + map_script MAP_SCRIPT_ON_TRANSITION, TrainerHill_Entrance_OnTransition map_script MAP_SCRIPT_ON_LOAD, TrainerHill_Entrance_MapScript1_268128 map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Entrance_MapScript2_26813E .byte 0 -TrainerHill_Entrance_MapScript1_2680C6: @ 82680C6 +TrainerHill_Entrance_OnTransition: @ 82680C6 setflag FLAG_LANDMARK_TRAINER_HILL getplayerxy VAR_TEMP_D, VAR_RESULT end diff --git a/data/maps/Underwater_SeafloorCavern/map.json b/data/maps/Underwater_SeafloorCavern/map.json index 8e7d2c554d..eedec45002 100644 --- a/data/maps/Underwater_SeafloorCavern/map.json +++ b/data/maps/Underwater_SeafloorCavern/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Underwater_SeafloorCavern_EventScript_2343DC", + "script": "Underwater_SeafloorCavern_EventScript_CheckStolenSub", "flag": "FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Underwater_SeafloorCavern_EventScript_2343DC", + "script": "Underwater_SeafloorCavern_EventScript_CheckStolenSub", "flag": "FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Underwater_SeafloorCavern_EventScript_2343DC", + "script": "Underwater_SeafloorCavern_EventScript_CheckStolenSub", "flag": "FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Underwater_SeafloorCavern_EventScript_2343DC", + "script": "Underwater_SeafloorCavern_EventScript_CheckStolenSub", "flag": "FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE" } ], diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc index 9dc5b406ac..3e7c1e22ca 100644 --- a/data/maps/Underwater_SeafloorCavern/scripts.inc +++ b/data/maps/Underwater_SeafloorCavern/scripts.inc @@ -1,10 +1,10 @@ Underwater_SeafloorCavern_MapScripts:: @ 823433B map_script MAP_SCRIPT_ON_RESUME, Underwater_SeafloorCavern_MapScript1_2343D3 - map_script MAP_SCRIPT_ON_TRANSITION, Underwater_SeafloorCavern_MapScript1_23434B + map_script MAP_SCRIPT_ON_TRANSITION, Underwater_SeafloorCavern_OnTransition map_script MAP_SCRIPT_ON_LOAD, Underwater_SeafloorCavern_MapScript1_23435C .byte 0 -Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B +Underwater_SeafloorCavern_OnTransition: @ 823434B setflag FLAG_LANDMARK_SEAFLOOR_CAVERN goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_234358 end @@ -36,11 +36,11 @@ Underwater_SeafloorCavern_MapScript1_2343D3: @ 82343D3 setdivewarp MAP_SEAFLOOR_CAVERN_ENTRANCE, 255, 10, 17 end -Underwater_SeafloorCavern_EventScript_2343DC:: @ 82343DC - msgbox Underwater_SeafloorCavern_Text_2343E5, MSGBOX_SIGN +Underwater_SeafloorCavern_EventScript_CheckStolenSub:: @ 82343DC + msgbox Underwater_SeafloorCavern_Text_SubExplorer1, MSGBOX_SIGN end -Underwater_SeafloorCavern_Text_2343E5: @ 82343E5 +Underwater_SeafloorCavern_Text_SubExplorer1: @ 82343E5 .string "“SUBMARINE EXPLORER 1” is painted\n" .string "on the hull.\p" .string "This is the submarine TEAM AQUA\n" diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index 027633a829..2dc016a525 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -1,261 +1,261 @@ BerryTreeScript:: @ 82742F9 special EventObjectInteractionGetBerryTreeData switch VAR_0x8004 - case 255, Route102_EventScript_27434F - case 0, Route102_EventScript_CheckSoil - case 1, Route102_EventScript_CheckBerryStage1 - case 2, Route102_EventScript_CheckBerryStage2 - case 3, Route102_EventScript_CheckBerryStage3 - case 4, Route102_EventScript_CheckBerryStage4 - case 5, Route102_EventScript_CheckBerryFullyGrown + case 255, BerryTree_EventScript_27434F + case 0, BerryTree_EventScript_CheckSoil + case 1, BerryTree_EventScript_CheckBerryStage1 + case 2, BerryTree_EventScript_CheckBerryStage2 + case 3, BerryTree_EventScript_CheckBerryStage3 + case 4, BerryTree_EventScript_CheckBerryStage4 + case 5, BerryTree_EventScript_CheckBerryFullyGrown end -Route102_EventScript_27434F:: @ 827434F +BerryTree_EventScript_27434F:: @ 827434F lockall - message Route102_Text_ExclamationPoint + message BerryTree_Text_ExclamationPoint waitmessage waitbuttonpress releaseall end -Route102_EventScript_CheckSoil:: @ 8274359 +BerryTree_EventScript_CheckSoil:: @ 8274359 lock faceplayer specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_WantToPlant - message Route102_Text_ItsSoftLoamySoil + goto_if_eq BerryTree_EventScript_WantToPlant + message BerryTree_Text_ItsSoftLoamySoil waitmessage waitbuttonpress release end -Route102_EventScript_WantToPlant:: @ 8274374 - msgbox Route102_Text_WantToPlant, MSGBOX_YESNO +BerryTree_EventScript_WantToPlant:: @ 8274374 + msgbox BerryTree_Text_WantToPlant, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_ChooseBerryToPlant + goto_if_eq BerryTree_EventScript_ChooseBerryToPlant compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_CancelPlanting + goto_if_eq BerryTree_EventScript_CancelPlanting end -Route102_EventScript_ChooseBerryToPlant:: @ 8274393 +BerryTree_EventScript_ChooseBerryToPlant:: @ 8274393 fadescreen 1 closemessage special Bag_ChooseBerry waitstate compare VAR_ITEM_ID, 0 - goto_if_eq Route102_EventScript_CancelPlanting + goto_if_eq BerryTree_EventScript_CancelPlanting takeitem VAR_ITEM_ID, 1 - call Route102_EventScript_PlantBerry + call BerryTree_EventScript_PlantBerry -Route102_EventScript_CancelPlanting:: @ 82743AF +BerryTree_EventScript_CancelPlanting:: @ 82743AF release end -Route102_EventScript_CheckBerryStage1:: @ 82743B1 +BerryTree_EventScript_CheckBerryStage1:: @ 82743B1 lockall special EventObjectInteractionGetBerryCountString - message Route102_Text_BerryGrowthStage1 + message BerryTree_Text_BerryGrowthStage1 waitmessage waitbuttonpress - goto Route102_EventScript_WantToWater + goto BerryTree_EventScript_WantToWater -Route102_EventScript_CheckBerryStage2:: @ 82743C1 +BerryTree_EventScript_CheckBerryStage2:: @ 82743C1 lockall special EventObjectInteractionGetBerryName - message Route102_Text_BerryGrowthStage2 + message BerryTree_Text_BerryGrowthStage2 waitmessage waitbuttonpress - goto Route102_EventScript_WantToWater + goto BerryTree_EventScript_WantToWater -Route102_EventScript_CheckBerryStage3:: @ 82743D1 +BerryTree_EventScript_CheckBerryStage3:: @ 82743D1 lockall special EventObjectInteractionGetBerryName - message Route102_Text_BerryGrowthStage3 + message BerryTree_Text_BerryGrowthStage3 waitmessage waitbuttonpress - goto Route102_EventScript_WantToWater + goto BerryTree_EventScript_WantToWater -Route102_EventScript_CheckBerryStage4:: @ 82743E1 - call Route102_EventScript_GetCareAdverb +BerryTree_EventScript_CheckBerryStage4:: @ 82743E1 + call BerryTree_EventScript_GetCareAdverb lockall special EventObjectInteractionGetBerryName - message Route102_Text_BerryGrowthStage4 + message BerryTree_Text_BerryGrowthStage4 waitmessage waitbuttonpress - goto Route102_EventScript_WantToWater + goto BerryTree_EventScript_WantToWater -Route102_EventScript_GetCareAdverb:: @ 82743F6 +BerryTree_EventScript_GetCareAdverb:: @ 82743F6 compare VAR_0x8005, 0 - goto_if_eq Route102_EventScript_SetAdverbPoor + goto_if_eq BerryTree_EventScript_SetAdverbPoor compare VAR_0x8005, 4 - goto_if_eq Route102_EventScript_SetAdverbGreat - bufferstring 1, Route102_Text_CareAdverbGood + goto_if_eq BerryTree_EventScript_SetAdverbGreat + bufferstring 1, BerryTree_Text_CareAdverbGood return -Route102_EventScript_SetAdverbGreat:: @ 8274413 - bufferstring 1, Route102_Text_CareAdverbGreat +BerryTree_EventScript_SetAdverbGreat:: @ 8274413 + bufferstring 1, BerryTree_Text_CareAdverbGreat return -Route102_EventScript_SetAdverbPoor:: @ 827441A - bufferstring 1, Route102_Text_CareAdverbPoor +BerryTree_EventScript_SetAdverbPoor:: @ 827441A + bufferstring 1, BerryTree_Text_CareAdverbPoor return -Route102_EventScript_CheckBerryFullyGrown:: @ 8274421 +BerryTree_EventScript_CheckBerryFullyGrown:: @ 8274421 buffernumberstring 1, VAR_0x8006 lock faceplayer special EventObjectInteractionGetBerryCountString - msgbox Route102_Text_WantToPick, MSGBOX_YESNO + msgbox BerryTree_Text_WantToPick, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_PickBerry + goto_if_eq BerryTree_EventScript_PickBerry compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_CancelPickingBerry + goto_if_eq BerryTree_EventScript_CancelPickingBerry -Route102_EventScript_PickBerry:: @ 8274448 +BerryTree_EventScript_PickBerry:: @ 8274448 special EventObjectInteractionPickBerryTree compare VAR_0x8004, 0 - goto_if_eq Route102_EventScript_BerryPocketFull + goto_if_eq BerryTree_EventScript_BerryPocketFull special sub_80EED34 special EventObjectInteractionRemoveBerryTree - message Route102_Text_PickedTheBerry + message BerryTree_Text_PickedTheBerry playfanfare MUS_ME_KINOMI waitmessage waitfanfare waitbuttonpress - message Route102_Text_PutAwayBerry + message BerryTree_Text_PutAwayBerry waitmessage waitbuttonpress release end -Route102_EventScript_BerryPocketFull:: @ 8274470 - message Route102_Text_BerryPocketFull +BerryTree_EventScript_BerryPocketFull:: @ 8274470 + message BerryTree_Text_BerryPocketFull waitmessage waitbuttonpress release end -Route102_EventScript_CancelPickingBerry:: @ 8274479 - message Route102_Text_BerryLeftUnpicked +BerryTree_EventScript_CancelPickingBerry:: @ 8274479 + message BerryTree_Text_BerryLeftUnpicked waitmessage waitbuttonpress release end -Route102_EventScript_274482:: @ 8274482 +BerryTree_EventScript_274482:: @ 8274482 lockall special EventObjectInteractionGetBerryTreeData - call Route102_EventScript_PlantBerry + call BerryTree_EventScript_PlantBerry releaseall end -Route102_EventScript_WantToWater:: @ 827448D +BerryTree_EventScript_WantToWater:: @ 827448D checkitem ITEM_WAILMER_PAIL, 1 compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_DontWater + goto_if_eq BerryTree_EventScript_DontWater special EventObjectInteractionGetBerryName - msgbox Route102_Text_WantToWater, MSGBOX_YESNO + msgbox BerryTree_Text_WantToWater, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_WaterBerry + goto_if_eq BerryTree_EventScript_WaterBerry compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_DontWater + goto_if_eq BerryTree_EventScript_DontWater -Route102_EventScript_DontWater:: @ 82744BE +BerryTree_EventScript_DontWater:: @ 82744BE releaseall end -Route102_EventScript_2744C0:: @ 82744C0 +BerryTree_EventScript_2744C0:: @ 82744C0 special EventObjectInteractionGetBerryTreeData lockall -Route102_EventScript_WaterBerry:: @ 82744C4 +BerryTree_EventScript_WaterBerry:: @ 82744C4 special EventObjectInteractionGetBerryName - message Route102_Text_WateredTheBerry + message BerryTree_Text_WateredTheBerry waitmessage special EventObjectInteractionWaterBerryTree special DoWateringBerryTreeAnim waitstate - message Route102_Text_PlantIsDelighted + message BerryTree_Text_PlantIsDelighted waitmessage waitbuttonpress releaseall end -Route102_EventScript_PlantBerry:: @ 82744DD +BerryTree_EventScript_PlantBerry:: @ 82744DD special EventObjectInteractionPlantBerryTree incrementgamestat 3 special sub_80EED10 special EventObjectInteractionGetBerryCountString - message Route102_Text_PlantedOneBerry + message BerryTree_Text_PlantedOneBerry waitmessage waitbuttonpress return -Route102_Text_ItsSoftLoamySoil: @ 82744F0 +BerryTree_Text_ItsSoftLoamySoil: @ 82744F0 .string "It's soft, loamy soil.$" -Route102_Text_WantToPlant: @ 8274507 +BerryTree_Text_WantToPlant: @ 8274507 .string "It's soft, loamy soil.\n" .string "Want to plant a BERRY?$" -Route102_Text_PlantedOneBerry: @ 8274535 +BerryTree_Text_PlantedOneBerry: @ 8274535 .string "{PLAYER} planted one {STR_VAR_1} in\n" .string "the soft, loamy soil.$" -Route102_Text_BerryGrowthStage1: @ 8274560 +BerryTree_Text_BerryGrowthStage1: @ 8274560 .string "One {STR_VAR_1} was planted here.$" -Route102_Text_BerryGrowthStage2: @ 8274579 +BerryTree_Text_BerryGrowthStage2: @ 8274579 .string "{STR_VAR_1} has sprouted.$" -Route102_Text_BerryGrowthStage3: @ 827458A +BerryTree_Text_BerryGrowthStage3: @ 827458A .string "This {STR_VAR_1} plant is growing taller.$" -Route102_Text_BerryGrowthStage4: @ 82745AB +BerryTree_Text_BerryGrowthStage4: @ 82745AB .string "These {STR_VAR_1} flowers are blooming\n" .string "{STR_VAR_2}.$" -Route102_Text_CareAdverbGreat: @ 82745CD +BerryTree_Text_CareAdverbGreat: @ 82745CD .string "very beautifully$" -Route102_Text_CareAdverbPoor: @ 82745DE +BerryTree_Text_CareAdverbPoor: @ 82745DE .string "cutely$" -Route102_Text_CareAdverbGood: @ 82745E5 +BerryTree_Text_CareAdverbGood: @ 82745E5 .string "prettily$" -Route102_Text_WantToPick: @ 82745EE +BerryTree_Text_WantToPick: @ 82745EE .string "You found {STR_VAR_2} {STR_VAR_1}!\p" .string "Do you want to pick the\n" .string "{STR_VAR_1}?$" -Route102_Text_PickedTheBerry: @ 827461B +BerryTree_Text_PickedTheBerry: @ 827461B .string "{PLAYER} picked the {STR_VAR_2} {STR_VAR_1}.$" -Route102_Text_PutAwayBerry: @ 8274630 +BerryTree_Text_PutAwayBerry: @ 8274630 .string "{PLAYER} put away the {STR_VAR_1}\n" .string "in the BAG's BERRIES POCKET.\p" .string "The soil returned to its soft and\n" .string "loamy state.$" -Route102_Text_BerryPocketFull: @ 827468F +BerryTree_Text_BerryPocketFull: @ 827468F .string "The BAG's BERRIES POCKET is full.\p" .string "The {STR_VAR_1} couldn't be taken.$" -Route102_Text_BerryLeftUnpicked: @ 82746CB +BerryTree_Text_BerryLeftUnpicked: @ 82746CB .string "{PLAYER} left the {STR_VAR_1}\n" .string "unpicked.$" -Route102_Text_WantToWater: @ 82746E4 +BerryTree_Text_WantToWater: @ 82746E4 .string "Want to water the {STR_VAR_1} with the\n" .string "WAILMER PAIL?$" -Route102_Text_WateredTheBerry: @ 8274710 +BerryTree_Text_WateredTheBerry: @ 8274710 .string "{PLAYER} watered the {STR_VAR_1}.$" -Route102_Text_PlantIsDelighted: @ 8274723 +BerryTree_Text_PlantIsDelighted: @ 8274723 .string "The plant seems to be delighted.$" -Route102_Text_ExclamationPoint: @ 8274744 +BerryTree_Text_ExclamationPoint: @ 8274744 .string "!$" diff --git a/include/bard_music.h b/include/bard_music.h index 4882054057..882606b279 100644 --- a/include/bard_music.h +++ b/include/bard_music.h @@ -38,7 +38,7 @@ struct BardSong // Exported ROM declarations -extern const u16 gUnknown_085F5490; +extern const u16 gNumSpeciesNames; extern const u16 gUnknown_085FA1D4; const struct BardSound *GetWordSounds(u16 word); void GetWordPhonemes(struct BardSong *song, u16 word); diff --git a/src/data/bard_music/pokemon.h b/src/data/bard_music/pokemon.h index 6930053606..112a5870bc 100644 --- a/src/data/bard_music/pokemon.h +++ b/src/data/bard_music/pokemon.h @@ -2,7 +2,7 @@ #define GUARD_DATA_BARD_MUSIC_POKEMON_H #include "constants/species.h" -const u16 gUnknown_085F5490 = NUM_SPECIES; +const u16 gNumSpeciesNames = NUM_SPECIES; const struct BardSound gBardSounds_Pokemon[][6] = { { diff --git a/src/easy_chat.c b/src/easy_chat.c index 1cb7b0fe8e..4388592f77 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -4882,7 +4882,7 @@ bool8 ECWord_CheckIfOutsideOfValidRange(u16 easyChatWord) { case EC_GROUP_POKEMON: case EC_GROUP_POKEMON_2: - numWordsInGroup = gUnknown_085F5490; + numWordsInGroup = gNumSpeciesNames; break; case EC_GROUP_MOVE_1: case EC_GROUP_MOVE_2: diff --git a/src/item_use.c b/src/item_use.c index 7947964caf..159ece398e 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -42,8 +42,8 @@ #include "constants/vars.h" #include "event_obj_lock.h" -extern u8 Route102_EventScript_274482[]; -extern u8 Route102_EventScript_2744C0[]; +extern u8 BerryTree_EventScript_274482[]; +extern u8 BerryTree_EventScript_2744C0[]; extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; void SetUpItemUseCallback(u8 taskId); @@ -669,7 +669,7 @@ void sub_80FDD74(u8 taskId) { RemoveBagItem(gSpecialVar_ItemId, 1); ScriptContext2_Enable(); - ScriptContext1_SetupScript(Route102_EventScript_274482); + ScriptContext1_SetupScript(BerryTree_EventScript_274482); DestroyTask(taskId); } @@ -694,7 +694,7 @@ void ItemUseOutOfBattle_WailmerPail(u8 taskId) void sub_80FDE08(u8 taskId) { ScriptContext2_Enable(); - ScriptContext1_SetupScript(Route102_EventScript_2744C0); + ScriptContext1_SetupScript(BerryTree_EventScript_2744C0); DestroyTask(taskId); } From dd24597d529cd5d9c06aa4699526dbe13d7c9b8e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 4 Apr 2019 21:24:21 +0200 Subject: [PATCH 57/84] Finish up menu specialised --- data/menu_specialized.s | 72 ---- include/battle.h | 9 +- include/menu_specialized.h | 6 +- include/strings.h | 6 + ld_script.txt | 1 - src/battle_script_commands.c | 59 ++-- src/menu_specialized.c | 621 +++++++++++------------------------ 7 files changed, 230 insertions(+), 544 deletions(-) delete mode 100644 data/menu_specialized.s diff --git a/data/menu_specialized.s b/data/menu_specialized.s deleted file mode 100644 index 2005d5bf60..0000000000 --- a/data/menu_specialized.s +++ /dev/null @@ -1,72 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - - -gUnknown_08625AD0:: @ 8625AD0 - .2byte 0 - .2byte 0x4000 - .2byte 0 - .2byte 0 - -gUnknown_08625AD8:: @ 8625AD8 - .2byte 0 - .2byte 5 - .2byte 4 - .2byte 5 - -gUnknown_08625AE0:: @ 8625AE0 - .2byte 8 - .2byte 5 - .2byte 12 - .2byte 5 - -gUnknown_08625AE8:: @ 8625AE8 - .2byte 16 - .2byte 5 - .2byte 20 - .2byte 5 - -gUnknown_08625AF0:: @ 8625AF0 - .2byte 24 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_08625AF8:: @ 8625AF8 - .4byte gUnknown_08625AD8 - .4byte gUnknown_08625AE0 - -gUnknown_08625B00:: @ 8625B00 - .4byte gUnknown_08625AE8 - .4byte gUnknown_08625AF0 - -gUnknown_08625B08:: @ 8625B08 - .4byte gUnknown_08625AF8 - .4byte gUnknown_08625B00 - .4byte gUnknown_08625B08 - -gUnknown_08625B14:: @ 8625B14 - spr_template 0x68, 0x68, gUnknown_08625AD0, gUnknown_08625AF8, NULL gDummySpriteAffineAnimTable, sub_81D3564 - -gUnknown_08625B2C:: @ 8625B2C - .2byte 0, 0xFFDD - .2byte 20, 0xFFE4 - .2byte 33, 0xFFF6 - .2byte 33, 10 - .2byte 20, 28 - .2byte 0, 35 - .2byte 0xFFEC, 28 - .2byte 0xFFDF, 10 - .2byte 0xFFDF, 0xFFF6 - .2byte 0xFFEC, 0xFFE4 - -gUnknown_08625B54:: @ 8625B54 - .4byte gUnknown_085EEA46 - .4byte gUnknown_085EEA4E - .4byte gUnknown_085EEA55 - .4byte gUnknown_085EEA63 - .4byte gUnknown_085EEA6B - .4byte gUnknown_085EEA5D diff --git a/include/battle.h b/include/battle.h index 13c1851cfc..0274e4d9fe 100644 --- a/include/battle.h +++ b/include/battle.h @@ -276,12 +276,7 @@ struct BattleCallbacksStack struct StatsArray { - u16 hp; - u16 atk; - u16 def; - u16 spd; - u16 spAtk; - u16 spDef; + u16 stats[NUM_STATS]; }; struct BattleResources @@ -290,7 +285,7 @@ struct BattleResources struct UnknownFlags *flags; struct BattleScriptsStack* battleScriptsStack; struct BattleCallbacksStack* battleCallbackStack; - struct StatsArray* statsBeforeLvlUp; + struct StatsArray* beforeLvlUp; struct AI_ThinkingStruct *ai; struct BattleHistory *battleHistory; struct BattleScriptsStack *AI_ScriptsStack; diff --git a/include/menu_specialized.h b/include/menu_specialized.h index 405d788300..014ee25853 100644 --- a/include/menu_specialized.h +++ b/include/menu_specialized.h @@ -32,8 +32,6 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page); void sub_81D1E90(struct PlayerPCItemPageStruct *page); void sub_81D1EC0(void); void sub_81D1D04(u8 a0); -void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); -void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0); void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0); void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0); @@ -47,7 +45,6 @@ bool16 MoveRelearnerRunTextPrinters(void); void MoveRelearnerCreateYesNoMenu(void); u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); void InitMoveRelearnerWindows(bool8 useContextWindow); -void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation); s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst); void sub_81D2ED4(u8 *dst, u8 *nameDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7); void sub_81D2F78(struct UnknownStruct_81D1ED4 *arg0, u8 *sheen, u16 boxId, u16 monId, u16 arg5, u16 id, u16 arg7, bool8 arg8); @@ -63,5 +60,8 @@ void sub_81D3464(struct Sprite **sprites); void sub_81D3480(struct Sprite **sprites, u8 arg1, u8 arg2); void sub_81D3520(struct Sprite **sprites); void sub_81D354C(struct Sprite **sprites); +void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr); +void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr); +void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats); #endif // GUARD_MENU_SPECIALIZED_H diff --git a/include/strings.h b/include/strings.h index cb54afb135..c279cf75c9 100644 --- a/include/strings.h +++ b/include/strings.h @@ -471,6 +471,12 @@ extern const u8 gText_EggCantBattle[]; extern const u8 gText_PkmnAlreadySelected[]; extern const u8 gText_PkmnAlreadyInBattle[]; extern const u8 gText_PkmnCantSwitchOut[]; +extern const u8 gUnknown_085EEA46[]; +extern const u8 gUnknown_085EEA4E[]; +extern const u8 gUnknown_085EEA55[]; +extern const u8 gUnknown_085EEA63[]; +extern const u8 gUnknown_085EEA6B[]; +extern const u8 gUnknown_085EEA5D[]; extern const u8 gText_Dash[]; extern const u8 gText_UnkCtrlF904[]; diff --git a/ld_script.txt b/ld_script.txt index f38378a90f..ee262a4418 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -621,7 +621,6 @@ SECTIONS { data/pokenav.o(.rodata); src/pokenav_match_call.o(.rodata); src/menu_specialized.o(.rodata); - data/menu_specialized.o(.rodata); data/ereader_helpers.o(.rodata); src/faraway_island.o(.rodata); data/ereader_screen.o(.rodata); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 2e78e1ca05..fc396b5e36 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -66,8 +66,8 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8* BS_ptr); static bool32 IsMonGettingExpSentOut(void); static void sub_804F17C(void); static bool8 sub_804F1CC(void); -static void sub_804F100(void); -static void sub_804F144(void); +static void DrawLevelUpWindow1(void); +static void DrawLevelUpWindow2(void); static bool8 sub_804F344(void); static void PutMonIconOnLvlUpBox(void); static void PutLevelAndGenderOnLvlUpBox(void); @@ -3238,9 +3238,8 @@ static void atk23_getexp(void) s32 i; // also used as stringId u8 holdEffect; s32 sentIn; - s32 viaExpShare = 0; - u16* exp = &gBattleStruct->expValue; + u16 *exp = &gBattleStruct->expValue; gBattlerFainted = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); sentIn = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1]; @@ -3391,14 +3390,14 @@ static void atk23_getexp(void) } } else + { gBattleStruct->expGetterBattlerId = 0; + } - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId) - + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId); // buffer 'gained' or 'gained a boosted' - PREPARE_STRING_BUFFER(gBattleTextBuff2, i) - - PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage) + PREPARE_STRING_BUFFER(gBattleTextBuff2, i); + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage); PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBattlerId); MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species); @@ -3414,12 +3413,12 @@ static void atk23_getexp(void) gBattleBufferB[gBattleStruct->expGetterBattlerId][0] = 0; if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_LEVEL) { - gBattleResources->statsBeforeLvlUp->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); - gBattleResources->statsBeforeLvlUp->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); - gBattleResources->statsBeforeLvlUp->def = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); - gBattleResources->statsBeforeLvlUp->spd = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); - gBattleResources->statsBeforeLvlUp->spAtk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); - gBattleResources->statsBeforeLvlUp->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); + gBattleResources->beforeLvlUp->stats[STAT_HP] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); + gBattleResources->beforeLvlUp->stats[STAT_ATK] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); + gBattleResources->beforeLvlUp->stats[STAT_DEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); + gBattleResources->beforeLvlUp->stats[STAT_SPEED] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); + gBattleResources->beforeLvlUp->stats[STAT_SPATK] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); + gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); gActiveBattler = gBattleStruct->expGetterBattlerId; BtlController_EmitExpUpdate(0, gBattleStruct->expGetterMonId, gBattleMoveDamage); @@ -3437,9 +3436,8 @@ static void atk23_getexp(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId) - - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId); + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)); BattleScriptPushCursor(); gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterMonId]; @@ -3487,7 +3485,9 @@ static void atk23_getexp(void) break; case 5: // looper increment if (gBattleMoveDamage) // there is exp to give, goto case 3 that gives exp + { gBattleScripting.atk23_state = 3; + } else { gBattleStruct->expGetterMonId++; @@ -5911,8 +5911,7 @@ static void atk5D_getmoneyreward(void) moneyReward += GetTrainerMoneyToGive(gTrainerBattleOpponent_B); AddMoney(&gSaveBlock1Ptr->money, moneyReward); - - PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward) + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward); gBattlescriptCurrInstr++; } @@ -6233,7 +6232,7 @@ static void atk6C_drawlvlupbox(void) gBattleScripting.atk6C_state = 4; break; case 4: - sub_804F100(); + DrawLevelUpWindow1(); PutWindowTilemap(13); CopyWindowToVram(13, 3); gBattleScripting.atk6C_state++; @@ -6250,7 +6249,7 @@ static void atk6C_drawlvlupbox(void) if (gMain.newKeys != 0) { PlaySE(SE_SELECT); - sub_804F144(); + DrawLevelUpWindow2(); CopyWindowToVram(13, 2); gBattleScripting.atk6C_state++; } @@ -6291,20 +6290,20 @@ static void atk6C_drawlvlupbox(void) } } -static void sub_804F100(void) +static void DrawLevelUpWindow1(void) { - struct StatsArray currentStats; + u16 currStats[NUM_STATS]; - GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], (u16*) ¤tStats); - DrawLevelUpWindowPg1(0xD, (u16*) gBattleResources->statsBeforeLvlUp,(u16*) ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats); + DrawLevelUpWindowPg1(0xD, gBattleResources->beforeLvlUp->stats, currStats, 0xE, 0xD, 0xF); } -static void sub_804F144(void) +static void DrawLevelUpWindow2(void) { - struct StatsArray currentStats; + u16 currStats[NUM_STATS]; - GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], (u16*) ¤tStats); - DrawLevelUpWindowPg2(0xD, (u16*) ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats); + DrawLevelUpWindowPg2(0xD, currStats, 0xE, 0xD, 0xF); } static void sub_804F17C(void) diff --git a/src/menu_specialized.c b/src/menu_specialized.c index cbdef3d39e..b3f07fb46c 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -28,7 +28,6 @@ #include "gba/io_reg.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const u8 *gUnknown_08625B54[]; EWRAM_DATA static u8 sUnknown_0203CF48[3] = {0}; EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL; @@ -39,7 +38,7 @@ static void sub_81D2634(struct UnknownStruct_81D1ED4 *a0); static void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list); static void nullsub_79(void); static void sub_81D3408(struct Sprite *sprite); -/*static*/ void sub_81D3564(struct Sprite *sprite); +static void sub_81D3564(struct Sprite *sprite); static void sub_81D35E8(struct Sprite *sprite); static const struct WindowTemplate sUnknown_086253E8[] = @@ -1474,9 +1473,82 @@ static void sub_81D32F4(struct Sprite *sprite) } } -// Todo: Move these variables to C. -extern const s16 gUnknown_08625B2C[][2]; -extern const struct SpriteTemplate gUnknown_08625B14; +static const struct OamData sOamData_8625AD0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_8625AD8[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(20, 5), + ANIMCMD_FRAME(24, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8625AF8[] = +{ + sSpriteAnim_8625AD8, + sSpriteAnim_8625AD8 + 2, +}; + +// unused +static const union AnimCmd *const sSpriteAnimTable_8625B00[] = +{ + sSpriteAnim_8625AD8 + 4, + sSpriteAnim_8625AD8 + 6, +}; + +// unused +static const union AnimCmd *const sSpriteAnimTable_8625B08[] = +{ + sSpriteAnim_8625AD8 + 8, + sSpriteAnim_8625AD8 + 10, +}; + +// unused +static const union AnimCmd *const *const sUnknown_08625B10 = sSpriteAnimTable_8625B08; + +const struct SpriteTemplate gUnknown_08625B14 = +{ + .tileTag = 104, + .paletteTag = 104, + .oam = &sOamData_8625AD0, + .anims = sSpriteAnimTable_8625AF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81D3564, +}; + +static const s16 gUnknown_08625B2C[][2] = +{ + {0, -35}, + {20, -28}, + {33, -10}, + {33, 10}, + {20, 28}, + {0, 35}, + {-20, 28}, + {-33, 10}, + {-33, -10}, + {-20, -28}, +}; void sub_81D3314(struct Sprite *sprite) { @@ -1595,7 +1667,7 @@ void sub_81D354C(struct Sprite **sprites) FreeSpritePaletteByTag(104); } -/*static*/ void sub_81D3564(struct Sprite *sprite) +static void sub_81D3564(struct Sprite *sprite) { if (sprite->data[1] != 0) { @@ -1641,440 +1713,127 @@ static void sub_81D35E8(struct Sprite *sprite) } } - -#ifdef NONMATCHING -void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) +static const u8 *const sLvlUpStatStrings[] = { - u16 i; - s16 array[6]; - u8 *text; - u8 text2; - s16 *statVal; - s32 var; - u8 padding; - s32 var3; - u8 color[11]; - - FillWindowPixelBuffer(arg0, PIXEL_FILL(arg3)); - - array[0] = statStoreLocation2[STAT_HP] - statStoreLocation1[STAT_HP]; - array[1] = statStoreLocation2[STAT_ATK] - statStoreLocation1[STAT_ATK]; - array[2] = statStoreLocation2[STAT_DEF] - statStoreLocation1[STAT_DEF]; - array[3] = statStoreLocation2[STAT_SPATK] - statStoreLocation1[STAT_SPATK]; - array[4] = statStoreLocation2[STAT_SPDEF] - statStoreLocation1[STAT_SPDEF]; - array[5] = statStoreLocation2[STAT_SPEED] - statStoreLocation1[STAT_SPEED]; - - color[0] = arg3; - color[1] = arg4; - color[2] = arg5; - - for(i = 0; i <= 5; i++) + gUnknown_085EEA46, + gUnknown_085EEA4E, + gUnknown_085EEA55, + gUnknown_085EEA63, + gUnknown_085EEA6B, + gUnknown_085EEA5D +}; + +void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr) +{ + u16 i, x; + s16 statsDiff[NUM_STATS]; + u8 text[12]; + u8 color[3]; + + FillWindowPixelBuffer(windowId, PIXEL_FILL(bgClr)); + + statsDiff[0] = statsAfter[STAT_HP] - statsBefore[STAT_HP]; + statsDiff[1] = statsAfter[STAT_ATK] - statsBefore[STAT_ATK]; + statsDiff[2] = statsAfter[STAT_DEF] - statsBefore[STAT_DEF]; + statsDiff[3] = statsAfter[STAT_SPATK] - statsBefore[STAT_SPATK]; + statsDiff[4] = statsAfter[STAT_SPDEF] - statsBefore[STAT_SPDEF]; + statsDiff[5] = statsAfter[STAT_SPEED] - statsBefore[STAT_SPEED]; + + color[0] = bgClr; + color[1] = fgClr; + color[2] = shadowClr; + + for (i = 0; i < NUM_STATS; i++) { - AddTextPrinterParameterized3(arg0, - 1, - 0, - 15 * i, - color, - TEXT_SPEED_FF, - gUnknown_08625B54[i]); - statVal = &array[i]; - text = array[i] >= 0 ? (u8 *) gText_UnkCtrlF904 : (u8 *) gText_Dash;//Plus sign for stat gain, dash for none maybe - StringCopy(&text2, text); - AddTextPrinterParameterized3(arg0, - 1, - 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text2); - var3 = *statVal; - var = var3; - - if(var3 < 0) - { - var = -var3; - } - - padding = 12; //amount of padding - - if(var <= 9) - { - padding = 18; //more padding for single digit numbers - } - - if(var3 < 0) - { - var3 = -var3; - } - - ConvertIntToDecimalStringN(&text2, var3, STR_CONV_MODE_LEFT_ALIGN, 2); - AddTextPrinterParameterized3(arg0, - 1, - padding + 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text2); + + AddTextPrinterParameterized3(windowId, + 1, + 0, + 15 * i, + color, + -1, + sLvlUpStatStrings[i]); + + StringCopy(text, (statsDiff[i] >= 0) ? gText_UnkCtrlF904 : gText_Dash); + AddTextPrinterParameterized3(windowId, + 1, + 56, + 15 * i, + color, + -1, + text); + if (abs(statsDiff[i]) <= 9) + x = 18; + else + x = 12; + + ConvertIntToDecimalStringN(text, abs(statsDiff[i]), STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized3(windowId, + 1, + 56 + x, + 15 * i, + color, + -1, + text); } } -#else -NAKED -void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) -{ - asm(".syntax unified\n\ -push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x2C\n\ - mov r8, r0\n\ - adds r6, r1, 0\n\ - adds r5, r2, 0\n\ - adds r4, r3, 0\n\ - ldr r3, [sp, 0x4C]\n\ - ldr r0, [sp, 0x50]\n\ - mov r9, r0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - mov r1, r9\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r9, r1\n\ - mov r0, r8\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - lsls r1, r4, 4\n\ - orrs r1, r4\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - str r3, [sp, 0x28]\n\ - bl FillWindowPixelBuffer\n\ - add r2, sp, 0xC\n\ - ldrh r0, [r5]\n\ - ldrh r1, [r6]\n\ - subs r0, r1\n\ - strh r0, [r2]\n\ - ldrh r0, [r5, 0x2]\n\ - ldrh r1, [r6, 0x2]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x2]\n\ - ldrh r0, [r5, 0x4]\n\ - ldrh r1, [r6, 0x4]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x4]\n\ - ldrh r0, [r5, 0x8]\n\ - ldrh r1, [r6, 0x8]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x6]\n\ - ldrh r0, [r5, 0xA]\n\ - ldrh r1, [r6, 0xA]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x8]\n\ - ldrh r0, [r5, 0x6]\n\ - ldrh r1, [r6, 0x6]\n\ - subs r0, r1\n\ - strh r0, [r2, 0xA]\n\ - add r0, sp, 0x24\n\ - strb r4, [r0]\n\ - ldr r3, [sp, 0x28]\n\ - strb r3, [r0, 0x1]\n\ - mov r1, r9\n\ - strb r1, [r0, 0x2]\n\ - movs r7, 0\n\ - mov r10, r0\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - mov r9, r0\n\ - add r6, sp, 0x18\n\ -_081D36CA:\n\ - lsls r0, r7, 4\n\ - subs r0, r7\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - mov r1, r10\n\ - str r1, [sp]\n\ - mov r0, r9\n\ - str r0, [sp, 0x4]\n\ - ldr r1, =gUnknown_08625B54\n\ - lsls r0, r7, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - str r0, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - movs r2, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - lsls r0, r7, 1\n\ - mov r4, sp\n\ - adds r4, r0\n\ - adds r4, 0xC\n\ - movs r1, 0\n\ - ldrsh r0, [r4, r1]\n\ - ldr r1, =gText_Dash\n\ - cmp r0, 0\n\ - blt _081D3704\n\ - ldr r1, =gText_UnkCtrlF904\n\ -_081D3704:\n\ - adds r0, r6, 0\n\ - bl StringCopy\n\ - mov r0, r10\n\ - str r0, [sp]\n\ - mov r1, r9\n\ - str r1, [sp, 0x4]\n\ - str r6, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - movs r2, 0x38\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - movs r0, 0\n\ - ldrsh r1, [r4, r0]\n\ - adds r0, r1, 0\n\ - cmp r1, 0\n\ - bge _081D372C\n\ - negs r0, r1\n\ -_081D372C:\n\ - movs r4, 0xC\n\ - cmp r0, 0x9\n\ - bgt _081D3734\n\ - movs r4, 0x12\n\ -_081D3734:\n\ - cmp r1, 0\n\ - bge _081D373A\n\ - negs r1, r1\n\ -_081D373A:\n\ - adds r0, r6, 0\n\ - movs r2, 0\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - adds r2, r4, 0\n\ - adds r2, 0x38\n\ - mov r1, r10\n\ - str r1, [sp]\n\ - mov r0, r9\n\ - str r0, [sp, 0x4]\n\ - str r6, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r0, r7, 0x1\n\ - lsls r0, 16\n\ - lsrs r7, r0, 16\n\ - cmp r7, 0x5\n\ - bls _081D36CA\n\ - add sp, 0x2C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} -#endif // NONMATCHING -#ifdef NONMATCHING -void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) +void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr) { - s32 i; - s16 *var; - s32 numDigits; - u8 text; - s16 array[6]; - u8 color[11]; - - FillWindowPixelBuffer(arg0, PIXEL_FILL(arg2)); - - array[0] = statStoreLocation1[STAT_HP]; - array[1] = statStoreLocation1[STAT_ATK]; - array[2] = statStoreLocation1[STAT_DEF]; - array[3] = statStoreLocation1[STAT_SPATK]; - array[4] = statStoreLocation1[STAT_SPDEF]; - array[5] = statStoreLocation1[STAT_SPEED]; - - color[0] = arg2; - color[1] = arg3; - color[2] = arg4; - - for(i = 0; i <= 5; i++) + u16 i, numDigits, x; + s16 stats[NUM_STATS]; + u8 text[12]; + u8 color[3]; + + FillWindowPixelBuffer(windowId, PIXEL_FILL(bgClr)); + + stats[0] = currStats[STAT_HP]; + stats[1] = currStats[STAT_ATK]; + stats[2] = currStats[STAT_DEF]; + stats[3] = currStats[STAT_SPATK]; + stats[4] = currStats[STAT_SPDEF]; + stats[5] = currStats[STAT_SPEED]; + + color[0] = bgClr; + color[1] = fgClr; + color[2] = shadowClr; + + for (i = 0; i < NUM_STATS; i++) { - numDigits = 3; //3 digit stat - if(array[i] <= 99) - { - numDigits = 1; //1 digit stat - if(array[i] > 9) - { - numDigits = 2; //2 digit stat - } - } - ConvertIntToDecimalStringN(&text, array[i], STR_CONV_MODE_LEFT_ALIGN, numDigits); - AddTextPrinterParameterized3(arg0, - 1, - 0, - 15 * i, - color, - TEXT_SPEED_FF, - gUnknown_08625B54[i]); - AddTextPrinterParameterized3(arg0, - 1, - 6 * (4 - numDigits) + 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text); + if (stats[i] > 99) + numDigits = 3; + else if (stats[i] > 9) + numDigits = 2; + else + numDigits = 1; + + ConvertIntToDecimalStringN(text, stats[i], STR_CONV_MODE_LEFT_ALIGN, numDigits); + x = 6 * (4 - numDigits); + + AddTextPrinterParameterized3(windowId, + 1, + 0, + 15 * i, + color, + -1, + sLvlUpStatStrings[i]); + + AddTextPrinterParameterized3(windowId, + 1, + 56 + x, + 15 * i, + color, + -1, + text); } } -#else -NAKED -void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x2C\n\ - mov r8, r0\n\ - adds r5, r1, 0\n\ - adds r4, r2, 0\n\ - adds r6, r3, 0\n\ - ldr r2, [sp, 0x4C]\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - lsls r1, r4, 4\n\ - orrs r1, r4\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - str r2, [sp, 0x28]\n\ - bl FillWindowPixelBuffer\n\ - add r1, sp, 0xC\n\ - ldrh r0, [r5]\n\ - strh r0, [r1]\n\ - ldrh r0, [r5, 0x2]\n\ - strh r0, [r1, 0x2]\n\ - ldrh r0, [r5, 0x4]\n\ - strh r0, [r1, 0x4]\n\ - ldrh r0, [r5, 0x8]\n\ - strh r0, [r1, 0x6]\n\ - ldrh r0, [r5, 0xA]\n\ - strh r0, [r1, 0x8]\n\ - ldrh r0, [r5, 0x6]\n\ - strh r0, [r1, 0xA]\n\ - add r0, sp, 0x24\n\ - strb r4, [r0]\n\ - strb r6, [r0, 0x1]\n\ - ldr r2, [sp, 0x28]\n\ - strb r2, [r0, 0x2]\n\ - movs r6, 0\n\ - add r1, sp, 0x18\n\ - mov r9, r1\n\ - mov r7, r8\n\ - mov r10, r0\n\ - movs r2, 0x1\n\ - negs r2, r2\n\ - mov r8, r2\n\ -_081D37EE:\n\ - lsls r1, r6, 1\n\ - mov r0, sp\n\ - adds r0, r1\n\ - adds r0, 0xC\n\ - movs r2, 0\n\ - ldrsh r0, [r0, r2]\n\ - movs r4, 0x3\n\ - cmp r0, 0x63\n\ - bgt _081D3808\n\ - movs r4, 0x1\n\ - cmp r0, 0x9\n\ - ble _081D3808\n\ - movs r4, 0x2\n\ -_081D3808:\n\ - mov r0, sp\n\ - adds r0, r1\n\ - adds r0, 0xC\n\ - movs r2, 0\n\ - ldrsh r1, [r0, r2]\n\ - mov r0, r9\n\ - movs r2, 0\n\ - adds r3, r4, 0\n\ - bl ConvertIntToDecimalStringN\n\ - movs r0, 0x4\n\ - subs r0, r4\n\ - lsls r4, r0, 1\n\ - adds r4, r0\n\ - lsls r4, 17\n\ - lsrs r4, 16\n\ - lsls r5, r6, 4\n\ - subs r5, r6\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - mov r0, r10\n\ - str r0, [sp]\n\ - mov r1, r8\n\ - str r1, [sp, 0x4]\n\ - ldr r1, =gUnknown_08625B54\n\ - lsls r0, r6, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - str r0, [sp, 0x8]\n\ - adds r0, r7, 0\n\ - movs r1, 0x1\n\ - movs r2, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r4, 0x38\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - mov r2, r10\n\ - str r2, [sp]\n\ - mov r0, r8\n\ - str r0, [sp, 0x4]\n\ - mov r1, r9\n\ - str r1, [sp, 0x8]\n\ - adds r0, r7, 0\n\ - movs r1, 0x1\n\ - adds r2, r4, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r0, r6, 0x1\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ - cmp r6, 0x5\n\ - bls _081D37EE\n\ - add sp, 0x2C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} -#endif // NONMATCHING -void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation) +void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats) { - statStoreLocation[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); - statStoreLocation[STAT_ATK] = GetMonData(mon, MON_DATA_ATK); - statStoreLocation[STAT_DEF] = GetMonData(mon, MON_DATA_DEF); - statStoreLocation[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED); - statStoreLocation[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK); - statStoreLocation[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF); + currStats[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); + currStats[STAT_ATK] = GetMonData(mon, MON_DATA_ATK); + currStats[STAT_DEF] = GetMonData(mon, MON_DATA_DEF); + currStats[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED); + currStats[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK); + currStats[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF); } From c36476af852b303fbb051b126023059ed5340a1c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 4 Apr 2019 23:08:53 +0200 Subject: [PATCH 58/84] Clean up data2b.c --- include/data.h | 63 + include/data2.h | 22 - ld_script.txt | 3 +- src/battle_data.c | 14 - src/{data2b.c => data.c} | 100 +- .../pokemon_graphics/back_pic_coordinates.h | 2 - src/data/pokemon_graphics/back_pic_table.h | 881 ++-- .../pokemon_graphics/enemy_mon_elevation.h | 355 +- src/data/pokemon_graphics/footprint_table.h | 828 ++-- .../{front_anims.h => front_pic_anims.h} | 3625 ++++++++--------- .../pokemon_graphics/front_pic_coordinates.h | 2 - src/data/pokemon_graphics/front_pic_table.h | 880 ++-- src/data/pokemon_graphics/palette_table.h | 880 ++-- .../pokemon_graphics/shiny_palette_table.h | 880 ++-- .../pokemon_graphics/still_front_pic_table.h | 884 ++-- src/data/pokemon_graphics/unknown_anims.h | 1303 +++--- src/data/trainer_graphics/back_pic_anims.h | 64 +- src/data/trainer_graphics/back_pic_tables.h | 34 +- src/data/trainer_graphics/front_pic_anims.h | 560 ++- src/data/trainer_graphics/front_pic_tables.h | 558 +-- src/data/trainer_parties.h | 1708 ++++---- src/data/trainers.h | 1708 ++++---- 22 files changed, 7520 insertions(+), 7834 deletions(-) create mode 100644 include/data.h delete mode 100644 include/data2.h delete mode 100644 src/battle_data.c rename src/{data2b.c => data.c} (81%) rename src/data/pokemon_graphics/{front_anims.h => front_pic_anims.h} (56%) diff --git a/include/data.h b/include/data.h new file mode 100644 index 0000000000..a8ba573fe8 --- /dev/null +++ b/include/data.h @@ -0,0 +1,63 @@ +#ifndef GUARD_DATA_H +#define GUARD_DATA_H + +#include "constants/moves.h" +#include "constants/species.h" + +#define SPECIES_SHINY_TAG 500 + +struct MonCoords +{ + // This would use a bitfield, but some function + // uses it as a u8 and casting won't match. + u8 size; // u8 width:4, height:4; + u8 y_offset; +}; + +extern const u16 gUnknown_082FF1D8[]; +extern const u32 gUnknown_082FF1F8[]; + +extern const struct SpriteFrameImage gUnknown_082FF3A8[]; +extern const struct SpriteFrameImage gUnknown_082FF3C8[]; +extern const struct SpriteFrameImage gUnknown_082FF3E8[]; +extern const struct SpriteFrameImage gUnknown_082FF408[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_May[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Red[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[]; + +extern const union AffineAnimCmd *const gUnknown_082FF618[]; +extern const union AffineAnimCmd *const gUnknown_082FF694[]; +extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; + +extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[]; +extern const struct MonCoords gMonFrontPicCoords[]; +extern const struct CompressedSpriteSheet gMonStillFrontPicTable[]; +extern const struct MonCoords gMonBackPicCoords[]; +extern const struct CompressedSpriteSheet gMonBackPicTable[]; +extern const struct CompressedSpritePalette gMonPaletteTable[]; +extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; +extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; +extern const struct MonCoords gTrainerFrontPicCoords[]; +extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; +extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; +extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; +extern const struct MonCoords gTrainerBackPicCoords[]; +extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; // functionally unused +extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; + +extern const u8 gEnemyMonElevation[NUM_SPECIES]; + +extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[]; +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; + +extern const struct Trainer gTrainers[]; +extern const u8 gTrainerClassNames[][13]; +extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; +extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1]; + +#endif // GUARD_DATA_H diff --git a/include/data2.h b/include/data2.h deleted file mode 100644 index c1a2608ae8..0000000000 --- a/include/data2.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef GUARD_DATA2_H -#define GUARD_DATA2_H - -struct MonCoords -{ - // This would use a bitfield, but some function - // uses it as a u8 and casting won't match. - u8 size; // u8 width:4, height:4; - u8 y_offset; -}; - -extern const struct MonCoords gTrainerBackPicCoords[]; -extern const struct MonCoords gTrainerFrontPicCoords[]; - -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1]; -extern struct CompressedSpriteSheet gUnknown_0831C620; -extern struct CompressedSpritePalette gUnknown_0831C628; -extern const struct SpriteTemplate gUnknown_0831C688; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; - -#endif // GUARD_DATA2_H diff --git a/ld_script.txt b/ld_script.txt index ee262a4418..8f44e0abf0 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -426,8 +426,7 @@ SECTIONS { src/rtc.o(.rodata); src/main_menu.o(.rodata); src/rom_8034C54.o(.rodata); - src/data2b.o(.rodata); - src/battle_data.o(.rodata); + src/data.o(.rodata); src/battle_bg.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); diff --git a/src/battle_data.c b/src/battle_data.c deleted file mode 100644 index 7f86385aab..0000000000 --- a/src/battle_data.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "global.h" -#include "battle.h" -#include "data2.h" -#include "constants/items.h" -#include "constants/moves.h" -#include "constants/species.h" -#include "constants/trainers.h" -#include "constants/battle_ai.h" - -#include "data/trainer_parties.h" -#include "data/text/trainer_class_names.h" -#include "data/trainers.h" -#include "data/text/species_names.h" -#include "data/text/move_names.h" diff --git a/src/data2b.c b/src/data.c similarity index 81% rename from src/data2b.c rename to src/data.c index af76390a4e..b0d14d2afe 100644 --- a/src/data2b.c +++ b/src/data.c @@ -1,11 +1,17 @@ #include "global.h" -#include "data2.h" -#include "graphics.h" #include "alloc.h" +#include "battle.h" +#include "data.h" +#include "graphics.h" +#include "constants/items.h" +#include "constants/moves.h" #include "constants/species.h" +#include "constants/trainers.h" +#include "constants/battle_ai.h" const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal"); const u32 gUnknown_082FF1F8[] = INCBIN_U32("graphics/link/minigame_digits.4bpp.lz"); +// unused const u32 gUnknown_082FF2B8[] = INCBIN_U32("graphics/link/minigame_digits2.4bpp.lz"); const struct SpriteFrameImage gUnknown_082FF3A8[] = @@ -106,45 +112,45 @@ const struct SpriteFrameImage gTrainerBackPicTable_Steven[] = gTrainerBackPic_Steven + 0x1800, 0x0800, }; -const union AnimCmd gAnimCmd_General_Frame0[] = +static const union AnimCmd sAnim_GeneralFrame0[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_General_Frame3[] = +static const union AnimCmd sAnim_GeneralFrame3[] = { ANIMCMD_FRAME(3, 0), ANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF548[] = +static const union AffineAnimCmd gUnknown_082FF548[] = { AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF558[] = +static const union AffineAnimCmd gUnknown_082FF558[] = { AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF568[] = +static const union AffineAnimCmd gUnknown_082FF568[] = { AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00), AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF580[] = +static const union AffineAnimCmd gUnknown_082FF580[] = { AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12), AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF598[] = +static const union AffineAnimCmd gUnknown_082FF598[] = { AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00), AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08), @@ -152,39 +158,39 @@ const union AffineAnimCmd gUnknown_082FF598[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_082FF5B8[] = +static const union AffineAnimCmd gUnknown_082FF5B8[] = { AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5C8[] = +static const union AffineAnimCmd gUnknown_082FF5C8[] = { AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5D8[] = +static const union AffineAnimCmd gUnknown_082FF5D8[] = { AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000), AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5F0[] = +static const union AffineAnimCmd gUnknown_082FF5F0[] = { AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF600[] = +static const union AffineAnimCmd gUnknown_082FF600[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), AFFINEANIMCMD_END, }; -const union AffineAnimCmd * const gUnknown_082FF618[] = +const union AffineAnimCmd *const gUnknown_082FF618[] = { gUnknown_082FF548, gUnknown_082FF568, @@ -197,20 +203,20 @@ const union AffineAnimCmd * const gUnknown_082FF618[] = gUnknown_082FF5D8, }; -const union AffineAnimCmd gUnknown_082FF63C[] = +static const union AffineAnimCmd gUnknown_082FF63C[] = { AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF64C[] = +static const union AffineAnimCmd gUnknown_082FF64C[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF664[] = +static const union AffineAnimCmd gUnknown_082FF664[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14), @@ -218,13 +224,13 @@ const union AffineAnimCmd gUnknown_082FF664[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF684[] = +static const union AffineAnimCmd gUnknown_082FF684[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e), AFFINEANIMCMD_END, }; -const union AffineAnimCmd * const gUnknown_082FF694[] = +const union AffineAnimCmd *const gUnknown_082FF694[] = { gUnknown_082FF548, gUnknown_082FF568, @@ -239,7 +245,7 @@ const union AffineAnimCmd * const gUnknown_082FF694[] = gUnknown_082FF684, }; -const union AffineAnimCmd * const gUnknown_082FF6C0[] = +const union AffineAnimCmd *const gUnknown_082FF6C0[] = { gUnknown_082FF558, gUnknown_082FF568, @@ -254,6 +260,47 @@ const union AffineAnimCmd * const gUnknown_082FF6C0[] = gUnknown_082FF684, }; +static const union AnimCmd gUnknown_082FF6EC[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF6F4[] = +{ + ANIMCMD_FRAME(1, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF6FC[] = +{ + ANIMCMD_FRAME(2, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF704[] = +{ + ANIMCMD_FRAME(3, 0), + ANIMCMD_END, +}; + +const union AnimCmd *const gPlayerMonSpriteAnimsTable[] = +{ + gUnknown_082FF6EC, + gUnknown_082FF6F4, + gUnknown_082FF6FC, + gUnknown_082FF704, +}; + +#define SPECIES_SPRITE(species, sprite) [SPECIES_##species] = {sprite, 0x800, SPECIES_##species} +#define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species} +#define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG} + +#define TRAINER_SPRITE(trainerPic, sprite, size) [TRAINER_PIC_##trainerPic] = {sprite, size, TRAINER_PIC_##trainerPic} +#define TRAINER_PAL(trainerPic, pal) [TRAINER_PIC_##trainerPic] = {pal, TRAINER_PIC_##trainerPic} + +#define TRAINER_BACK_PAL(trainerPic, pal) [TRAINER_BACK_PIC_##trainerPic] = {pal, TRAINER_BACK_PIC_##trainerPic} + #include "data/pokemon_graphics/unknown_anims.h" #include "data/pokemon_graphics/front_pic_coordinates.h" #include "data/pokemon_graphics/still_front_pic_table.h" @@ -269,10 +316,11 @@ const union AffineAnimCmd * const gUnknown_082FF6C0[] = #include "data/trainer_graphics/back_pic_tables.h" #include "data/pokemon_graphics/enemy_mon_elevation.h" -#include "data/pokemon_graphics/front_anims.h" +#include "data/pokemon_graphics/front_pic_anims.h" #include "data/pokemon_graphics/front_pic_table.h" -const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c +// unused +const u32 gUnknown830AF4C[] = { 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000088, 0x00000888, 0x00000888, 0x00000886, @@ -385,3 +433,9 @@ const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, }; + +#include "data/trainer_parties.h" +#include "data/text/trainer_class_names.h" +#include "data/trainers.h" +#include "data/text/species_names.h" +#include "data/text/move_names.h" diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index 0de0bfb52d..0a89f20c81 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -1,5 +1,3 @@ -#include "constants/species.h" - const struct MonCoords gMonBackPicCoords[] = { [SPECIES_NONE] = diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index c6fd1300b0..9a98927aac 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -1,444 +1,443 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = { - [SPECIES_NONE] = {gMonBackPic_CircledQuestionMark, 0x800, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonBackPic_Bulbasaur, 0x800, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonBackPic_Ivysaur, 0x800, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonBackPic_Venusaur, 0x800, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonBackPic_Charmander, 0x800, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonBackPic_Charmeleon, 0x800, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonBackPic_Charizard, 0x800, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonBackPic_Squirtle, 0x800, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonBackPic_Wartortle, 0x800, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonBackPic_Blastoise, 0x800, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonBackPic_Caterpie, 0x800, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonBackPic_Metapod, 0x800, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonBackPic_Butterfree, 0x800, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonBackPic_Weedle, 0x800, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonBackPic_Kakuna, 0x800, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonBackPic_Beedrill, 0x800, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonBackPic_Pidgey, 0x800, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonBackPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonBackPic_Pidgeot, 0x800, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonBackPic_Rattata, 0x800, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonBackPic_Raticate, 0x800, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonBackPic_Spearow, 0x800, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonBackPic_Fearow, 0x800, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonBackPic_Ekans, 0x800, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonBackPic_Arbok, 0x800, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonBackPic_Pikachu, 0x800, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonBackPic_Raichu, 0x800, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonBackPic_Sandshrew, 0x800, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonBackPic_Sandslash, 0x800, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonBackPic_NidoranF, 0x800, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonBackPic_Nidorina, 0x800, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonBackPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonBackPic_NidoranM, 0x800, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonBackPic_Nidorino, 0x800, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonBackPic_Nidoking, 0x800, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonBackPic_Clefairy, 0x800, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonBackPic_Clefable, 0x800, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonBackPic_Vulpix, 0x800, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonBackPic_Ninetales, 0x800, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonBackPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonBackPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonBackPic_Zubat, 0x800, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonBackPic_Golbat, 0x800, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonBackPic_Oddish, 0x800, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonBackPic_Gloom, 0x800, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonBackPic_Vileplume, 0x800, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonBackPic_Paras, 0x800, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonBackPic_Parasect, 0x800, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonBackPic_Venonat, 0x800, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonBackPic_Venomoth, 0x800, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonBackPic_Diglett, 0x800, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonBackPic_Dugtrio, 0x800, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonBackPic_Meowth, 0x800, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonBackPic_Persian, 0x800, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonBackPic_Psyduck, 0x800, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonBackPic_Golduck, 0x800, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonBackPic_Mankey, 0x800, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonBackPic_Primeape, 0x800, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonBackPic_Growlithe, 0x800, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonBackPic_Arcanine, 0x800, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonBackPic_Poliwag, 0x800, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonBackPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonBackPic_Poliwrath, 0x800, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonBackPic_Abra, 0x800, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonBackPic_Kadabra, 0x800, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonBackPic_Alakazam, 0x800, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonBackPic_Machop, 0x800, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonBackPic_Machoke, 0x800, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonBackPic_Machamp, 0x800, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonBackPic_Bellsprout, 0x800, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonBackPic_Weepinbell, 0x800, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonBackPic_Victreebel, 0x800, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonBackPic_Tentacool, 0x800, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonBackPic_Tentacruel, 0x800, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonBackPic_Geodude, 0x800, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonBackPic_Graveler, 0x800, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonBackPic_Golem, 0x800, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonBackPic_Ponyta, 0x800, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonBackPic_Rapidash, 0x800, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonBackPic_Slowpoke, 0x800, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonBackPic_Slowbro, 0x800, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonBackPic_Magnemite, 0x800, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonBackPic_Magneton, 0x800, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonBackPic_Farfetchd, 0x800, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonBackPic_Doduo, 0x800, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonBackPic_Dodrio, 0x800, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonBackPic_Seel, 0x800, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonBackPic_Dewgong, 0x800, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonBackPic_Grimer, 0x800, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonBackPic_Muk, 0x800, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonBackPic_Shellder, 0x800, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonBackPic_Cloyster, 0x800, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonBackPic_Gastly, 0x800, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonBackPic_Haunter, 0x800, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonBackPic_Gengar, 0x800, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonBackPic_Onix, 0x800, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonBackPic_Drowzee, 0x800, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonBackPic_Hypno, 0x800, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonBackPic_Krabby, 0x800, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonBackPic_Kingler, 0x800, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonBackPic_Voltorb, 0x800, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonBackPic_Electrode, 0x800, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonBackPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonBackPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonBackPic_Cubone, 0x800, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonBackPic_Marowak, 0x800, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonBackPic_Hitmonlee, 0x800, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonBackPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonBackPic_Lickitung, 0x800, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonBackPic_Koffing, 0x800, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonBackPic_Weezing, 0x800, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonBackPic_Rhyhorn, 0x800, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonBackPic_Rhydon, 0x800, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonBackPic_Chansey, 0x800, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonBackPic_Tangela, 0x800, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonBackPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonBackPic_Horsea, 0x800, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonBackPic_Seadra, 0x800, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonBackPic_Goldeen, 0x800, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonBackPic_Seaking, 0x800, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonBackPic_Staryu, 0x800, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonBackPic_Starmie, 0x800, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonBackPic_Mrmime, 0x800, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonBackPic_Scyther, 0x800, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonBackPic_Jynx, 0x800, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonBackPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonBackPic_Magmar, 0x800, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonBackPic_Pinsir, 0x800, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonBackPic_Tauros, 0x800, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonBackPic_Magikarp, 0x800, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonBackPic_Gyarados, 0x800, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonBackPic_Lapras, 0x800, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonBackPic_Ditto, 0x800, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonBackPic_Eevee, 0x800, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonBackPic_Vaporeon, 0x800, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonBackPic_Jolteon, 0x800, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonBackPic_Flareon, 0x800, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonBackPic_Porygon, 0x800, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonBackPic_Omanyte, 0x800, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonBackPic_Omastar, 0x800, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonBackPic_Kabuto, 0x800, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonBackPic_Kabutops, 0x800, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonBackPic_Aerodactyl, 0x800, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonBackPic_Snorlax, 0x800, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonBackPic_Articuno, 0x800, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonBackPic_Zapdos, 0x800, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonBackPic_Moltres, 0x800, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonBackPic_Dratini, 0x800, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonBackPic_Dragonair, 0x800, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonBackPic_Dragonite, 0x800, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonBackPic_Mewtwo, 0x800, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonBackPic_Mew, 0x800, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonBackPic_Chikorita, 0x800, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonBackPic_Bayleef, 0x800, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonBackPic_Meganium, 0x800, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonBackPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonBackPic_Quilava, 0x800, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonBackPic_Typhlosion, 0x800, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonBackPic_Totodile, 0x800, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonBackPic_Croconaw, 0x800, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonBackPic_Feraligatr, 0x800, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonBackPic_Sentret, 0x800, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonBackPic_Furret, 0x800, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonBackPic_Hoothoot, 0x800, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonBackPic_Noctowl, 0x800, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonBackPic_Ledyba, 0x800, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonBackPic_Ledian, 0x800, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonBackPic_Spinarak, 0x800, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonBackPic_Ariados, 0x800, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonBackPic_Crobat, 0x800, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonBackPic_Chinchou, 0x800, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonBackPic_Lanturn, 0x800, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonBackPic_Pichu, 0x800, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonBackPic_Cleffa, 0x800, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonBackPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonBackPic_Togepi, 0x800, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonBackPic_Togetic, 0x800, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonBackPic_Natu, 0x800, SPECIES_NATU}, - [SPECIES_XATU] = {gMonBackPic_Xatu, 0x800, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonBackPic_Mareep, 0x800, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonBackPic_Flaaffy, 0x800, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonBackPic_Ampharos, 0x800, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonBackPic_Bellossom, 0x800, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonBackPic_Marill, 0x800, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonBackPic_Azumarill, 0x800, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonBackPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonBackPic_Politoed, 0x800, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonBackPic_Hoppip, 0x800, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonBackPic_Skiploom, 0x800, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonBackPic_Jumpluff, 0x800, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonBackPic_Aipom, 0x800, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonBackPic_Sunkern, 0x800, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonBackPic_Sunflora, 0x800, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonBackPic_Yanma, 0x800, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonBackPic_Wooper, 0x800, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonBackPic_Quagsire, 0x800, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonBackPic_Espeon, 0x800, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonBackPic_Umbreon, 0x800, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonBackPic_Murkrow, 0x800, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonBackPic_Slowking, 0x800, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonBackPic_Misdreavus, 0x800, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonBackPic_UnownA, 0x800, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonBackPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonBackPic_Girafarig, 0x800, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonBackPic_Pineco, 0x800, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonBackPic_Forretress, 0x800, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonBackPic_Dunsparce, 0x800, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonBackPic_Gligar, 0x800, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonBackPic_Steelix, 0x800, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonBackPic_Snubbull, 0x800, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonBackPic_Granbull, 0x800, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonBackPic_Qwilfish, 0x800, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonBackPic_Scizor, 0x800, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonBackPic_Shuckle, 0x800, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonBackPic_Heracross, 0x800, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonBackPic_Sneasel, 0x800, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonBackPic_Teddiursa, 0x800, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonBackPic_Ursaring, 0x800, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonBackPic_Slugma, 0x800, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonBackPic_Magcargo, 0x800, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonBackPic_Swinub, 0x800, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonBackPic_Piloswine, 0x800, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonBackPic_Corsola, 0x800, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonBackPic_Remoraid, 0x800, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonBackPic_Octillery, 0x800, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonBackPic_Delibird, 0x800, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonBackPic_Mantine, 0x800, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonBackPic_Skarmory, 0x800, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonBackPic_Houndour, 0x800, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonBackPic_Houndoom, 0x800, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonBackPic_Kingdra, 0x800, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonBackPic_Phanpy, 0x800, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonBackPic_Donphan, 0x800, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonBackPic_Porygon2, 0x800, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonBackPic_Stantler, 0x800, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonBackPic_Smeargle, 0x800, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonBackPic_Tyrogue, 0x800, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonBackPic_Hitmontop, 0x800, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonBackPic_Smoochum, 0x800, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonBackPic_Elekid, 0x800, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonBackPic_Magby, 0x800, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonBackPic_Miltank, 0x800, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonBackPic_Blissey, 0x800, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonBackPic_Raikou, 0x800, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonBackPic_Entei, 0x800, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonBackPic_Suicune, 0x800, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonBackPic_Larvitar, 0x800, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonBackPic_Pupitar, 0x800, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonBackPic_Tyranitar, 0x800, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonBackPic_Lugia, 0x800, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonBackPic_HoOh, 0x800, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonBackPic_Celebi, 0x800, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonBackPic_Treecko, 0x800, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonBackPic_Grovyle, 0x800, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonBackPic_Sceptile, 0x800, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonBackPic_Torchic, 0x800, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonBackPic_Combusken, 0x800, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonBackPic_Blaziken, 0x800, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonBackPic_Mudkip, 0x800, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonBackPic_Marshtomp, 0x800, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonBackPic_Swampert, 0x800, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonBackPic_Poochyena, 0x800, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonBackPic_Mightyena, 0x800, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonBackPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonBackPic_Linoone, 0x800, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonBackPic_Wurmple, 0x800, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonBackPic_Silcoon, 0x800, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonBackPic_Beautifly, 0x800, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonBackPic_Cascoon, 0x800, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonBackPic_Dustox, 0x800, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonBackPic_Lotad, 0x800, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonBackPic_Lombre, 0x800, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonBackPic_Ludicolo, 0x800, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonBackPic_Seedot, 0x800, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonBackPic_Nuzleaf, 0x800, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonBackPic_Shiftry, 0x800, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonBackPic_Nincada, 0x800, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonBackPic_Ninjask, 0x800, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonBackPic_Shedinja, 0x800, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonBackPic_Taillow, 0x800, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonBackPic_Swellow, 0x800, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonBackPic_Shroomish, 0x800, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonBackPic_Breloom, 0x800, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonBackPic_Spinda, 0x800, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonBackPic_Wingull, 0x800, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonBackPic_Pelipper, 0x800, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonBackPic_Surskit, 0x800, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonBackPic_Masquerain, 0x800, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonBackPic_Wailmer, 0x800, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonBackPic_Wailord, 0x800, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonBackPic_Skitty, 0x800, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonBackPic_Delcatty, 0x800, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonBackPic_Kecleon, 0x800, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonBackPic_Baltoy, 0x800, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonBackPic_Claydol, 0x800, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonBackPic_Nosepass, 0x800, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonBackPic_Torkoal, 0x800, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonBackPic_Sableye, 0x800, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonBackPic_Barboach, 0x800, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonBackPic_Whiscash, 0x800, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonBackPic_Luvdisc, 0x800, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonBackPic_Corphish, 0x800, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonBackPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonBackPic_Feebas, 0x800, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonBackPic_Milotic, 0x800, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonBackPic_Carvanha, 0x800, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonBackPic_Sharpedo, 0x800, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonBackPic_Trapinch, 0x800, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonBackPic_Vibrava, 0x800, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonBackPic_Flygon, 0x800, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonBackPic_Makuhita, 0x800, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonBackPic_Hariyama, 0x800, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonBackPic_Electrike, 0x800, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonBackPic_Manectric, 0x800, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonBackPic_Numel, 0x800, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonBackPic_Camerupt, 0x800, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonBackPic_Spheal, 0x800, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonBackPic_Sealeo, 0x800, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonBackPic_Walrein, 0x800, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonBackPic_Cacnea, 0x800, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonBackPic_Cacturne, 0x800, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonBackPic_Snorunt, 0x800, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonBackPic_Glalie, 0x800, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonBackPic_Lunatone, 0x800, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonBackPic_Solrock, 0x800, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonBackPic_Azurill, 0x800, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonBackPic_Spoink, 0x800, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonBackPic_Grumpig, 0x800, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonBackPic_Plusle, 0x800, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonBackPic_Minun, 0x800, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonBackPic_Mawile, 0x800, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonBackPic_Meditite, 0x800, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonBackPic_Medicham, 0x800, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonBackPic_Swablu, 0x800, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonBackPic_Altaria, 0x800, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonBackPic_Wynaut, 0x800, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonBackPic_Duskull, 0x800, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonBackPic_Dusclops, 0x800, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonBackPic_Roselia, 0x800, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonBackPic_Slakoth, 0x800, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonBackPic_Vigoroth, 0x800, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonBackPic_Slaking, 0x800, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonBackPic_Gulpin, 0x800, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonBackPic_Swalot, 0x800, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonBackPic_Tropius, 0x800, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonBackPic_Whismur, 0x800, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonBackPic_Loudred, 0x800, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonBackPic_Exploud, 0x800, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonBackPic_Clamperl, 0x800, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonBackPic_Huntail, 0x800, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonBackPic_Gorebyss, 0x800, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonBackPic_Absol, 0x800, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonBackPic_Shuppet, 0x800, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonBackPic_Banette, 0x800, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonBackPic_Seviper, 0x800, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonBackPic_Zangoose, 0x800, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonBackPic_Relicanth, 0x800, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonBackPic_Aron, 0x800, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonBackPic_Lairon, 0x800, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonBackPic_Aggron, 0x800, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonBackPic_Castform, 0x800, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonBackPic_Volbeat, 0x800, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonBackPic_Illumise, 0x800, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonBackPic_Lileep, 0x800, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonBackPic_Cradily, 0x800, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonBackPic_Anorith, 0x800, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonBackPic_Armaldo, 0x800, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonBackPic_Ralts, 0x800, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonBackPic_Kirlia, 0x800, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonBackPic_Gardevoir, 0x800, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonBackPic_Bagon, 0x800, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonBackPic_Shelgon, 0x800, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonBackPic_Salamence, 0x800, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonBackPic_Beldum, 0x800, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonBackPic_Metang, 0x800, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonBackPic_Metagross, 0x800, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonBackPic_Regirock, 0x800, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonBackPic_Regice, 0x800, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonBackPic_Registeel, 0x800, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonBackPic_Kyogre, 0x800, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonBackPic_Groudon, 0x800, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonBackPic_Rayquaza, 0x800, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonBackPic_Latias, 0x800, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonBackPic_Latios, 0x800, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonBackPic_Jirachi, 0x800, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonBackPic_Deoxys, 0x800, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonBackPic_Chimecho, 0x800, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonStillFrontPic_Egg, 0x800, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonBackPic_UnownB, 0x800, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonBackPic_UnownC, 0x800, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonBackPic_UnownD, 0x800, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonBackPic_UnownE, 0x800, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonBackPic_UnownF, 0x800, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonBackPic_UnownG, 0x800, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonBackPic_UnownH, 0x800, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonBackPic_UnownI, 0x800, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonBackPic_UnownJ, 0x800, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonBackPic_UnownK, 0x800, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonBackPic_UnownL, 0x800, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonBackPic_UnownM, 0x800, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonBackPic_UnownN, 0x800, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonBackPic_UnownO, 0x800, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonBackPic_UnownP, 0x800, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonBackPic_UnownQ, 0x800, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonBackPic_UnownR, 0x800, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonBackPic_UnownS, 0x800, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonBackPic_UnownT, 0x800, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonBackPic_UnownU, 0x800, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonBackPic_UnownV, 0x800, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonBackPic_UnownW, 0x800, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonBackPic_UnownX, 0x800, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonBackPic_UnownY, 0x800, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonBackPic_UnownZ, 0x800, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonBackPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonBackPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK}, + SPECIES_SPRITE(NONE, gMonBackPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonBackPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonBackPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonBackPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonBackPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonBackPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonBackPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonBackPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonBackPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonBackPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonBackPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonBackPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonBackPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonBackPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonBackPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonBackPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonBackPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonBackPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonBackPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonBackPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonBackPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonBackPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonBackPic_Fearow), + SPECIES_SPRITE(EKANS, gMonBackPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonBackPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonBackPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonBackPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonBackPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonBackPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonBackPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonBackPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonBackPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonBackPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonBackPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonBackPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonBackPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonBackPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonBackPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonBackPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonBackPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonBackPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonBackPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonBackPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonBackPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonBackPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonBackPic_Paras), + SPECIES_SPRITE(PARASECT, gMonBackPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonBackPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonBackPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonBackPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonBackPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonBackPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonBackPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonBackPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonBackPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonBackPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonBackPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonBackPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonBackPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonBackPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonBackPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonBackPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonBackPic_Abra), + SPECIES_SPRITE(KADABRA, gMonBackPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonBackPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonBackPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonBackPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonBackPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonBackPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonBackPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonBackPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonBackPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonBackPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonBackPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonBackPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonBackPic_Golem), + SPECIES_SPRITE(PONYTA, gMonBackPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonBackPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonBackPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonBackPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonBackPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonBackPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonBackPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonBackPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonBackPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonBackPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonBackPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonBackPic_Grimer), + SPECIES_SPRITE(MUK, gMonBackPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonBackPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonBackPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonBackPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonBackPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonBackPic_Gengar), + SPECIES_SPRITE(ONIX, gMonBackPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonBackPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonBackPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonBackPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonBackPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonBackPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonBackPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonBackPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonBackPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonBackPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonBackPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonBackPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonBackPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonBackPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonBackPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonBackPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonBackPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonBackPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonBackPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonBackPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonBackPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonBackPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonBackPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonBackPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonBackPic_Seaking), + SPECIES_SPRITE(STARYU, gMonBackPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonBackPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonBackPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther), + SPECIES_SPRITE(JYNX, gMonBackPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonBackPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonBackPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonBackPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonBackPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonBackPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonBackPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonBackPic_Lapras), + SPECIES_SPRITE(DITTO, gMonBackPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonBackPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonBackPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonBackPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonBackPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonBackPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonBackPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonBackPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonBackPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonBackPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonBackPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonBackPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonBackPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonBackPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonBackPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonBackPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonBackPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonBackPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonBackPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonBackPic_Mew), + SPECIES_SPRITE(CHIKORITA, gMonBackPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonBackPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonBackPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonBackPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonBackPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonBackPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonBackPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonBackPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonBackPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonBackPic_Sentret), + SPECIES_SPRITE(FURRET, gMonBackPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonBackPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonBackPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonBackPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonBackPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonBackPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonBackPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonBackPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonBackPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonBackPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonBackPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonBackPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonBackPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonBackPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonBackPic_Togetic), + SPECIES_SPRITE(NATU, gMonBackPic_Natu), + SPECIES_SPRITE(XATU, gMonBackPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonBackPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonBackPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonBackPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonBackPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonBackPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonBackPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonBackPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonBackPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonBackPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonBackPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonBackPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonBackPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonBackPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonBackPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonBackPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonBackPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonBackPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonBackPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonBackPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonBackPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonBackPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonBackPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonBackPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonBackPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonBackPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonBackPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonBackPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonBackPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonBackPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonBackPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonBackPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonBackPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonBackPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonBackPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonBackPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonBackPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonBackPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonBackPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonBackPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonBackPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonBackPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonBackPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonBackPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonBackPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonBackPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonBackPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonBackPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonBackPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonBackPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonBackPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonBackPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonBackPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonBackPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonBackPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonBackPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonBackPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonBackPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonBackPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonBackPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonBackPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonBackPic_Magby), + SPECIES_SPRITE(MILTANK, gMonBackPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonBackPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonBackPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonBackPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonBackPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonBackPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonBackPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonBackPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonBackPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonBackPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonBackPic_Celebi), + SPECIES_SPRITE(OLD_UNOWN_B, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(TREECKO, gMonBackPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonBackPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonBackPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonBackPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonBackPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonBackPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonBackPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonBackPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonBackPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonBackPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonBackPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonBackPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonBackPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonBackPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonBackPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonBackPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonBackPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonBackPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonBackPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonBackPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonBackPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonBackPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonBackPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonBackPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonBackPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonBackPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonBackPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonBackPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonBackPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonBackPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonBackPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonBackPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonBackPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonBackPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonBackPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonBackPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonBackPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonBackPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonBackPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonBackPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonBackPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonBackPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonBackPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonBackPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonBackPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonBackPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonBackPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonBackPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonBackPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonBackPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonBackPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonBackPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonBackPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonBackPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonBackPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonBackPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonBackPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonBackPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonBackPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonBackPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonBackPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonBackPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonBackPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonBackPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonBackPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonBackPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonBackPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonBackPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonBackPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonBackPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonBackPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonBackPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonBackPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonBackPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonBackPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonBackPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonBackPic_Plusle), + SPECIES_SPRITE(MINUN, gMonBackPic_Minun), + SPECIES_SPRITE(MAWILE, gMonBackPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonBackPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonBackPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonBackPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonBackPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonBackPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonBackPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonBackPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonBackPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonBackPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonBackPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonBackPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonBackPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonBackPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonBackPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonBackPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonBackPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonBackPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonBackPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonBackPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonBackPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonBackPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonBackPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonBackPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonBackPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonBackPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonBackPic_Relicanth), + SPECIES_SPRITE(ARON, gMonBackPic_Aron), + SPECIES_SPRITE(LAIRON, gMonBackPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonBackPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonBackPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonBackPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonBackPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonBackPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonBackPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonBackPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonBackPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonBackPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonBackPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonBackPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonBackPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonBackPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonBackPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonBackPic_Beldum), + SPECIES_SPRITE(METANG, gMonBackPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonBackPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonBackPic_Regirock), + SPECIES_SPRITE(REGICE, gMonBackPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonBackPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonBackPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonBackPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonBackPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonBackPic_Latias), + SPECIES_SPRITE(LATIOS, gMonBackPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho), + SPECIES_SPRITE(EGG, gMonStillFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonBackPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonBackPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonBackPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonBackPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonBackPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonBackPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonBackPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonBackPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonBackPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonBackPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonBackPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonBackPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonBackPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonBackPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonBackPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonBackPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonBackPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonBackPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonBackPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonBackPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonBackPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonBackPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark), }; - diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h index c8f079a5c8..f3d81d27ef 100644 --- a/src/data/pokemon_graphics/enemy_mon_elevation.h +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -1,415 +1,62 @@ -#include "constants/species.h" - // This determines how much higher above the usual position the enemy Pokémon // is during battle. Species that float or fly have nonzero values. -const u8 gEnemyMonElevation[] = +const u8 gEnemyMonElevation[NUM_SPECIES] = { - [SPECIES_NONE] = 0, - [SPECIES_BULBASAUR] = 0, - [SPECIES_IVYSAUR] = 0, - [SPECIES_VENUSAUR] = 0, - [SPECIES_CHARMANDER] = 0, - [SPECIES_CHARMELEON] = 0, - [SPECIES_CHARIZARD] = 0, - [SPECIES_SQUIRTLE] = 0, - [SPECIES_WARTORTLE] = 0, - [SPECIES_BLASTOISE] = 0, - [SPECIES_CATERPIE] = 0, - [SPECIES_METAPOD] = 0, [SPECIES_BUTTERFREE] = 8, - [SPECIES_WEEDLE] = 0, - [SPECIES_KAKUNA] = 0, [SPECIES_BEEDRILL] = 8, [SPECIES_PIDGEY] = 16, - [SPECIES_PIDGEOTTO] = 0, [SPECIES_PIDGEOT] = 4, - [SPECIES_RATTATA] = 0, - [SPECIES_RATICATE] = 0, - [SPECIES_SPEAROW] = 0, [SPECIES_FEAROW] = 6, - [SPECIES_EKANS] = 0, - [SPECIES_ARBOK] = 0, - [SPECIES_PIKACHU] = 0, - [SPECIES_RAICHU] = 0, - [SPECIES_SANDSHREW] = 0, - [SPECIES_SANDSLASH] = 0, - [SPECIES_NIDORAN_F] = 0, - [SPECIES_NIDORINA] = 0, - [SPECIES_NIDOQUEEN] = 0, - [SPECIES_NIDORAN_M] = 0, - [SPECIES_NIDORINO] = 0, - [SPECIES_NIDOKING] = 0, - [SPECIES_CLEFAIRY] = 0, - [SPECIES_CLEFABLE] = 0, - [SPECIES_VULPIX] = 0, - [SPECIES_NINETALES] = 0, - [SPECIES_JIGGLYPUFF] = 0, - [SPECIES_WIGGLYTUFF] = 0, [SPECIES_ZUBAT] = 8, [SPECIES_GOLBAT] = 8, - [SPECIES_ODDISH] = 0, - [SPECIES_GLOOM] = 0, - [SPECIES_VILEPLUME] = 0, - [SPECIES_PARAS] = 0, - [SPECIES_PARASECT] = 0, - [SPECIES_VENONAT] = 0, [SPECIES_VENOMOTH] = 8, - [SPECIES_DIGLETT] = 0, - [SPECIES_DUGTRIO] = 0, - [SPECIES_MEOWTH] = 0, - [SPECIES_PERSIAN] = 0, - [SPECIES_PSYDUCK] = 0, - [SPECIES_GOLDUCK] = 0, - [SPECIES_MANKEY] = 0, - [SPECIES_PRIMEAPE] = 0, - [SPECIES_GROWLITHE] = 0, - [SPECIES_ARCANINE] = 0, - [SPECIES_POLIWAG] = 0, - [SPECIES_POLIWHIRL] = 0, - [SPECIES_POLIWRATH] = 0, - [SPECIES_ABRA] = 0, - [SPECIES_KADABRA] = 0, - [SPECIES_ALAKAZAM] = 0, - [SPECIES_MACHOP] = 0, - [SPECIES_MACHOKE] = 0, - [SPECIES_MACHAMP] = 0, - [SPECIES_BELLSPROUT] = 0, - [SPECIES_WEEPINBELL] = 0, - [SPECIES_VICTREEBEL] = 0, - [SPECIES_TENTACOOL] = 0, - [SPECIES_TENTACRUEL] = 0, [SPECIES_GEODUDE] = 16, - [SPECIES_GRAVELER] = 0, - [SPECIES_GOLEM] = 0, - [SPECIES_PONYTA] = 0, - [SPECIES_RAPIDASH] = 0, - [SPECIES_SLOWPOKE] = 0, - [SPECIES_SLOWBRO] = 0, [SPECIES_MAGNEMITE] = 16, [SPECIES_MAGNETON] = 8, - [SPECIES_FARFETCHD] = 0, - [SPECIES_DODUO] = 0, - [SPECIES_DODRIO] = 0, - [SPECIES_SEEL] = 0, - [SPECIES_DEWGONG] = 0, - [SPECIES_GRIMER] = 0, - [SPECIES_MUK] = 0, - [SPECIES_SHELLDER] = 0, - [SPECIES_CLOYSTER] = 0, [SPECIES_GASTLY] = 4, [SPECIES_HAUNTER] = 4, - [SPECIES_GENGAR] = 0, - [SPECIES_ONIX] = 0, - [SPECIES_DROWZEE] = 0, - [SPECIES_HYPNO] = 0, - [SPECIES_KRABBY] = 0, - [SPECIES_KINGLER] = 0, [SPECIES_VOLTORB] = 10, [SPECIES_ELECTRODE] = 12, - [SPECIES_EXEGGCUTE] = 0, - [SPECIES_EXEGGUTOR] = 0, - [SPECIES_CUBONE] = 0, - [SPECIES_MAROWAK] = 0, - [SPECIES_HITMONLEE] = 0, - [SPECIES_HITMONCHAN] = 0, - [SPECIES_LICKITUNG] = 0, [SPECIES_KOFFING] = 8, [SPECIES_WEEZING] = 6, - [SPECIES_RHYHORN] = 0, - [SPECIES_RHYDON] = 0, - [SPECIES_CHANSEY] = 0, - [SPECIES_TANGELA] = 0, - [SPECIES_KANGASKHAN] = 0, - [SPECIES_HORSEA] = 0, - [SPECIES_SEADRA] = 0, - [SPECIES_GOLDEEN] = 0, - [SPECIES_SEAKING] = 0, - [SPECIES_STARYU] = 0, - [SPECIES_STARMIE] = 0, - [SPECIES_MR_MIME] = 0, - [SPECIES_SCYTHER] = 0, - [SPECIES_JYNX] = 0, - [SPECIES_ELECTABUZZ] = 0, - [SPECIES_MAGMAR] = 0, - [SPECIES_PINSIR] = 0, - [SPECIES_TAUROS] = 0, - [SPECIES_MAGIKARP] = 0, - [SPECIES_GYARADOS] = 0, - [SPECIES_LAPRAS] = 0, - [SPECIES_DITTO] = 0, - [SPECIES_EEVEE] = 0, - [SPECIES_VAPOREON] = 0, - [SPECIES_JOLTEON] = 0, - [SPECIES_FLAREON] = 0, - [SPECIES_PORYGON] = 0, - [SPECIES_OMANYTE] = 0, - [SPECIES_OMASTAR] = 0, - [SPECIES_KABUTO] = 0, - [SPECIES_KABUTOPS] = 0, [SPECIES_AERODACTYL] = 7, - [SPECIES_SNORLAX] = 0, [SPECIES_ARTICUNO] = 6, [SPECIES_ZAPDOS] = 8, [SPECIES_MOLTRES] = 5, - [SPECIES_DRATINI] = 0, - [SPECIES_DRAGONAIR] = 0, [SPECIES_DRAGONITE] = 6, - [SPECIES_MEWTWO] = 0, [SPECIES_MEW] = 8, - [SPECIES_CHIKORITA] = 0, - [SPECIES_BAYLEEF] = 0, - [SPECIES_MEGANIUM] = 0, - [SPECIES_CYNDAQUIL] = 0, - [SPECIES_QUILAVA] = 0, - [SPECIES_TYPHLOSION] = 0, - [SPECIES_TOTODILE] = 0, - [SPECIES_CROCONAW] = 0, - [SPECIES_FERALIGATR] = 0, - [SPECIES_SENTRET] = 0, - [SPECIES_FURRET] = 0, - [SPECIES_HOOTHOOT] = 0, - [SPECIES_NOCTOWL] = 0, - [SPECIES_LEDYBA] = 0, [SPECIES_LEDIAN] = 8, - [SPECIES_SPINARAK] = 0, - [SPECIES_ARIADOS] = 0, [SPECIES_CROBAT] = 6, - [SPECIES_CHINCHOU] = 0, - [SPECIES_LANTURN] = 0, - [SPECIES_PICHU] = 0, - [SPECIES_CLEFFA] = 0, - [SPECIES_IGGLYBUFF] = 0, - [SPECIES_TOGEPI] = 0, - [SPECIES_TOGETIC] = 0, - [SPECIES_NATU] = 0, - [SPECIES_XATU] = 0, - [SPECIES_MAREEP] = 0, - [SPECIES_FLAAFFY] = 0, - [SPECIES_AMPHAROS] = 0, - [SPECIES_BELLOSSOM] = 0, - [SPECIES_MARILL] = 0, - [SPECIES_AZUMARILL] = 0, - [SPECIES_SUDOWOODO] = 0, - [SPECIES_POLITOED] = 0, [SPECIES_HOPPIP] = 11, [SPECIES_SKIPLOOM] = 12, [SPECIES_JUMPLUFF] = 9, - [SPECIES_AIPOM] = 0, - [SPECIES_SUNKERN] = 0, - [SPECIES_SUNFLORA] = 0, [SPECIES_YANMA] = 8, - [SPECIES_WOOPER] = 0, - [SPECIES_QUAGSIRE] = 0, - [SPECIES_ESPEON] = 0, - [SPECIES_UMBREON] = 0, - [SPECIES_MURKROW] = 0, - [SPECIES_SLOWKING] = 0, [SPECIES_MISDREAVUS] = 8, [SPECIES_UNOWN] = 8, - [SPECIES_WOBBUFFET] = 0, - [SPECIES_GIRAFARIG] = 0, - [SPECIES_PINECO] = 0, - [SPECIES_FORRETRESS] = 0, - [SPECIES_DUNSPARCE] = 0, [SPECIES_GLIGAR] = 6, - [SPECIES_STEELIX] = 0, - [SPECIES_SNUBBULL] = 0, - [SPECIES_GRANBULL] = 0, - [SPECIES_QWILFISH] = 0, - [SPECIES_SCIZOR] = 0, - [SPECIES_SHUCKLE] = 0, - [SPECIES_HERACROSS] = 0, - [SPECIES_SNEASEL] = 0, - [SPECIES_TEDDIURSA] = 0, - [SPECIES_URSARING] = 0, - [SPECIES_SLUGMA] = 0, - [SPECIES_MAGCARGO] = 0, - [SPECIES_SWINUB] = 0, - [SPECIES_PILOSWINE] = 0, - [SPECIES_CORSOLA] = 0, - [SPECIES_REMORAID] = 0, - [SPECIES_OCTILLERY] = 0, - [SPECIES_DELIBIRD] = 0, - [SPECIES_MANTINE] = 0, - [SPECIES_SKARMORY] = 0, - [SPECIES_HOUNDOUR] = 0, - [SPECIES_HOUNDOOM] = 0, - [SPECIES_KINGDRA] = 0, - [SPECIES_PHANPY] = 0, - [SPECIES_DONPHAN] = 0, - [SPECIES_PORYGON2] = 0, - [SPECIES_STANTLER] = 0, - [SPECIES_SMEARGLE] = 0, - [SPECIES_TYROGUE] = 0, - [SPECIES_HITMONTOP] = 0, - [SPECIES_SMOOCHUM] = 0, - [SPECIES_ELEKID] = 0, - [SPECIES_MAGBY] = 0, - [SPECIES_MILTANK] = 0, - [SPECIES_BLISSEY] = 0, - [SPECIES_RAIKOU] = 0, - [SPECIES_ENTEI] = 0, - [SPECIES_SUICUNE] = 0, - [SPECIES_LARVITAR] = 0, - [SPECIES_PUPITAR] = 0, - [SPECIES_TYRANITAR] = 0, [SPECIES_LUGIA] = 6, [SPECIES_HO_OH] = 6, [SPECIES_CELEBI] = 15, - [SPECIES_OLD_UNOWN_B] = 0, - [SPECIES_OLD_UNOWN_C] = 0, - [SPECIES_OLD_UNOWN_D] = 0, - [SPECIES_OLD_UNOWN_E] = 0, - [SPECIES_OLD_UNOWN_F] = 0, - [SPECIES_OLD_UNOWN_G] = 0, - [SPECIES_OLD_UNOWN_H] = 0, - [SPECIES_OLD_UNOWN_I] = 0, - [SPECIES_OLD_UNOWN_J] = 0, - [SPECIES_OLD_UNOWN_K] = 0, - [SPECIES_OLD_UNOWN_L] = 0, - [SPECIES_OLD_UNOWN_M] = 0, - [SPECIES_OLD_UNOWN_N] = 0, - [SPECIES_OLD_UNOWN_O] = 0, - [SPECIES_OLD_UNOWN_P] = 0, - [SPECIES_OLD_UNOWN_Q] = 0, - [SPECIES_OLD_UNOWN_R] = 0, - [SPECIES_OLD_UNOWN_S] = 0, - [SPECIES_OLD_UNOWN_T] = 0, - [SPECIES_OLD_UNOWN_U] = 0, - [SPECIES_OLD_UNOWN_V] = 0, - [SPECIES_OLD_UNOWN_W] = 0, - [SPECIES_OLD_UNOWN_X] = 0, - [SPECIES_OLD_UNOWN_Y] = 0, - [SPECIES_OLD_UNOWN_Z] = 0, - [SPECIES_TREECKO] = 0, - [SPECIES_GROVYLE] = 0, - [SPECIES_SCEPTILE] = 0, - [SPECIES_TORCHIC] = 0, - [SPECIES_COMBUSKEN] = 0, - [SPECIES_BLAZIKEN] = 0, - [SPECIES_MUDKIP] = 0, - [SPECIES_MARSHTOMP] = 0, - [SPECIES_SWAMPERT] = 0, - [SPECIES_POOCHYENA] = 0, - [SPECIES_MIGHTYENA] = 0, - [SPECIES_ZIGZAGOON] = 0, - [SPECIES_LINOONE] = 0, - [SPECIES_WURMPLE] = 0, - [SPECIES_SILCOON] = 0, [SPECIES_BEAUTIFLY] = 8, - [SPECIES_CASCOON] = 0, [SPECIES_DUSTOX] = 10, - [SPECIES_LOTAD] = 0, - [SPECIES_LOMBRE] = 0, - [SPECIES_LUDICOLO] = 0, - [SPECIES_SEEDOT] = 0, - [SPECIES_NUZLEAF] = 0, - [SPECIES_SHIFTRY] = 0, - [SPECIES_NINCADA] = 0, [SPECIES_NINJASK] = 10, [SPECIES_SHEDINJA] = 8, - [SPECIES_TAILLOW] = 0, - [SPECIES_SWELLOW] = 0, - [SPECIES_SHROOMISH] = 0, - [SPECIES_BRELOOM] = 0, - [SPECIES_SPINDA] = 0, [SPECIES_WINGULL] = 16, [SPECIES_PELIPPER] = 8, - [SPECIES_SURSKIT] = 0, [SPECIES_MASQUERAIN] = 10, - [SPECIES_WAILMER] = 0, - [SPECIES_WAILORD] = 0, - [SPECIES_SKITTY] = 0, - [SPECIES_DELCATTY] = 0, - [SPECIES_KECLEON] = 0, [SPECIES_BALTOY] = 4, [SPECIES_CLAYDOL] = 10, - [SPECIES_NOSEPASS] = 0, - [SPECIES_TORKOAL] = 0, - [SPECIES_SABLEYE] = 0, - [SPECIES_BARBOACH] = 0, - [SPECIES_WHISCASH] = 0, - [SPECIES_LUVDISC] = 0, - [SPECIES_CORPHISH] = 0, - [SPECIES_CRAWDAUNT] = 0, - [SPECIES_FEEBAS] = 0, - [SPECIES_MILOTIC] = 0, - [SPECIES_CARVANHA] = 0, - [SPECIES_SHARPEDO] = 0, - [SPECIES_TRAPINCH] = 0, - [SPECIES_VIBRAVA] = 0, [SPECIES_FLYGON] = 7, - [SPECIES_MAKUHITA] = 0, - [SPECIES_HARIYAMA] = 0, - [SPECIES_ELECTRIKE] = 0, - [SPECIES_MANECTRIC] = 0, - [SPECIES_NUMEL] = 0, - [SPECIES_CAMERUPT] = 0, - [SPECIES_SPHEAL] = 0, - [SPECIES_SEALEO] = 0, - [SPECIES_WALREIN] = 0, - [SPECIES_CACNEA] = 0, - [SPECIES_CACTURNE] = 0, - [SPECIES_SNORUNT] = 0, [SPECIES_GLALIE] = 12, [SPECIES_LUNATONE] = 13, [SPECIES_SOLROCK] = 4, - [SPECIES_AZURILL] = 0, - [SPECIES_SPOINK] = 0, - [SPECIES_GRUMPIG] = 0, - [SPECIES_PLUSLE] = 0, - [SPECIES_MINUN] = 0, - [SPECIES_MAWILE] = 0, - [SPECIES_MEDITITE] = 0, - [SPECIES_MEDICHAM] = 0, [SPECIES_SWABLU] = 12, [SPECIES_ALTARIA] = 8, - [SPECIES_WYNAUT] = 0, [SPECIES_DUSKULL] = 9, - [SPECIES_DUSCLOPS] = 0, - [SPECIES_ROSELIA] = 0, - [SPECIES_SLAKOTH] = 0, - [SPECIES_VIGOROTH] = 0, - [SPECIES_SLAKING] = 0, - [SPECIES_GULPIN] = 0, - [SPECIES_SWALOT] = 0, - [SPECIES_TROPIUS] = 0, - [SPECIES_WHISMUR] = 0, - [SPECIES_LOUDRED] = 0, - [SPECIES_EXPLOUD] = 0, - [SPECIES_CLAMPERL] = 0, - [SPECIES_HUNTAIL] = 0, - [SPECIES_GOREBYSS] = 0, - [SPECIES_ABSOL] = 0, [SPECIES_SHUPPET] = 12, [SPECIES_BANETTE] = 8, - [SPECIES_SEVIPER] = 0, - [SPECIES_ZANGOOSE] = 0, - [SPECIES_RELICANTH] = 0, - [SPECIES_ARON] = 0, - [SPECIES_LAIRON] = 0, - [SPECIES_AGGRON] = 0, [SPECIES_CASTFORM] = 16, - [SPECIES_VOLBEAT] = 0, - [SPECIES_ILLUMISE] = 0, - [SPECIES_LILEEP] = 0, - [SPECIES_CRADILY] = 0, - [SPECIES_ANORITH] = 0, - [SPECIES_ARMALDO] = 0, - [SPECIES_RALTS] = 0, - [SPECIES_KIRLIA] = 0, - [SPECIES_GARDEVOIR] = 0, - [SPECIES_BAGON] = 0, - [SPECIES_SHELGON] = 0, - [SPECIES_SALAMENCE] = 0, [SPECIES_BELDUM] = 8, - [SPECIES_METANG] = 0, - [SPECIES_METAGROSS] = 0, - [SPECIES_REGIROCK] = 0, - [SPECIES_REGICE] = 0, - [SPECIES_REGISTEEL] = 0, - [SPECIES_KYOGRE] = 0, - [SPECIES_GROUDON] = 0, [SPECIES_RAYQUAZA] = 6, [SPECIES_LATIAS] = 6, [SPECIES_LATIOS] = 6, diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index 779ce3dcd5..0128c08c02 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -1,416 +1,416 @@ -const u8 *const gMonFootprintTable[] = +const u8 *const gMonFootprintTable[NUM_SPECIES] = { - gMonFootprint_Bulbasaur, - gMonFootprint_Bulbasaur, - gMonFootprint_Ivysaur, - gMonFootprint_Venusaur, - gMonFootprint_Charmander, - gMonFootprint_Charmeleon, - gMonFootprint_Charizard, - gMonFootprint_Squirtle, - gMonFootprint_Wartortle, - gMonFootprint_Blastoise, - gMonFootprint_Caterpie, - gMonFootprint_Metapod, - gMonFootprint_Butterfree, - gMonFootprint_Weedle, - gMonFootprint_Kakuna, - gMonFootprint_Beedrill, - gMonFootprint_Pidgey, - gMonFootprint_Pidgeotto, - gMonFootprint_Pidgeot, - gMonFootprint_Rattata, - gMonFootprint_Raticate, - gMonFootprint_Spearow, - gMonFootprint_Fearow, - gMonFootprint_Ekans, - gMonFootprint_Arbok, - gMonFootprint_Pikachu, - gMonFootprint_Raichu, - gMonFootprint_Sandshrew, - gMonFootprint_Sandslash, - gMonFootprint_NidoranF, - gMonFootprint_Nidorina, - gMonFootprint_Nidoqueen, - gMonFootprint_NidoranM, - gMonFootprint_Nidorino, - gMonFootprint_Nidoking, - gMonFootprint_Clefairy, - gMonFootprint_Clefable, - gMonFootprint_Vulpix, - gMonFootprint_Ninetales, - gMonFootprint_Jigglypuff, - gMonFootprint_Wigglytuff, - gMonFootprint_Zubat, - gMonFootprint_Golbat, - gMonFootprint_Oddish, - gMonFootprint_Gloom, - gMonFootprint_Vileplume, - gMonFootprint_Paras, - gMonFootprint_Parasect, - gMonFootprint_Venonat, - gMonFootprint_Venomoth, - gMonFootprint_Diglett, - gMonFootprint_Dugtrio, - gMonFootprint_Meowth, - gMonFootprint_Persian, - gMonFootprint_Psyduck, - gMonFootprint_Golduck, - gMonFootprint_Mankey, - gMonFootprint_Primeape, - gMonFootprint_Growlithe, - gMonFootprint_Arcanine, - gMonFootprint_Poliwag, - gMonFootprint_Poliwhirl, - gMonFootprint_Poliwrath, - gMonFootprint_Abra, - gMonFootprint_Kadabra, - gMonFootprint_Alakazam, - gMonFootprint_Machop, - gMonFootprint_Machoke, - gMonFootprint_Machamp, - gMonFootprint_Bellsprout, - gMonFootprint_Weepinbell, - gMonFootprint_Victreebel, - gMonFootprint_Tentacool, - gMonFootprint_Tentacruel, - gMonFootprint_Geodude, - gMonFootprint_Graveler, - gMonFootprint_Golem, - gMonFootprint_Ponyta, - gMonFootprint_Rapidash, - gMonFootprint_Slowpoke, - gMonFootprint_Slowbro, - gMonFootprint_Magnemite, - gMonFootprint_Magneton, - gMonFootprint_Farfetchd, - gMonFootprint_Doduo, - gMonFootprint_Dodrio, - gMonFootprint_Seel, - gMonFootprint_Dewgong, - gMonFootprint_Grimer, - gMonFootprint_Muk, - gMonFootprint_Shellder, - gMonFootprint_Cloyster, - gMonFootprint_Gastly, - gMonFootprint_Haunter, - gMonFootprint_Gengar, - gMonFootprint_Onix, - gMonFootprint_Drowzee, - gMonFootprint_Hypno, - gMonFootprint_Krabby, - gMonFootprint_Kingler, - gMonFootprint_Voltorb, - gMonFootprint_Electrode, - gMonFootprint_Exeggcute, - gMonFootprint_Exeggutor, - gMonFootprint_Cubone, - gMonFootprint_Marowak, - gMonFootprint_Hitmonlee, - gMonFootprint_Hitmonchan, - gMonFootprint_Lickitung, - gMonFootprint_Koffing, - gMonFootprint_Weezing, - gMonFootprint_Rhyhorn, - gMonFootprint_Rhydon, - gMonFootprint_Chansey, - gMonFootprint_Tangela, - gMonFootprint_Kangaskhan, - gMonFootprint_Horsea, - gMonFootprint_Seadra, - gMonFootprint_Goldeen, - gMonFootprint_Seaking, - gMonFootprint_Staryu, - gMonFootprint_Starmie, - gMonFootprint_Mrmime, - gMonFootprint_Scyther, - gMonFootprint_Jynx, - gMonFootprint_Electabuzz, - gMonFootprint_Magmar, - gMonFootprint_Pinsir, - gMonFootprint_Tauros, - gMonFootprint_Magikarp, - gMonFootprint_Gyarados, - gMonFootprint_Lapras, - gMonFootprint_Ditto, - gMonFootprint_Eevee, - gMonFootprint_Vaporeon, - gMonFootprint_Jolteon, - gMonFootprint_Flareon, - gMonFootprint_Porygon, - gMonFootprint_Omanyte, - gMonFootprint_Omastar, - gMonFootprint_Kabuto, - gMonFootprint_Kabutops, - gMonFootprint_Aerodactyl, - gMonFootprint_Snorlax, - gMonFootprint_Articuno, - gMonFootprint_Zapdos, - gMonFootprint_Moltres, - gMonFootprint_Dratini, - gMonFootprint_Dragonair, - gMonFootprint_Dragonite, - gMonFootprint_Mewtwo, - gMonFootprint_Mew, - gMonFootprint_Chikorita, - gMonFootprint_Bayleef, - gMonFootprint_Meganium, - gMonFootprint_Cyndaquil, - gMonFootprint_Quilava, - gMonFootprint_Typhlosion, - gMonFootprint_Totodile, - gMonFootprint_Croconaw, - gMonFootprint_Feraligatr, - gMonFootprint_Sentret, - gMonFootprint_Furret, - gMonFootprint_Hoothoot, - gMonFootprint_Noctowl, - gMonFootprint_Ledyba, - gMonFootprint_Ledian, - gMonFootprint_Spinarak, - gMonFootprint_Ariados, - gMonFootprint_Crobat, - gMonFootprint_Chinchou, - gMonFootprint_Lanturn, - gMonFootprint_Pichu, - gMonFootprint_Cleffa, - gMonFootprint_Igglybuff, - gMonFootprint_Togepi, - gMonFootprint_Togetic, - gMonFootprint_Natu, - gMonFootprint_Xatu, - gMonFootprint_Mareep, - gMonFootprint_Flaaffy, - gMonFootprint_Ampharos, - gMonFootprint_Bellossom, - gMonFootprint_Marill, - gMonFootprint_Azumarill, - gMonFootprint_Sudowoodo, - gMonFootprint_Politoed, - gMonFootprint_Hoppip, - gMonFootprint_Skiploom, - gMonFootprint_Jumpluff, - gMonFootprint_Aipom, - gMonFootprint_Sunkern, - gMonFootprint_Sunflora, - gMonFootprint_Yanma, - gMonFootprint_Wooper, - gMonFootprint_Quagsire, - gMonFootprint_Espeon, - gMonFootprint_Umbreon, - gMonFootprint_Murkrow, - gMonFootprint_Slowking, - gMonFootprint_Misdreavus, - gMonFootprint_Unown, - gMonFootprint_Wobbuffet, - gMonFootprint_Girafarig, - gMonFootprint_Pineco, - gMonFootprint_Forretress, - gMonFootprint_Dunsparce, - gMonFootprint_Gligar, - gMonFootprint_Steelix, - gMonFootprint_Snubbull, - gMonFootprint_Granbull, - gMonFootprint_Qwilfish, - gMonFootprint_Scizor, - gMonFootprint_Shuckle, - gMonFootprint_Heracross, - gMonFootprint_Sneasel, - gMonFootprint_Teddiursa, - gMonFootprint_Ursaring, - gMonFootprint_Slugma, - gMonFootprint_Magcargo, - gMonFootprint_Swinub, - gMonFootprint_Piloswine, - gMonFootprint_Corsola, - gMonFootprint_Remoraid, - gMonFootprint_Octillery, - gMonFootprint_Delibird, - gMonFootprint_Mantine, - gMonFootprint_Skarmory, - gMonFootprint_Houndour, - gMonFootprint_Houndoom, - gMonFootprint_Kingdra, - gMonFootprint_Phanpy, - gMonFootprint_Donphan, - gMonFootprint_Porygon2, - gMonFootprint_Stantler, - gMonFootprint_Smeargle, - gMonFootprint_Tyrogue, - gMonFootprint_Hitmontop, - gMonFootprint_Smoochum, - gMonFootprint_Elekid, - gMonFootprint_Magby, - gMonFootprint_Miltank, - gMonFootprint_Blissey, - gMonFootprint_Raikou, - gMonFootprint_Entei, - gMonFootprint_Suicune, - gMonFootprint_Larvitar, - gMonFootprint_Pupitar, - gMonFootprint_Tyranitar, - gMonFootprint_Lugia, - gMonFootprint_HoOh, - gMonFootprint_Celebi, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_Treecko, - gMonFootprint_Grovyle, - gMonFootprint_Sceptile, - gMonFootprint_Torchic, - gMonFootprint_Combusken, - gMonFootprint_Blaziken, - gMonFootprint_Mudkip, - gMonFootprint_Marshtomp, - gMonFootprint_Swampert, - gMonFootprint_Poochyena, - gMonFootprint_Mightyena, - gMonFootprint_Zigzagoon, - gMonFootprint_Linoone, - gMonFootprint_Wurmple, - gMonFootprint_Silcoon, - gMonFootprint_Beautifly, - gMonFootprint_Cascoon, - gMonFootprint_Dustox, - gMonFootprint_Lotad, - gMonFootprint_Lombre, - gMonFootprint_Ludicolo, - gMonFootprint_Seedot, - gMonFootprint_Nuzleaf, - gMonFootprint_Shiftry, - gMonFootprint_Nincada, - gMonFootprint_Ninjask, - gMonFootprint_Shedinja, - gMonFootprint_Taillow, - gMonFootprint_Swellow, - gMonFootprint_Shroomish, - gMonFootprint_Breloom, - gMonFootprint_Spinda, - gMonFootprint_Wingull, - gMonFootprint_Pelipper, - gMonFootprint_Surskit, - gMonFootprint_Masquerain, - gMonFootprint_Wailmer, - gMonFootprint_Wailord, - gMonFootprint_Skitty, - gMonFootprint_Delcatty, - gMonFootprint_Kecleon, - gMonFootprint_Baltoy, - gMonFootprint_Claydol, - gMonFootprint_Nosepass, - gMonFootprint_Torkoal, - gMonFootprint_Sableye, - gMonFootprint_Barboach, - gMonFootprint_Whiscash, - gMonFootprint_Luvdisc, - gMonFootprint_Corphish, - gMonFootprint_Crawdaunt, - gMonFootprint_Feebas, - gMonFootprint_Milotic, - gMonFootprint_Carvanha, - gMonFootprint_Sharpedo, - gMonFootprint_Trapinch, - gMonFootprint_Vibrava, - gMonFootprint_Flygon, - gMonFootprint_Makuhita, - gMonFootprint_Hariyama, - gMonFootprint_Electrike, - gMonFootprint_Manectric, - gMonFootprint_Numel, - gMonFootprint_Camerupt, - gMonFootprint_Spheal, - gMonFootprint_Sealeo, - gMonFootprint_Walrein, - gMonFootprint_Cacnea, - gMonFootprint_Cacturne, - gMonFootprint_Snorunt, - gMonFootprint_Glalie, - gMonFootprint_Lunatone, - gMonFootprint_Solrock, - gMonFootprint_Azurill, - gMonFootprint_Spoink, - gMonFootprint_Grumpig, - gMonFootprint_Plusle, - gMonFootprint_Minun, - gMonFootprint_Mawile, - gMonFootprint_Meditite, - gMonFootprint_Medicham, - gMonFootprint_Swablu, - gMonFootprint_Altaria, - gMonFootprint_Wynaut, - gMonFootprint_Duskull, - gMonFootprint_Dusclops, - gMonFootprint_Roselia, - gMonFootprint_Slakoth, - gMonFootprint_Vigoroth, - gMonFootprint_Slaking, - gMonFootprint_Gulpin, - gMonFootprint_Swalot, - gMonFootprint_Tropius, - gMonFootprint_Whismur, - gMonFootprint_Loudred, - gMonFootprint_Exploud, - gMonFootprint_Clamperl, - gMonFootprint_Huntail, - gMonFootprint_Gorebyss, - gMonFootprint_Absol, - gMonFootprint_Shuppet, - gMonFootprint_Banette, - gMonFootprint_Seviper, - gMonFootprint_Zangoose, - gMonFootprint_Relicanth, - gMonFootprint_Aron, - gMonFootprint_Lairon, - gMonFootprint_Aggron, - gMonFootprint_Castform, - gMonFootprint_Volbeat, - gMonFootprint_Illumise, - gMonFootprint_Lileep, - gMonFootprint_Cradily, - gMonFootprint_Anorith, - gMonFootprint_Armaldo, - gMonFootprint_Ralts, - gMonFootprint_Kirlia, - gMonFootprint_Gardevoir, - gMonFootprint_Bagon, - gMonFootprint_Shelgon, - gMonFootprint_Salamence, - gMonFootprint_Beldum, - gMonFootprint_Metang, - gMonFootprint_Metagross, - gMonFootprint_Regirock, - gMonFootprint_Regice, - gMonFootprint_Registeel, - gMonFootprint_Kyogre, - gMonFootprint_Groudon, - gMonFootprint_Rayquaza, - gMonFootprint_Latias, - gMonFootprint_Latios, - gMonFootprint_Jirachi, - gMonFootprint_Deoxys, - gMonFootprint_Chimecho, - gMonFootprint_Bulbasaur, + [SPECIES_NONE] = gMonFootprint_Bulbasaur, + [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur, + [SPECIES_IVYSAUR] = gMonFootprint_Ivysaur, + [SPECIES_VENUSAUR] = gMonFootprint_Venusaur, + [SPECIES_CHARMANDER] = gMonFootprint_Charmander, + [SPECIES_CHARMELEON] = gMonFootprint_Charmeleon, + [SPECIES_CHARIZARD] = gMonFootprint_Charizard, + [SPECIES_SQUIRTLE] = gMonFootprint_Squirtle, + [SPECIES_WARTORTLE] = gMonFootprint_Wartortle, + [SPECIES_BLASTOISE] = gMonFootprint_Blastoise, + [SPECIES_CATERPIE] = gMonFootprint_Caterpie, + [SPECIES_METAPOD] = gMonFootprint_Metapod, + [SPECIES_BUTTERFREE] = gMonFootprint_Butterfree, + [SPECIES_WEEDLE] = gMonFootprint_Weedle, + [SPECIES_KAKUNA] = gMonFootprint_Kakuna, + [SPECIES_BEEDRILL] = gMonFootprint_Beedrill, + [SPECIES_PIDGEY] = gMonFootprint_Pidgey, + [SPECIES_PIDGEOTTO] = gMonFootprint_Pidgeotto, + [SPECIES_PIDGEOT] = gMonFootprint_Pidgeot, + [SPECIES_RATTATA] = gMonFootprint_Rattata, + [SPECIES_RATICATE] = gMonFootprint_Raticate, + [SPECIES_SPEAROW] = gMonFootprint_Spearow, + [SPECIES_FEAROW] = gMonFootprint_Fearow, + [SPECIES_EKANS] = gMonFootprint_Ekans, + [SPECIES_ARBOK] = gMonFootprint_Arbok, + [SPECIES_PIKACHU] = gMonFootprint_Pikachu, + [SPECIES_RAICHU] = gMonFootprint_Raichu, + [SPECIES_SANDSHREW] = gMonFootprint_Sandshrew, + [SPECIES_SANDSLASH] = gMonFootprint_Sandslash, + [SPECIES_NIDORAN_F] = gMonFootprint_NidoranF, + [SPECIES_NIDORINA] = gMonFootprint_Nidorina, + [SPECIES_NIDOQUEEN] = gMonFootprint_Nidoqueen, + [SPECIES_NIDORAN_M] = gMonFootprint_NidoranM, + [SPECIES_NIDORINO] = gMonFootprint_Nidorino, + [SPECIES_NIDOKING] = gMonFootprint_Nidoking, + [SPECIES_CLEFAIRY] = gMonFootprint_Clefairy, + [SPECIES_CLEFABLE] = gMonFootprint_Clefable, + [SPECIES_VULPIX] = gMonFootprint_Vulpix, + [SPECIES_NINETALES] = gMonFootprint_Ninetales, + [SPECIES_JIGGLYPUFF] = gMonFootprint_Jigglypuff, + [SPECIES_WIGGLYTUFF] = gMonFootprint_Wigglytuff, + [SPECIES_ZUBAT] = gMonFootprint_Zubat, + [SPECIES_GOLBAT] = gMonFootprint_Golbat, + [SPECIES_ODDISH] = gMonFootprint_Oddish, + [SPECIES_GLOOM] = gMonFootprint_Gloom, + [SPECIES_VILEPLUME] = gMonFootprint_Vileplume, + [SPECIES_PARAS] = gMonFootprint_Paras, + [SPECIES_PARASECT] = gMonFootprint_Parasect, + [SPECIES_VENONAT] = gMonFootprint_Venonat, + [SPECIES_VENOMOTH] = gMonFootprint_Venomoth, + [SPECIES_DIGLETT] = gMonFootprint_Diglett, + [SPECIES_DUGTRIO] = gMonFootprint_Dugtrio, + [SPECIES_MEOWTH] = gMonFootprint_Meowth, + [SPECIES_PERSIAN] = gMonFootprint_Persian, + [SPECIES_PSYDUCK] = gMonFootprint_Psyduck, + [SPECIES_GOLDUCK] = gMonFootprint_Golduck, + [SPECIES_MANKEY] = gMonFootprint_Mankey, + [SPECIES_PRIMEAPE] = gMonFootprint_Primeape, + [SPECIES_GROWLITHE] = gMonFootprint_Growlithe, + [SPECIES_ARCANINE] = gMonFootprint_Arcanine, + [SPECIES_POLIWAG] = gMonFootprint_Poliwag, + [SPECIES_POLIWHIRL] = gMonFootprint_Poliwhirl, + [SPECIES_POLIWRATH] = gMonFootprint_Poliwrath, + [SPECIES_ABRA] = gMonFootprint_Abra, + [SPECIES_KADABRA] = gMonFootprint_Kadabra, + [SPECIES_ALAKAZAM] = gMonFootprint_Alakazam, + [SPECIES_MACHOP] = gMonFootprint_Machop, + [SPECIES_MACHOKE] = gMonFootprint_Machoke, + [SPECIES_MACHAMP] = gMonFootprint_Machamp, + [SPECIES_BELLSPROUT] = gMonFootprint_Bellsprout, + [SPECIES_WEEPINBELL] = gMonFootprint_Weepinbell, + [SPECIES_VICTREEBEL] = gMonFootprint_Victreebel, + [SPECIES_TENTACOOL] = gMonFootprint_Tentacool, + [SPECIES_TENTACRUEL] = gMonFootprint_Tentacruel, + [SPECIES_GEODUDE] = gMonFootprint_Geodude, + [SPECIES_GRAVELER] = gMonFootprint_Graveler, + [SPECIES_GOLEM] = gMonFootprint_Golem, + [SPECIES_PONYTA] = gMonFootprint_Ponyta, + [SPECIES_RAPIDASH] = gMonFootprint_Rapidash, + [SPECIES_SLOWPOKE] = gMonFootprint_Slowpoke, + [SPECIES_SLOWBRO] = gMonFootprint_Slowbro, + [SPECIES_MAGNEMITE] = gMonFootprint_Magnemite, + [SPECIES_MAGNETON] = gMonFootprint_Magneton, + [SPECIES_FARFETCHD] = gMonFootprint_Farfetchd, + [SPECIES_DODUO] = gMonFootprint_Doduo, + [SPECIES_DODRIO] = gMonFootprint_Dodrio, + [SPECIES_SEEL] = gMonFootprint_Seel, + [SPECIES_DEWGONG] = gMonFootprint_Dewgong, + [SPECIES_GRIMER] = gMonFootprint_Grimer, + [SPECIES_MUK] = gMonFootprint_Muk, + [SPECIES_SHELLDER] = gMonFootprint_Shellder, + [SPECIES_CLOYSTER] = gMonFootprint_Cloyster, + [SPECIES_GASTLY] = gMonFootprint_Gastly, + [SPECIES_HAUNTER] = gMonFootprint_Haunter, + [SPECIES_GENGAR] = gMonFootprint_Gengar, + [SPECIES_ONIX] = gMonFootprint_Onix, + [SPECIES_DROWZEE] = gMonFootprint_Drowzee, + [SPECIES_HYPNO] = gMonFootprint_Hypno, + [SPECIES_KRABBY] = gMonFootprint_Krabby, + [SPECIES_KINGLER] = gMonFootprint_Kingler, + [SPECIES_VOLTORB] = gMonFootprint_Voltorb, + [SPECIES_ELECTRODE] = gMonFootprint_Electrode, + [SPECIES_EXEGGCUTE] = gMonFootprint_Exeggcute, + [SPECIES_EXEGGUTOR] = gMonFootprint_Exeggutor, + [SPECIES_CUBONE] = gMonFootprint_Cubone, + [SPECIES_MAROWAK] = gMonFootprint_Marowak, + [SPECIES_HITMONLEE] = gMonFootprint_Hitmonlee, + [SPECIES_HITMONCHAN] = gMonFootprint_Hitmonchan, + [SPECIES_LICKITUNG] = gMonFootprint_Lickitung, + [SPECIES_KOFFING] = gMonFootprint_Koffing, + [SPECIES_WEEZING] = gMonFootprint_Weezing, + [SPECIES_RHYHORN] = gMonFootprint_Rhyhorn, + [SPECIES_RHYDON] = gMonFootprint_Rhydon, + [SPECIES_CHANSEY] = gMonFootprint_Chansey, + [SPECIES_TANGELA] = gMonFootprint_Tangela, + [SPECIES_KANGASKHAN] = gMonFootprint_Kangaskhan, + [SPECIES_HORSEA] = gMonFootprint_Horsea, + [SPECIES_SEADRA] = gMonFootprint_Seadra, + [SPECIES_GOLDEEN] = gMonFootprint_Goldeen, + [SPECIES_SEAKING] = gMonFootprint_Seaking, + [SPECIES_STARYU] = gMonFootprint_Staryu, + [SPECIES_STARMIE] = gMonFootprint_Starmie, + [SPECIES_MR_MIME] = gMonFootprint_Mrmime, + [SPECIES_SCYTHER] = gMonFootprint_Scyther, + [SPECIES_JYNX] = gMonFootprint_Jynx, + [SPECIES_ELECTABUZZ] = gMonFootprint_Electabuzz, + [SPECIES_MAGMAR] = gMonFootprint_Magmar, + [SPECIES_PINSIR] = gMonFootprint_Pinsir, + [SPECIES_TAUROS] = gMonFootprint_Tauros, + [SPECIES_MAGIKARP] = gMonFootprint_Magikarp, + [SPECIES_GYARADOS] = gMonFootprint_Gyarados, + [SPECIES_LAPRAS] = gMonFootprint_Lapras, + [SPECIES_DITTO] = gMonFootprint_Ditto, + [SPECIES_EEVEE] = gMonFootprint_Eevee, + [SPECIES_VAPOREON] = gMonFootprint_Vaporeon, + [SPECIES_JOLTEON] = gMonFootprint_Jolteon, + [SPECIES_FLAREON] = gMonFootprint_Flareon, + [SPECIES_PORYGON] = gMonFootprint_Porygon, + [SPECIES_OMANYTE] = gMonFootprint_Omanyte, + [SPECIES_OMASTAR] = gMonFootprint_Omastar, + [SPECIES_KABUTO] = gMonFootprint_Kabuto, + [SPECIES_KABUTOPS] = gMonFootprint_Kabutops, + [SPECIES_AERODACTYL] = gMonFootprint_Aerodactyl, + [SPECIES_SNORLAX] = gMonFootprint_Snorlax, + [SPECIES_ARTICUNO] = gMonFootprint_Articuno, + [SPECIES_ZAPDOS] = gMonFootprint_Zapdos, + [SPECIES_MOLTRES] = gMonFootprint_Moltres, + [SPECIES_DRATINI] = gMonFootprint_Dratini, + [SPECIES_DRAGONAIR] = gMonFootprint_Dragonair, + [SPECIES_DRAGONITE] = gMonFootprint_Dragonite, + [SPECIES_MEWTWO] = gMonFootprint_Mewtwo, + [SPECIES_MEW] = gMonFootprint_Mew, + [SPECIES_CHIKORITA] = gMonFootprint_Chikorita, + [SPECIES_BAYLEEF] = gMonFootprint_Bayleef, + [SPECIES_MEGANIUM] = gMonFootprint_Meganium, + [SPECIES_CYNDAQUIL] = gMonFootprint_Cyndaquil, + [SPECIES_QUILAVA] = gMonFootprint_Quilava, + [SPECIES_TYPHLOSION] = gMonFootprint_Typhlosion, + [SPECIES_TOTODILE] = gMonFootprint_Totodile, + [SPECIES_CROCONAW] = gMonFootprint_Croconaw, + [SPECIES_FERALIGATR] = gMonFootprint_Feraligatr, + [SPECIES_SENTRET] = gMonFootprint_Sentret, + [SPECIES_FURRET] = gMonFootprint_Furret, + [SPECIES_HOOTHOOT] = gMonFootprint_Hoothoot, + [SPECIES_NOCTOWL] = gMonFootprint_Noctowl, + [SPECIES_LEDYBA] = gMonFootprint_Ledyba, + [SPECIES_LEDIAN] = gMonFootprint_Ledian, + [SPECIES_SPINARAK] = gMonFootprint_Spinarak, + [SPECIES_ARIADOS] = gMonFootprint_Ariados, + [SPECIES_CROBAT] = gMonFootprint_Crobat, + [SPECIES_CHINCHOU] = gMonFootprint_Chinchou, + [SPECIES_LANTURN] = gMonFootprint_Lanturn, + [SPECIES_PICHU] = gMonFootprint_Pichu, + [SPECIES_CLEFFA] = gMonFootprint_Cleffa, + [SPECIES_IGGLYBUFF] = gMonFootprint_Igglybuff, + [SPECIES_TOGEPI] = gMonFootprint_Togepi, + [SPECIES_TOGETIC] = gMonFootprint_Togetic, + [SPECIES_NATU] = gMonFootprint_Natu, + [SPECIES_XATU] = gMonFootprint_Xatu, + [SPECIES_MAREEP] = gMonFootprint_Mareep, + [SPECIES_FLAAFFY] = gMonFootprint_Flaaffy, + [SPECIES_AMPHAROS] = gMonFootprint_Ampharos, + [SPECIES_BELLOSSOM] = gMonFootprint_Bellossom, + [SPECIES_MARILL] = gMonFootprint_Marill, + [SPECIES_AZUMARILL] = gMonFootprint_Azumarill, + [SPECIES_SUDOWOODO] = gMonFootprint_Sudowoodo, + [SPECIES_POLITOED] = gMonFootprint_Politoed, + [SPECIES_HOPPIP] = gMonFootprint_Hoppip, + [SPECIES_SKIPLOOM] = gMonFootprint_Skiploom, + [SPECIES_JUMPLUFF] = gMonFootprint_Jumpluff, + [SPECIES_AIPOM] = gMonFootprint_Aipom, + [SPECIES_SUNKERN] = gMonFootprint_Sunkern, + [SPECIES_SUNFLORA] = gMonFootprint_Sunflora, + [SPECIES_YANMA] = gMonFootprint_Yanma, + [SPECIES_WOOPER] = gMonFootprint_Wooper, + [SPECIES_QUAGSIRE] = gMonFootprint_Quagsire, + [SPECIES_ESPEON] = gMonFootprint_Espeon, + [SPECIES_UMBREON] = gMonFootprint_Umbreon, + [SPECIES_MURKROW] = gMonFootprint_Murkrow, + [SPECIES_SLOWKING] = gMonFootprint_Slowking, + [SPECIES_MISDREAVUS] = gMonFootprint_Misdreavus, + [SPECIES_UNOWN] = gMonFootprint_Unown, + [SPECIES_WOBBUFFET] = gMonFootprint_Wobbuffet, + [SPECIES_GIRAFARIG] = gMonFootprint_Girafarig, + [SPECIES_PINECO] = gMonFootprint_Pineco, + [SPECIES_FORRETRESS] = gMonFootprint_Forretress, + [SPECIES_DUNSPARCE] = gMonFootprint_Dunsparce, + [SPECIES_GLIGAR] = gMonFootprint_Gligar, + [SPECIES_STEELIX] = gMonFootprint_Steelix, + [SPECIES_SNUBBULL] = gMonFootprint_Snubbull, + [SPECIES_GRANBULL] = gMonFootprint_Granbull, + [SPECIES_QWILFISH] = gMonFootprint_Qwilfish, + [SPECIES_SCIZOR] = gMonFootprint_Scizor, + [SPECIES_SHUCKLE] = gMonFootprint_Shuckle, + [SPECIES_HERACROSS] = gMonFootprint_Heracross, + [SPECIES_SNEASEL] = gMonFootprint_Sneasel, + [SPECIES_TEDDIURSA] = gMonFootprint_Teddiursa, + [SPECIES_URSARING] = gMonFootprint_Ursaring, + [SPECIES_SLUGMA] = gMonFootprint_Slugma, + [SPECIES_MAGCARGO] = gMonFootprint_Magcargo, + [SPECIES_SWINUB] = gMonFootprint_Swinub, + [SPECIES_PILOSWINE] = gMonFootprint_Piloswine, + [SPECIES_CORSOLA] = gMonFootprint_Corsola, + [SPECIES_REMORAID] = gMonFootprint_Remoraid, + [SPECIES_OCTILLERY] = gMonFootprint_Octillery, + [SPECIES_DELIBIRD] = gMonFootprint_Delibird, + [SPECIES_MANTINE] = gMonFootprint_Mantine, + [SPECIES_SKARMORY] = gMonFootprint_Skarmory, + [SPECIES_HOUNDOUR] = gMonFootprint_Houndour, + [SPECIES_HOUNDOOM] = gMonFootprint_Houndoom, + [SPECIES_KINGDRA] = gMonFootprint_Kingdra, + [SPECIES_PHANPY] = gMonFootprint_Phanpy, + [SPECIES_DONPHAN] = gMonFootprint_Donphan, + [SPECIES_PORYGON2] = gMonFootprint_Porygon2, + [SPECIES_STANTLER] = gMonFootprint_Stantler, + [SPECIES_SMEARGLE] = gMonFootprint_Smeargle, + [SPECIES_TYROGUE] = gMonFootprint_Tyrogue, + [SPECIES_HITMONTOP] = gMonFootprint_Hitmontop, + [SPECIES_SMOOCHUM] = gMonFootprint_Smoochum, + [SPECIES_ELEKID] = gMonFootprint_Elekid, + [SPECIES_MAGBY] = gMonFootprint_Magby, + [SPECIES_MILTANK] = gMonFootprint_Miltank, + [SPECIES_BLISSEY] = gMonFootprint_Blissey, + [SPECIES_RAIKOU] = gMonFootprint_Raikou, + [SPECIES_ENTEI] = gMonFootprint_Entei, + [SPECIES_SUICUNE] = gMonFootprint_Suicune, + [SPECIES_LARVITAR] = gMonFootprint_Larvitar, + [SPECIES_PUPITAR] = gMonFootprint_Pupitar, + [SPECIES_TYRANITAR] = gMonFootprint_Tyranitar, + [SPECIES_LUGIA] = gMonFootprint_Lugia, + [SPECIES_HO_OH] = gMonFootprint_HoOh, + [SPECIES_CELEBI] = gMonFootprint_Celebi, + [SPECIES_OLD_UNOWN_B] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_C] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_D] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_E] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_F] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_G] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_H] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_I] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_J] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_K] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_L] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_M] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_N] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_O] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_P] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Q] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_R] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_S] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_T] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_U] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_V] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_W] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_X] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Y] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Z] = gMonFootprint_QuestionMark, + [SPECIES_TREECKO] = gMonFootprint_Treecko, + [SPECIES_GROVYLE] = gMonFootprint_Grovyle, + [SPECIES_SCEPTILE] = gMonFootprint_Sceptile, + [SPECIES_TORCHIC] = gMonFootprint_Torchic, + [SPECIES_COMBUSKEN] = gMonFootprint_Combusken, + [SPECIES_BLAZIKEN] = gMonFootprint_Blaziken, + [SPECIES_MUDKIP] = gMonFootprint_Mudkip, + [SPECIES_MARSHTOMP] = gMonFootprint_Marshtomp, + [SPECIES_SWAMPERT] = gMonFootprint_Swampert, + [SPECIES_POOCHYENA] = gMonFootprint_Poochyena, + [SPECIES_MIGHTYENA] = gMonFootprint_Mightyena, + [SPECIES_ZIGZAGOON] = gMonFootprint_Zigzagoon, + [SPECIES_LINOONE] = gMonFootprint_Linoone, + [SPECIES_WURMPLE] = gMonFootprint_Wurmple, + [SPECIES_SILCOON] = gMonFootprint_Silcoon, + [SPECIES_BEAUTIFLY] = gMonFootprint_Beautifly, + [SPECIES_CASCOON] = gMonFootprint_Cascoon, + [SPECIES_DUSTOX] = gMonFootprint_Dustox, + [SPECIES_LOTAD] = gMonFootprint_Lotad, + [SPECIES_LOMBRE] = gMonFootprint_Lombre, + [SPECIES_LUDICOLO] = gMonFootprint_Ludicolo, + [SPECIES_SEEDOT] = gMonFootprint_Seedot, + [SPECIES_NUZLEAF] = gMonFootprint_Nuzleaf, + [SPECIES_SHIFTRY] = gMonFootprint_Shiftry, + [SPECIES_NINCADA] = gMonFootprint_Nincada, + [SPECIES_NINJASK] = gMonFootprint_Ninjask, + [SPECIES_SHEDINJA] = gMonFootprint_Shedinja, + [SPECIES_TAILLOW] = gMonFootprint_Taillow, + [SPECIES_SWELLOW] = gMonFootprint_Swellow, + [SPECIES_SHROOMISH] = gMonFootprint_Shroomish, + [SPECIES_BRELOOM] = gMonFootprint_Breloom, + [SPECIES_SPINDA] = gMonFootprint_Spinda, + [SPECIES_WINGULL] = gMonFootprint_Wingull, + [SPECIES_PELIPPER] = gMonFootprint_Pelipper, + [SPECIES_SURSKIT] = gMonFootprint_Surskit, + [SPECIES_MASQUERAIN] = gMonFootprint_Masquerain, + [SPECIES_WAILMER] = gMonFootprint_Wailmer, + [SPECIES_WAILORD] = gMonFootprint_Wailord, + [SPECIES_SKITTY] = gMonFootprint_Skitty, + [SPECIES_DELCATTY] = gMonFootprint_Delcatty, + [SPECIES_KECLEON] = gMonFootprint_Kecleon, + [SPECIES_BALTOY] = gMonFootprint_Baltoy, + [SPECIES_CLAYDOL] = gMonFootprint_Claydol, + [SPECIES_NOSEPASS] = gMonFootprint_Nosepass, + [SPECIES_TORKOAL] = gMonFootprint_Torkoal, + [SPECIES_SABLEYE] = gMonFootprint_Sableye, + [SPECIES_BARBOACH] = gMonFootprint_Barboach, + [SPECIES_WHISCASH] = gMonFootprint_Whiscash, + [SPECIES_LUVDISC] = gMonFootprint_Luvdisc, + [SPECIES_CORPHISH] = gMonFootprint_Corphish, + [SPECIES_CRAWDAUNT] = gMonFootprint_Crawdaunt, + [SPECIES_FEEBAS] = gMonFootprint_Feebas, + [SPECIES_MILOTIC] = gMonFootprint_Milotic, + [SPECIES_CARVANHA] = gMonFootprint_Carvanha, + [SPECIES_SHARPEDO] = gMonFootprint_Sharpedo, + [SPECIES_TRAPINCH] = gMonFootprint_Trapinch, + [SPECIES_VIBRAVA] = gMonFootprint_Vibrava, + [SPECIES_FLYGON] = gMonFootprint_Flygon, + [SPECIES_MAKUHITA] = gMonFootprint_Makuhita, + [SPECIES_HARIYAMA] = gMonFootprint_Hariyama, + [SPECIES_ELECTRIKE] = gMonFootprint_Electrike, + [SPECIES_MANECTRIC] = gMonFootprint_Manectric, + [SPECIES_NUMEL] = gMonFootprint_Numel, + [SPECIES_CAMERUPT] = gMonFootprint_Camerupt, + [SPECIES_SPHEAL] = gMonFootprint_Spheal, + [SPECIES_SEALEO] = gMonFootprint_Sealeo, + [SPECIES_WALREIN] = gMonFootprint_Walrein, + [SPECIES_CACNEA] = gMonFootprint_Cacnea, + [SPECIES_CACTURNE] = gMonFootprint_Cacturne, + [SPECIES_SNORUNT] = gMonFootprint_Snorunt, + [SPECIES_GLALIE] = gMonFootprint_Glalie, + [SPECIES_LUNATONE] = gMonFootprint_Lunatone, + [SPECIES_SOLROCK] = gMonFootprint_Solrock, + [SPECIES_AZURILL] = gMonFootprint_Azurill, + [SPECIES_SPOINK] = gMonFootprint_Spoink, + [SPECIES_GRUMPIG] = gMonFootprint_Grumpig, + [SPECIES_PLUSLE] = gMonFootprint_Plusle, + [SPECIES_MINUN] = gMonFootprint_Minun, + [SPECIES_MAWILE] = gMonFootprint_Mawile, + [SPECIES_MEDITITE] = gMonFootprint_Meditite, + [SPECIES_MEDICHAM] = gMonFootprint_Medicham, + [SPECIES_SWABLU] = gMonFootprint_Swablu, + [SPECIES_ALTARIA] = gMonFootprint_Altaria, + [SPECIES_WYNAUT] = gMonFootprint_Wynaut, + [SPECIES_DUSKULL] = gMonFootprint_Duskull, + [SPECIES_DUSCLOPS] = gMonFootprint_Dusclops, + [SPECIES_ROSELIA] = gMonFootprint_Roselia, + [SPECIES_SLAKOTH] = gMonFootprint_Slakoth, + [SPECIES_VIGOROTH] = gMonFootprint_Vigoroth, + [SPECIES_SLAKING] = gMonFootprint_Slaking, + [SPECIES_GULPIN] = gMonFootprint_Gulpin, + [SPECIES_SWALOT] = gMonFootprint_Swalot, + [SPECIES_TROPIUS] = gMonFootprint_Tropius, + [SPECIES_WHISMUR] = gMonFootprint_Whismur, + [SPECIES_LOUDRED] = gMonFootprint_Loudred, + [SPECIES_EXPLOUD] = gMonFootprint_Exploud, + [SPECIES_CLAMPERL] = gMonFootprint_Clamperl, + [SPECIES_HUNTAIL] = gMonFootprint_Huntail, + [SPECIES_GOREBYSS] = gMonFootprint_Gorebyss, + [SPECIES_ABSOL] = gMonFootprint_Absol, + [SPECIES_SHUPPET] = gMonFootprint_Shuppet, + [SPECIES_BANETTE] = gMonFootprint_Banette, + [SPECIES_SEVIPER] = gMonFootprint_Seviper, + [SPECIES_ZANGOOSE] = gMonFootprint_Zangoose, + [SPECIES_RELICANTH] = gMonFootprint_Relicanth, + [SPECIES_ARON] = gMonFootprint_Aron, + [SPECIES_LAIRON] = gMonFootprint_Lairon, + [SPECIES_AGGRON] = gMonFootprint_Aggron, + [SPECIES_CASTFORM] = gMonFootprint_Castform, + [SPECIES_VOLBEAT] = gMonFootprint_Volbeat, + [SPECIES_ILLUMISE] = gMonFootprint_Illumise, + [SPECIES_LILEEP] = gMonFootprint_Lileep, + [SPECIES_CRADILY] = gMonFootprint_Cradily, + [SPECIES_ANORITH] = gMonFootprint_Anorith, + [SPECIES_ARMALDO] = gMonFootprint_Armaldo, + [SPECIES_RALTS] = gMonFootprint_Ralts, + [SPECIES_KIRLIA] = gMonFootprint_Kirlia, + [SPECIES_GARDEVOIR] = gMonFootprint_Gardevoir, + [SPECIES_BAGON] = gMonFootprint_Bagon, + [SPECIES_SHELGON] = gMonFootprint_Shelgon, + [SPECIES_SALAMENCE] = gMonFootprint_Salamence, + [SPECIES_BELDUM] = gMonFootprint_Beldum, + [SPECIES_METANG] = gMonFootprint_Metang, + [SPECIES_METAGROSS] = gMonFootprint_Metagross, + [SPECIES_REGIROCK] = gMonFootprint_Regirock, + [SPECIES_REGICE] = gMonFootprint_Regice, + [SPECIES_REGISTEEL] = gMonFootprint_Registeel, + [SPECIES_KYOGRE] = gMonFootprint_Kyogre, + [SPECIES_GROUDON] = gMonFootprint_Groudon, + [SPECIES_RAYQUAZA] = gMonFootprint_Rayquaza, + [SPECIES_LATIAS] = gMonFootprint_Latias, + [SPECIES_LATIOS] = gMonFootprint_Latios, + [SPECIES_JIRACHI] = gMonFootprint_Jirachi, + [SPECIES_DEOXYS] = gMonFootprint_Deoxys, + [SPECIES_CHIMECHO] = gMonFootprint_Chimecho, + [SPECIES_EGG] = gMonFootprint_Bulbasaur, }; diff --git a/src/data/pokemon_graphics/front_anims.h b/src/data/pokemon_graphics/front_pic_anims.h similarity index 56% rename from src/data/pokemon_graphics/front_anims.h rename to src/data/pokemon_graphics/front_pic_anims.h index 8a42eb5c93..8be6ed4955 100644 --- a/src/data/pokemon_graphics/front_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -1,5 +1,4 @@ - -const union AnimCmd gAnimCmd_NONE_1[] = +static const union AnimCmd sAnim_NONE_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -7,7 +6,7 @@ const union AnimCmd gAnimCmd_NONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BULBASAUR_1[] = +static const union AnimCmd sAnim_BULBASAUR_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -15,7 +14,7 @@ const union AnimCmd gAnimCmd_BULBASAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IVYSAUR_1[] = +static const union AnimCmd sAnim_IVYSAUR_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -23,7 +22,7 @@ const union AnimCmd gAnimCmd_IVYSAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENUSAUR_1[] = +static const union AnimCmd sAnim_VENUSAUR_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -31,7 +30,7 @@ const union AnimCmd gAnimCmd_VENUSAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARMANDER_1[] = +static const union AnimCmd sAnim_CHARMANDER_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -39,7 +38,7 @@ const union AnimCmd gAnimCmd_CHARMANDER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARMELEON_1[] = +static const union AnimCmd sAnim_CHARMELEON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -47,14 +46,14 @@ const union AnimCmd gAnimCmd_CHARMELEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARIZARD_1[] = +static const union AnimCmd sAnim_CHARIZARD_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SQUIRTLE_1[] = +static const union AnimCmd sAnim_SQUIRTLE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -62,7 +61,7 @@ const union AnimCmd gAnimCmd_SQUIRTLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WARTORTLE_1[] = +static const union AnimCmd sAnim_WARTORTLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -70,7 +69,7 @@ const union AnimCmd gAnimCmd_WARTORTLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLASTOISE_1[] = +static const union AnimCmd sAnim_BLASTOISE_1[] = { ANIMCMD_FRAME(0, 50), ANIMCMD_FRAME(1, 25), @@ -80,7 +79,7 @@ const union AnimCmd gAnimCmd_BLASTOISE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CATERPIE_1[] = +static const union AnimCmd sAnim_CATERPIE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -93,14 +92,14 @@ const union AnimCmd gAnimCmd_CATERPIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METAPOD_1[] = +static const union AnimCmd sAnim_METAPOD_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BUTTERFREE_1[] = +static const union AnimCmd sAnim_BUTTERFREE_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -118,7 +117,7 @@ const union AnimCmd gAnimCmd_BUTTERFREE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEDLE_1[] = +static const union AnimCmd sAnim_WEEDLE_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -130,7 +129,7 @@ const union AnimCmd gAnimCmd_WEEDLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KAKUNA_1[] = +static const union AnimCmd sAnim_KAKUNA_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -146,7 +145,7 @@ const union AnimCmd gAnimCmd_KAKUNA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEEDRILL_1[] = +static const union AnimCmd sAnim_BEEDRILL_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -156,7 +155,7 @@ const union AnimCmd gAnimCmd_BEEDRILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEY_1[] = +static const union AnimCmd sAnim_PIDGEY_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -173,7 +172,7 @@ const union AnimCmd gAnimCmd_PIDGEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = +static const union AnimCmd sAnim_PIDGEOTTO_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -183,7 +182,7 @@ const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEOT_1[] = +static const union AnimCmd sAnim_PIDGEOT_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -193,7 +192,7 @@ const union AnimCmd gAnimCmd_PIDGEOT_1[] = }; -const union AnimCmd gAnimCmd_RATTATA_1[] = +static const union AnimCmd sAnim_RATTATA_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -202,7 +201,7 @@ const union AnimCmd gAnimCmd_RATTATA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RATICATE_1[] = +static const union AnimCmd sAnim_RATICATE_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -219,7 +218,7 @@ const union AnimCmd gAnimCmd_RATICATE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPEAROW_1[] = +static const union AnimCmd sAnim_SPEAROW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -240,7 +239,7 @@ const union AnimCmd gAnimCmd_SPEAROW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FEAROW_1[] = +static const union AnimCmd sAnim_FEAROW_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -253,7 +252,7 @@ const union AnimCmd gAnimCmd_FEAROW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EKANS_1[] = +static const union AnimCmd sAnim_EKANS_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -264,7 +263,7 @@ const union AnimCmd gAnimCmd_EKANS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARBOK_1[] = +static const union AnimCmd sAnim_ARBOK_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -272,7 +271,7 @@ const union AnimCmd gAnimCmd_ARBOK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIKACHU_1[] = +static const union AnimCmd sAnim_PIKACHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -282,7 +281,7 @@ const union AnimCmd gAnimCmd_PIKACHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIKACHU_2[] = +static const union AnimCmd sAnim_PIKACHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -291,7 +290,7 @@ const union AnimCmd gAnimCmd_PIKACHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAICHU_1[] = +static const union AnimCmd sAnim_RAICHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -301,7 +300,7 @@ const union AnimCmd gAnimCmd_RAICHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAICHU_2[] = +static const union AnimCmd sAnim_RAICHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -310,7 +309,7 @@ const union AnimCmd gAnimCmd_RAICHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSHREW_1[] = +static const union AnimCmd sAnim_SANDSHREW_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -320,7 +319,7 @@ const union AnimCmd gAnimCmd_SANDSHREW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSHREW_2[] = +static const union AnimCmd sAnim_SANDSHREW_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -329,7 +328,7 @@ const union AnimCmd gAnimCmd_SANDSHREW_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSLASH_1[] = +static const union AnimCmd sAnim_SANDSLASH_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -339,7 +338,7 @@ const union AnimCmd gAnimCmd_SANDSLASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSLASH_2[] = +static const union AnimCmd sAnim_SANDSLASH_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -348,7 +347,7 @@ const union AnimCmd gAnimCmd_SANDSLASH_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORAN_F_1[] = +static const union AnimCmd sAnim_NIDORAN_F_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -362,21 +361,21 @@ const union AnimCmd gAnimCmd_NIDORAN_F_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORINA_1[] = +static const union AnimCmd sAnim_NIDORINA_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDOQUEEN_1[] = +static const union AnimCmd sAnim_NIDOQUEEN_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORAN_M_1[] = +static const union AnimCmd sAnim_NIDORAN_M_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -384,7 +383,7 @@ const union AnimCmd gAnimCmd_NIDORAN_M_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORINO_1[] = +static const union AnimCmd sAnim_NIDORINO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -392,7 +391,7 @@ const union AnimCmd gAnimCmd_NIDORINO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDOKING_1[] = +static const union AnimCmd sAnim_NIDOKING_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -401,7 +400,7 @@ const union AnimCmd gAnimCmd_NIDOKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFAIRY_1[] = +static const union AnimCmd sAnim_CLEFAIRY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -409,7 +408,7 @@ const union AnimCmd gAnimCmd_CLEFAIRY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFABLE_1[] = +static const union AnimCmd sAnim_CLEFABLE_1[] = { ANIMCMD_FRAME(1, 27), ANIMCMD_FRAME(0, 27), @@ -420,7 +419,7 @@ const union AnimCmd gAnimCmd_CLEFABLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VULPIX_1[] = +static const union AnimCmd sAnim_VULPIX_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -430,7 +429,7 @@ const union AnimCmd gAnimCmd_VULPIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VULPIX_2[] = +static const union AnimCmd sAnim_VULPIX_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -439,7 +438,7 @@ const union AnimCmd gAnimCmd_VULPIX_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINETALES_1[] = +static const union AnimCmd sAnim_NINETALES_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -449,7 +448,7 @@ const union AnimCmd gAnimCmd_NINETALES_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINETALES_2[] = +static const union AnimCmd sAnim_NINETALES_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -458,7 +457,7 @@ const union AnimCmd gAnimCmd_NINETALES_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = +static const union AnimCmd sAnim_JIGGLYPUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -468,7 +467,7 @@ const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = +static const union AnimCmd sAnim_JIGGLYPUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -477,7 +476,7 @@ const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = +static const union AnimCmd sAnim_WIGGLYTUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -487,7 +486,7 @@ const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = +static const union AnimCmd sAnim_WIGGLYTUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -496,7 +495,7 @@ const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZUBAT_1[] = +static const union AnimCmd sAnim_ZUBAT_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -514,7 +513,7 @@ const union AnimCmd gAnimCmd_ZUBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLBAT_1[] = +static const union AnimCmd sAnim_GOLBAT_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -538,7 +537,7 @@ const union AnimCmd gAnimCmd_GOLBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ODDISH_1[] = +static const union AnimCmd sAnim_ODDISH_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -550,7 +549,7 @@ const union AnimCmd gAnimCmd_ODDISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLOOM_1[] = +static const union AnimCmd sAnim_GLOOM_1[] = { ANIMCMD_FRAME(0, 21), ANIMCMD_FRAME(1, 45), @@ -559,7 +558,7 @@ const union AnimCmd gAnimCmd_GLOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VILEPLUME_1[] = +static const union AnimCmd sAnim_VILEPLUME_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -569,7 +568,7 @@ const union AnimCmd gAnimCmd_VILEPLUME_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PARAS_1[] = +static const union AnimCmd sAnim_PARAS_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -590,7 +589,7 @@ const union AnimCmd gAnimCmd_PARAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PARASECT_1[] = +static const union AnimCmd sAnim_PARASECT_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -601,7 +600,7 @@ const union AnimCmd gAnimCmd_PARASECT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENONAT_1[] = +static const union AnimCmd sAnim_VENONAT_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -612,7 +611,7 @@ const union AnimCmd gAnimCmd_VENONAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENOMOTH_1[] = +static const union AnimCmd sAnim_VENOMOTH_1[] = { ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(0, 4), @@ -639,7 +638,7 @@ const union AnimCmd gAnimCmd_VENOMOTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DIGLETT_1[] = +static const union AnimCmd sAnim_DIGLETT_1[] = { ANIMCMD_FRAME(0, 25), ANIMCMD_FRAME(1, 35), @@ -647,7 +646,7 @@ const union AnimCmd gAnimCmd_DIGLETT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUGTRIO_1[] = +static const union AnimCmd sAnim_DUGTRIO_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), @@ -662,7 +661,7 @@ const union AnimCmd gAnimCmd_DUGTRIO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEOWTH_1[] = +static const union AnimCmd sAnim_MEOWTH_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -673,14 +672,14 @@ const union AnimCmd gAnimCmd_MEOWTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PERSIAN_1[] = +static const union AnimCmd sAnim_PERSIAN_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PSYDUCK_1[] = +static const union AnimCmd sAnim_PSYDUCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -690,7 +689,7 @@ const union AnimCmd gAnimCmd_PSYDUCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PSYDUCK_2[] = +static const union AnimCmd sAnim_PSYDUCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -699,7 +698,7 @@ const union AnimCmd gAnimCmd_PSYDUCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDUCK_1[] = +static const union AnimCmd sAnim_GOLDUCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -709,7 +708,7 @@ const union AnimCmd gAnimCmd_GOLDUCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDUCK_2[] = +static const union AnimCmd sAnim_GOLDUCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -718,7 +717,7 @@ const union AnimCmd gAnimCmd_GOLDUCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANKEY_1[] = +static const union AnimCmd sAnim_MANKEY_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -729,7 +728,7 @@ const union AnimCmd gAnimCmd_MANKEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PRIMEAPE_1[] = +static const union AnimCmd sAnim_PRIMEAPE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -740,7 +739,7 @@ const union AnimCmd gAnimCmd_PRIMEAPE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROWLITHE_1[] = +static const union AnimCmd sAnim_GROWLITHE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -751,7 +750,7 @@ const union AnimCmd gAnimCmd_GROWLITHE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARCANINE_1[] = +static const union AnimCmd sAnim_ARCANINE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -761,7 +760,7 @@ const union AnimCmd gAnimCmd_ARCANINE_1[] = ANIMCMD_FRAME(0, 10), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_POLIWAG_1[] = +static const union AnimCmd sAnim_POLIWAG_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -769,7 +768,7 @@ const union AnimCmd gAnimCmd_POLIWAG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLIWHIRL_1[] = +static const union AnimCmd sAnim_POLIWHIRL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -779,14 +778,14 @@ const union AnimCmd gAnimCmd_POLIWHIRL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLIWRATH_1[] = +static const union AnimCmd sAnim_POLIWRATH_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ABRA_1[] = +static const union AnimCmd sAnim_ABRA_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -796,7 +795,7 @@ const union AnimCmd gAnimCmd_ABRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KADABRA_1[] = +static const union AnimCmd sAnim_KADABRA_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -804,7 +803,7 @@ const union AnimCmd gAnimCmd_KADABRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALAKAZAM_1[] = +static const union AnimCmd sAnim_ALAKAZAM_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 54), @@ -812,7 +811,7 @@ const union AnimCmd gAnimCmd_ALAKAZAM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHOP_1[] = +static const union AnimCmd sAnim_MACHOP_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -824,7 +823,7 @@ const union AnimCmd gAnimCmd_MACHOP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHOKE_1[] = +static const union AnimCmd sAnim_MACHOKE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -832,7 +831,7 @@ const union AnimCmd gAnimCmd_MACHOKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHAMP_1[] = +static const union AnimCmd sAnim_MACHAMP_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -844,7 +843,7 @@ const union AnimCmd gAnimCmd_MACHAMP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELLSPROUT_1[] = +static const union AnimCmd sAnim_BELLSPROUT_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -852,7 +851,7 @@ const union AnimCmd gAnimCmd_BELLSPROUT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEPINBELL_1[] = +static const union AnimCmd sAnim_WEEPINBELL_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -864,7 +863,7 @@ const union AnimCmd gAnimCmd_WEEPINBELL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VICTREEBEL_1[] = +static const union AnimCmd sAnim_VICTREEBEL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -876,7 +875,7 @@ const union AnimCmd gAnimCmd_VICTREEBEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TENTACOOL_1[] = +static const union AnimCmd sAnim_TENTACOOL_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 15), @@ -886,7 +885,7 @@ const union AnimCmd gAnimCmd_TENTACOOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TENTACRUEL_1[] = +static const union AnimCmd sAnim_TENTACRUEL_1[] = { ANIMCMD_FRAME(0, 19), ANIMCMD_FRAME(1, 35), @@ -896,7 +895,7 @@ const union AnimCmd gAnimCmd_TENTACRUEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GEODUDE_1[] = +static const union AnimCmd sAnim_GEODUDE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 36), @@ -904,7 +903,7 @@ const union AnimCmd gAnimCmd_GEODUDE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRAVELER_1[] = +static const union AnimCmd sAnim_GRAVELER_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -914,7 +913,7 @@ const union AnimCmd gAnimCmd_GRAVELER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLEM_1[] = +static const union AnimCmd sAnim_GOLEM_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 31), @@ -924,14 +923,14 @@ const union AnimCmd gAnimCmd_GOLEM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PONYTA_1[] = +static const union AnimCmd sAnim_PONYTA_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAPIDASH_1[] = +static const union AnimCmd sAnim_RAPIDASH_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 40), @@ -939,7 +938,7 @@ const union AnimCmd gAnimCmd_RAPIDASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWPOKE_1[] = +static const union AnimCmd sAnim_SLOWPOKE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 50), @@ -947,7 +946,7 @@ const union AnimCmd gAnimCmd_SLOWPOKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWBRO_1[] = +static const union AnimCmd sAnim_SLOWBRO_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 45), @@ -955,7 +954,7 @@ const union AnimCmd gAnimCmd_SLOWBRO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGNEMITE_1[] = +static const union AnimCmd sAnim_MAGNEMITE_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 28), @@ -965,7 +964,7 @@ const union AnimCmd gAnimCmd_MAGNEMITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGNETON_1[] = +static const union AnimCmd sAnim_MAGNETON_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -977,7 +976,7 @@ const union AnimCmd gAnimCmd_MAGNETON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FARFETCHD_1[] = +static const union AnimCmd sAnim_FARFETCHD_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -994,7 +993,7 @@ const union AnimCmd gAnimCmd_FARFETCHD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DODUO_1[] = +static const union AnimCmd sAnim_DODUO_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -1004,7 +1003,7 @@ const union AnimCmd gAnimCmd_DODUO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DODRIO_1[] = +static const union AnimCmd sAnim_DODRIO_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -1018,7 +1017,7 @@ const union AnimCmd gAnimCmd_DODRIO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEEL_1[] = +static const union AnimCmd sAnim_SEEL_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1031,7 +1030,7 @@ const union AnimCmd gAnimCmd_SEEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEWGONG_1[] = +static const union AnimCmd sAnim_DEWGONG_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1039,7 +1038,7 @@ const union AnimCmd gAnimCmd_DEWGONG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRIMER_1[] = +static const union AnimCmd sAnim_GRIMER_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1049,7 +1048,7 @@ const union AnimCmd gAnimCmd_GRIMER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRIMER_2[] = +static const union AnimCmd sAnim_GRIMER_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1058,7 +1057,7 @@ const union AnimCmd gAnimCmd_GRIMER_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUK_1[] = +static const union AnimCmd sAnim_MUK_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1068,7 +1067,7 @@ const union AnimCmd gAnimCmd_MUK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUK_2[] = +static const union AnimCmd sAnim_MUK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1077,7 +1076,7 @@ const union AnimCmd gAnimCmd_MUK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHELLDER_1[] = +static const union AnimCmd sAnim_SHELLDER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1086,7 +1085,7 @@ const union AnimCmd gAnimCmd_SHELLDER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLOYSTER_1[] = +static const union AnimCmd sAnim_CLOYSTER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1107,7 +1106,7 @@ const union AnimCmd gAnimCmd_CLOYSTER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GASTLY_1[] = +static const union AnimCmd sAnim_GASTLY_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1115,7 +1114,7 @@ const union AnimCmd gAnimCmd_GASTLY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HAUNTER_1[] = +static const union AnimCmd sAnim_HAUNTER_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 15), @@ -1125,7 +1124,7 @@ const union AnimCmd gAnimCmd_HAUNTER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GENGAR_1[] = +static const union AnimCmd sAnim_GENGAR_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1133,7 +1132,7 @@ const union AnimCmd gAnimCmd_GENGAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ONIX_1[] = +static const union AnimCmd sAnim_ONIX_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1141,7 +1140,7 @@ const union AnimCmd gAnimCmd_ONIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DROWZEE_1[] = +static const union AnimCmd sAnim_DROWZEE_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -1152,7 +1151,7 @@ const union AnimCmd gAnimCmd_DROWZEE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HYPNO_1[] = +static const union AnimCmd sAnim_HYPNO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1164,7 +1163,7 @@ const union AnimCmd gAnimCmd_HYPNO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KRABBY_1[] = +static const union AnimCmd sAnim_KRABBY_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1175,7 +1174,7 @@ const union AnimCmd gAnimCmd_KRABBY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGLER_1[] = +static const union AnimCmd sAnim_KINGLER_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -1189,7 +1188,7 @@ const union AnimCmd gAnimCmd_KINGLER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VOLTORB_1[] = +static const union AnimCmd sAnim_VOLTORB_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 25), @@ -1199,7 +1198,7 @@ const union AnimCmd gAnimCmd_VOLTORB_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTRODE_1[] = +static const union AnimCmd sAnim_ELECTRODE_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 30), @@ -1209,7 +1208,7 @@ const union AnimCmd gAnimCmd_ELECTRODE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = +static const union AnimCmd sAnim_EXEGGCUTE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1223,14 +1222,14 @@ const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXEGGUTOR_1[] = +static const union AnimCmd sAnim_EXEGGUTOR_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_CUBONE_1[] = +static const union AnimCmd sAnim_CUBONE_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1241,7 +1240,7 @@ const union AnimCmd gAnimCmd_CUBONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAROWAK_1[] = +static const union AnimCmd sAnim_MAROWAK_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1252,14 +1251,14 @@ const union AnimCmd gAnimCmd_MAROWAK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONLEE_1[] = +static const union AnimCmd sAnim_HITMONLEE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONCHAN_1[] = +static const union AnimCmd sAnim_HITMONCHAN_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1272,7 +1271,7 @@ const union AnimCmd gAnimCmd_HITMONCHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LICKITUNG_1[] = +static const union AnimCmd sAnim_LICKITUNG_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -1280,7 +1279,7 @@ const union AnimCmd gAnimCmd_LICKITUNG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KOFFING_1[] = +static const union AnimCmd sAnim_KOFFING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1290,7 +1289,7 @@ const union AnimCmd gAnimCmd_KOFFING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KOFFING_2[] = +static const union AnimCmd sAnim_KOFFING_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1299,7 +1298,7 @@ const union AnimCmd gAnimCmd_KOFFING_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEZING_1[] = +static const union AnimCmd sAnim_WEEZING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1309,7 +1308,7 @@ const union AnimCmd gAnimCmd_WEEZING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEZING_2[] = +static const union AnimCmd sAnim_WEEZING_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1318,7 +1317,7 @@ const union AnimCmd gAnimCmd_WEEZING_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYHORN_1[] = +static const union AnimCmd sAnim_RHYHORN_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1328,7 +1327,7 @@ const union AnimCmd gAnimCmd_RHYHORN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYHORN_2[] = +static const union AnimCmd sAnim_RHYHORN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1337,7 +1336,7 @@ const union AnimCmd gAnimCmd_RHYHORN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYDON_1[] = +static const union AnimCmd sAnim_RHYDON_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1347,7 +1346,7 @@ const union AnimCmd gAnimCmd_RHYDON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYDON_2[] = +static const union AnimCmd sAnim_RHYDON_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1356,7 +1355,7 @@ const union AnimCmd gAnimCmd_RHYDON_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHANSEY_1[] = +static const union AnimCmd sAnim_CHANSEY_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1364,7 +1363,7 @@ const union AnimCmd gAnimCmd_CHANSEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TANGELA_1[] = +static const union AnimCmd sAnim_TANGELA_1[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 9), @@ -1379,7 +1378,7 @@ const union AnimCmd gAnimCmd_TANGELA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KANGASKHAN_1[] = +static const union AnimCmd sAnim_KANGASKHAN_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1388,7 +1387,7 @@ const union AnimCmd gAnimCmd_KANGASKHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HORSEA_1[] = +static const union AnimCmd sAnim_HORSEA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1398,7 +1397,7 @@ const union AnimCmd gAnimCmd_HORSEA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HORSEA_2[] = +static const union AnimCmd sAnim_HORSEA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1407,7 +1406,7 @@ const union AnimCmd gAnimCmd_HORSEA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEADRA_1[] = +static const union AnimCmd sAnim_SEADRA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1417,7 +1416,7 @@ const union AnimCmd gAnimCmd_SEADRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEADRA_2[] = +static const union AnimCmd sAnim_SEADRA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1426,7 +1425,7 @@ const union AnimCmd gAnimCmd_SEADRA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDEEN_1[] = +static const union AnimCmd sAnim_GOLDEEN_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -1440,7 +1439,7 @@ const union AnimCmd gAnimCmd_GOLDEEN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEAKING_1[] = +static const union AnimCmd sAnim_SEAKING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -1450,7 +1449,7 @@ const union AnimCmd gAnimCmd_SEAKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARYU_1[] = +static const union AnimCmd sAnim_STARYU_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1460,7 +1459,7 @@ const union AnimCmd gAnimCmd_STARYU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARYU_2[] = +static const union AnimCmd sAnim_STARYU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1469,7 +1468,7 @@ const union AnimCmd gAnimCmd_STARYU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARMIE_1[] = +static const union AnimCmd sAnim_STARMIE_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1479,7 +1478,7 @@ const union AnimCmd gAnimCmd_STARMIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARMIE_2[] = +static const union AnimCmd sAnim_STARMIE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1488,7 +1487,7 @@ const union AnimCmd gAnimCmd_STARMIE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MR_MIME_1[] = +static const union AnimCmd sAnim_MR_MIME_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1499,7 +1498,7 @@ const union AnimCmd gAnimCmd_MR_MIME_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCYTHER_1[] = +static const union AnimCmd sAnim_SCYTHER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1512,7 +1511,7 @@ const union AnimCmd gAnimCmd_SCYTHER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JYNX_1[] = +static const union AnimCmd sAnim_JYNX_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), @@ -1522,7 +1521,7 @@ const union AnimCmd gAnimCmd_JYNX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = +static const union AnimCmd sAnim_ELECTABUZZ_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1531,14 +1530,14 @@ const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGMAR_1[] = +static const union AnimCmd sAnim_MAGMAR_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINSIR_1[] = +static const union AnimCmd sAnim_PINSIR_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1548,7 +1547,7 @@ const union AnimCmd gAnimCmd_PINSIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINSIR_2[] = +static const union AnimCmd sAnim_PINSIR_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1557,7 +1556,7 @@ const union AnimCmd gAnimCmd_PINSIR_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TAUROS_1[] = +static const union AnimCmd sAnim_TAUROS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -1566,7 +1565,7 @@ const union AnimCmd gAnimCmd_TAUROS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGIKARP_1[] = +static const union AnimCmd sAnim_MAGIKARP_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -1580,7 +1579,7 @@ const union AnimCmd gAnimCmd_MAGIKARP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GYARADOS_1[] = +static const union AnimCmd sAnim_GYARADOS_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 32), @@ -1588,14 +1587,14 @@ const union AnimCmd gAnimCmd_GYARADOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LAPRAS_1[] = +static const union AnimCmd sAnim_LAPRAS_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DITTO_1[] = +static const union AnimCmd sAnim_DITTO_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1604,35 +1603,35 @@ const union AnimCmd gAnimCmd_DITTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EEVEE_1[] = +static const union AnimCmd sAnim_EEVEE_1[] = { ANIMCMD_FRAME(1, 33), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VAPOREON_1[] = +static const union AnimCmd sAnim_VAPOREON_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JOLTEON_1[] = +static const union AnimCmd sAnim_JOLTEON_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLAREON_1[] = +static const union AnimCmd sAnim_FLAREON_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PORYGON_1[] = +static const union AnimCmd sAnim_PORYGON_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1641,7 +1640,7 @@ const union AnimCmd gAnimCmd_PORYGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OMANYTE_1[] = +static const union AnimCmd sAnim_OMANYTE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1654,7 +1653,7 @@ const union AnimCmd gAnimCmd_OMANYTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OMASTAR_1[] = +static const union AnimCmd sAnim_OMASTAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1663,7 +1662,7 @@ const union AnimCmd gAnimCmd_OMASTAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KABUTO_1[] = +static const union AnimCmd sAnim_KABUTO_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1676,7 +1675,7 @@ const union AnimCmd gAnimCmd_KABUTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KABUTOPS_1[] = +static const union AnimCmd sAnim_KABUTOPS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1685,7 +1684,7 @@ const union AnimCmd gAnimCmd_KABUTOPS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AERODACTYL_1[] = +static const union AnimCmd sAnim_AERODACTYL_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 25), @@ -1694,7 +1693,7 @@ const union AnimCmd gAnimCmd_AERODACTYL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNORLAX_1[] = +static const union AnimCmd sAnim_SNORLAX_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -1702,7 +1701,7 @@ const union AnimCmd gAnimCmd_SNORLAX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARTICUNO_1[] = +static const union AnimCmd sAnim_ARTICUNO_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 15), @@ -1711,7 +1710,7 @@ const union AnimCmd gAnimCmd_ARTICUNO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZAPDOS_1[] = +static const union AnimCmd sAnim_ZAPDOS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1720,7 +1719,7 @@ const union AnimCmd gAnimCmd_ZAPDOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MOLTRES_1[] = +static const union AnimCmd sAnim_MOLTRES_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1757,7 +1756,7 @@ const union AnimCmd gAnimCmd_MOLTRES_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRATINI_1[] = +static const union AnimCmd sAnim_DRATINI_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1765,7 +1764,7 @@ const union AnimCmd gAnimCmd_DRATINI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRAGONAIR_1[] = +static const union AnimCmd sAnim_DRAGONAIR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1774,7 +1773,7 @@ const union AnimCmd gAnimCmd_DRAGONAIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRAGONITE_1[] = +static const union AnimCmd sAnim_DRAGONITE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1782,14 +1781,14 @@ const union AnimCmd gAnimCmd_DRAGONITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEWTWO_1[] = +static const union AnimCmd sAnim_MEWTWO_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEW_1[] = +static const union AnimCmd sAnim_MEW_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1797,7 +1796,7 @@ const union AnimCmd gAnimCmd_MEW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHIKORITA_1[] = +static const union AnimCmd sAnim_CHIKORITA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1805,21 +1804,21 @@ const union AnimCmd gAnimCmd_CHIKORITA_1[] = ANIMCMD_END,}; -const union AnimCmd gAnimCmd_BAYLEEF_1[] = +static const union AnimCmd sAnim_BAYLEEF_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEGANIUM_1[] = +static const union AnimCmd sAnim_MEGANIUM_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = +static const union AnimCmd sAnim_CYNDAQUIL_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1828,21 +1827,21 @@ const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QUILAVA_1[] = +static const union AnimCmd sAnim_QUILAVA_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYPHLOSION_1[] = +static const union AnimCmd sAnim_TYPHLOSION_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOTODILE_1[] = +static const union AnimCmd sAnim_TOTODILE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1853,14 +1852,14 @@ const union AnimCmd gAnimCmd_TOTODILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CROCONAW_1[] = +static const union AnimCmd sAnim_CROCONAW_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FERALIGATR_1[] = +static const union AnimCmd sAnim_FERALIGATR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1869,7 +1868,7 @@ const union AnimCmd gAnimCmd_FERALIGATR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SENTRET_1[] = +static const union AnimCmd sAnim_SENTRET_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1878,14 +1877,14 @@ const union AnimCmd gAnimCmd_SENTRET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FURRET_1[] = +static const union AnimCmd sAnim_FURRET_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOOTHOOT_1[] = +static const union AnimCmd sAnim_HOOTHOOT_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -1902,14 +1901,14 @@ const union AnimCmd gAnimCmd_HOOTHOOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NOCTOWL_1[] = +static const union AnimCmd sAnim_NOCTOWL_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LEDYBA_1[] = +static const union AnimCmd sAnim_LEDYBA_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1918,7 +1917,7 @@ const union AnimCmd gAnimCmd_LEDYBA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LEDIAN_1[] = +static const union AnimCmd sAnim_LEDIAN_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1949,7 +1948,7 @@ const union AnimCmd gAnimCmd_LEDIAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPINARAK_1[] = +static const union AnimCmd sAnim_SPINARAK_1[] = { ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 6), @@ -1962,7 +1961,7 @@ const union AnimCmd gAnimCmd_SPINARAK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARIADOS_1[] = +static const union AnimCmd sAnim_ARIADOS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1971,7 +1970,7 @@ const union AnimCmd gAnimCmd_ARIADOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CROBAT_1[] = +static const union AnimCmd sAnim_CROBAT_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -1993,7 +1992,7 @@ const union AnimCmd gAnimCmd_CROBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHINCHOU_1[] = +static const union AnimCmd sAnim_CHINCHOU_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2003,7 +2002,7 @@ const union AnimCmd gAnimCmd_CHINCHOU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHINCHOU_2[] = +static const union AnimCmd sAnim_CHINCHOU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2012,7 +2011,7 @@ const union AnimCmd gAnimCmd_CHINCHOU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LANTURN_1[] = +static const union AnimCmd sAnim_LANTURN_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2022,7 +2021,7 @@ const union AnimCmd gAnimCmd_LANTURN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LANTURN_2[] = +static const union AnimCmd sAnim_LANTURN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2031,7 +2030,7 @@ const union AnimCmd gAnimCmd_LANTURN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PICHU_1[] = +static const union AnimCmd sAnim_PICHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2041,7 +2040,7 @@ const union AnimCmd gAnimCmd_PICHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PICHU_2[] = +static const union AnimCmd sAnim_PICHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2050,7 +2049,7 @@ const union AnimCmd gAnimCmd_PICHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFFA_1[] = +static const union AnimCmd sAnim_CLEFFA_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2059,7 +2058,7 @@ const union AnimCmd gAnimCmd_CLEFFA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = +static const union AnimCmd sAnim_IGGLYBUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2069,7 +2068,7 @@ const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = +static const union AnimCmd sAnim_IGGLYBUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2078,7 +2077,7 @@ const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOGEPI_1[] = +static const union AnimCmd sAnim_TOGEPI_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2086,7 +2085,7 @@ const union AnimCmd gAnimCmd_TOGEPI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOGETIC_1[] = +static const union AnimCmd sAnim_TOGETIC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2094,7 +2093,7 @@ const union AnimCmd gAnimCmd_TOGETIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NATU_1[] = +static const union AnimCmd sAnim_NATU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2104,7 +2103,7 @@ const union AnimCmd gAnimCmd_NATU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NATU_2[] = +static const union AnimCmd sAnim_NATU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2113,7 +2112,7 @@ const union AnimCmd gAnimCmd_NATU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_XATU_1[] = +static const union AnimCmd sAnim_XATU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 45), @@ -2125,7 +2124,7 @@ const union AnimCmd gAnimCmd_XATU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_XATU_2[] = +static const union AnimCmd sAnim_XATU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2134,7 +2133,7 @@ const union AnimCmd gAnimCmd_XATU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAREEP_1[] = +static const union AnimCmd sAnim_MAREEP_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2145,7 +2144,7 @@ const union AnimCmd gAnimCmd_MAREEP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLAAFFY_1[] = +static const union AnimCmd sAnim_FLAAFFY_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2154,7 +2153,7 @@ const union AnimCmd gAnimCmd_FLAAFFY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AMPHAROS_1[] = +static const union AnimCmd sAnim_AMPHAROS_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -2162,7 +2161,7 @@ const union AnimCmd gAnimCmd_AMPHAROS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELLOSSOM_1[] = +static const union AnimCmd sAnim_BELLOSSOM_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2174,7 +2173,7 @@ const union AnimCmd gAnimCmd_BELLOSSOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MARILL_1[] = +static const union AnimCmd sAnim_MARILL_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -2184,7 +2183,7 @@ const union AnimCmd gAnimCmd_MARILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AZUMARILL_1[] = +static const union AnimCmd sAnim_AZUMARILL_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2194,7 +2193,7 @@ const union AnimCmd gAnimCmd_AZUMARILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUDOWOODO_1[] = +static const union AnimCmd sAnim_SUDOWOODO_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -2205,7 +2204,7 @@ const union AnimCmd gAnimCmd_SUDOWOODO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLITOED_1[] = +static const union AnimCmd sAnim_POLITOED_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2216,7 +2215,7 @@ const union AnimCmd gAnimCmd_POLITOED_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOPPIP_1[] = +static const union AnimCmd sAnim_HOPPIP_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -2225,7 +2224,7 @@ const union AnimCmd gAnimCmd_HOPPIP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKIPLOOM_1[] = +static const union AnimCmd sAnim_SKIPLOOM_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2238,7 +2237,7 @@ const union AnimCmd gAnimCmd_SKIPLOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JUMPLUFF_1[] = +static const union AnimCmd sAnim_JUMPLUFF_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 25), @@ -2249,14 +2248,14 @@ const union AnimCmd gAnimCmd_JUMPLUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AIPOM_1[] = +static const union AnimCmd sAnim_AIPOM_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUNKERN_1[] = +static const union AnimCmd sAnim_SUNKERN_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2265,7 +2264,7 @@ const union AnimCmd gAnimCmd_SUNKERN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUNFLORA_1[] = +static const union AnimCmd sAnim_SUNFLORA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2273,7 +2272,7 @@ const union AnimCmd gAnimCmd_SUNFLORA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_YANMA_1[] = +static const union AnimCmd sAnim_YANMA_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -2300,7 +2299,7 @@ const union AnimCmd gAnimCmd_YANMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOOPER_1[] = +static const union AnimCmd sAnim_WOOPER_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2308,14 +2307,14 @@ const union AnimCmd gAnimCmd_WOOPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QUAGSIRE_1[] = +static const union AnimCmd sAnim_QUAGSIRE_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ESPEON_1[] = +static const union AnimCmd sAnim_ESPEON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -2323,21 +2322,21 @@ const union AnimCmd gAnimCmd_ESPEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UMBREON_1[] = +static const union AnimCmd sAnim_UMBREON_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MURKROW_1[] = +static const union AnimCmd sAnim_MURKROW_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWKING_1[] = +static const union AnimCmd sAnim_SLOWKING_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2345,7 +2344,7 @@ const union AnimCmd gAnimCmd_SLOWKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MISDREAVUS_1[] = +static const union AnimCmd sAnim_MISDREAVUS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2360,7 +2359,7 @@ const union AnimCmd gAnimCmd_MISDREAVUS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_1[] = +static const union AnimCmd sAnim_UNOWN_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2368,7 +2367,7 @@ const union AnimCmd gAnimCmd_UNOWN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOBBUFFET_1[] = +static const union AnimCmd sAnim_WOBBUFFET_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2378,7 +2377,7 @@ const union AnimCmd gAnimCmd_WOBBUFFET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOBBUFFET_2[] = +static const union AnimCmd sAnim_WOBBUFFET_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2387,7 +2386,7 @@ const union AnimCmd gAnimCmd_WOBBUFFET_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GIRAFARIG_1[] = +static const union AnimCmd sAnim_GIRAFARIG_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2399,7 +2398,7 @@ const union AnimCmd gAnimCmd_GIRAFARIG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GIRAFARIG_2[] = +static const union AnimCmd sAnim_GIRAFARIG_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2408,7 +2407,7 @@ const union AnimCmd gAnimCmd_GIRAFARIG_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINECO_1[] = +static const union AnimCmd sAnim_PINECO_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2421,7 +2420,7 @@ const union AnimCmd gAnimCmd_PINECO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FORRETRESS_1[] = +static const union AnimCmd sAnim_FORRETRESS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2430,7 +2429,7 @@ const union AnimCmd gAnimCmd_FORRETRESS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUNSPARCE_1[] = +static const union AnimCmd sAnim_DUNSPARCE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -2439,14 +2438,14 @@ const union AnimCmd gAnimCmd_DUNSPARCE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLIGAR_1[] = +static const union AnimCmd sAnim_GLIGAR_1[] = { ANIMCMD_FRAME(1, 17), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STEELIX_1[] = +static const union AnimCmd sAnim_STEELIX_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 8), @@ -2457,21 +2456,21 @@ const union AnimCmd gAnimCmd_STEELIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNUBBULL_1[] = +static const union AnimCmd sAnim_SNUBBULL_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRANBULL_1[] = +static const union AnimCmd sAnim_GRANBULL_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QWILFISH_1[] = +static const union AnimCmd sAnim_QWILFISH_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2483,14 +2482,14 @@ const union AnimCmd gAnimCmd_QWILFISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCIZOR_1[] = +static const union AnimCmd sAnim_SCIZOR_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHUCKLE_1[] = +static const union AnimCmd sAnim_SHUCKLE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2498,7 +2497,7 @@ const union AnimCmd gAnimCmd_SHUCKLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HERACROSS_1[] = +static const union AnimCmd sAnim_HERACROSS_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2508,7 +2507,7 @@ const union AnimCmd gAnimCmd_HERACROSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HERACROSS_2[] = +static const union AnimCmd sAnim_HERACROSS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2517,28 +2516,28 @@ const union AnimCmd gAnimCmd_HERACROSS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNEASEL_1[] = +static const union AnimCmd sAnim_SNEASEL_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TEDDIURSA_1[] = +static const union AnimCmd sAnim_TEDDIURSA_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_URSARING_1[] = +static const union AnimCmd sAnim_URSARING_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLUGMA_1[] = +static const union AnimCmd sAnim_SLUGMA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2548,7 +2547,7 @@ const union AnimCmd gAnimCmd_SLUGMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLUGMA_2[] = +static const union AnimCmd sAnim_SLUGMA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2557,7 +2556,7 @@ const union AnimCmd gAnimCmd_SLUGMA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGCARGO_1[] = +static const union AnimCmd sAnim_MAGCARGO_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2567,7 +2566,7 @@ const union AnimCmd gAnimCmd_MAGCARGO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGCARGO_2[] = +static const union AnimCmd sAnim_MAGCARGO_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2576,7 +2575,7 @@ const union AnimCmd gAnimCmd_MAGCARGO_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWINUB_1[] = +static const union AnimCmd sAnim_SWINUB_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2585,7 +2584,7 @@ const union AnimCmd gAnimCmd_SWINUB_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PILOSWINE_1[] = +static const union AnimCmd sAnim_PILOSWINE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2594,7 +2593,7 @@ const union AnimCmd gAnimCmd_PILOSWINE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORSOLA_1[] = +static const union AnimCmd sAnim_CORSOLA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2604,7 +2603,7 @@ const union AnimCmd gAnimCmd_CORSOLA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORSOLA_2[] = +static const union AnimCmd sAnim_CORSOLA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2613,7 +2612,7 @@ const union AnimCmd gAnimCmd_CORSOLA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REMORAID_1[] = +static const union AnimCmd sAnim_REMORAID_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2622,7 +2621,7 @@ const union AnimCmd gAnimCmd_REMORAID_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OCTILLERY_1[] = +static const union AnimCmd sAnim_OCTILLERY_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2631,7 +2630,7 @@ const union AnimCmd gAnimCmd_OCTILLERY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DELIBIRD_1[] = +static const union AnimCmd sAnim_DELIBIRD_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2640,7 +2639,7 @@ const union AnimCmd gAnimCmd_DELIBIRD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANTINE_1[] = +static const union AnimCmd sAnim_MANTINE_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2649,7 +2648,7 @@ const union AnimCmd gAnimCmd_MANTINE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKARMORY_1[] = +static const union AnimCmd sAnim_SKARMORY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2659,7 +2658,7 @@ const union AnimCmd gAnimCmd_SKARMORY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKARMORY_2[] = +static const union AnimCmd sAnim_SKARMORY_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2668,7 +2667,7 @@ const union AnimCmd gAnimCmd_SKARMORY_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOUNDOUR_1[] = +static const union AnimCmd sAnim_HOUNDOUR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2677,14 +2676,14 @@ const union AnimCmd gAnimCmd_HOUNDOUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOUNDOOM_1[] = +static const union AnimCmd sAnim_HOUNDOOM_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGDRA_1[] = +static const union AnimCmd sAnim_KINGDRA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2694,7 +2693,7 @@ const union AnimCmd gAnimCmd_KINGDRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGDRA_2[] = +static const union AnimCmd sAnim_KINGDRA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2703,7 +2702,7 @@ const union AnimCmd gAnimCmd_KINGDRA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PHANPY_1[] = +static const union AnimCmd sAnim_PHANPY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2715,7 +2714,7 @@ const union AnimCmd gAnimCmd_PHANPY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PHANPY_2[] = +static const union AnimCmd sAnim_PHANPY_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2724,7 +2723,7 @@ const union AnimCmd gAnimCmd_PHANPY_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DONPHAN_1[] = +static const union AnimCmd sAnim_DONPHAN_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2736,7 +2735,7 @@ const union AnimCmd gAnimCmd_DONPHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DONPHAN_2[] = +static const union AnimCmd sAnim_DONPHAN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2745,7 +2744,7 @@ const union AnimCmd gAnimCmd_DONPHAN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PORYGON2_1[] = +static const union AnimCmd sAnim_PORYGON2_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2755,14 +2754,14 @@ const union AnimCmd gAnimCmd_PORYGON2_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STANTLER_1[] = +static const union AnimCmd sAnim_STANTLER_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SMEARGLE_1[] = +static const union AnimCmd sAnim_SMEARGLE_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2771,14 +2770,14 @@ const union AnimCmd gAnimCmd_SMEARGLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYROGUE_1[] = +static const union AnimCmd sAnim_TYROGUE_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONTOP_1[] = +static const union AnimCmd sAnim_HITMONTOP_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -2794,7 +2793,7 @@ const union AnimCmd gAnimCmd_HITMONTOP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SMOOCHUM_1[] = +static const union AnimCmd sAnim_SMOOCHUM_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2805,7 +2804,7 @@ const union AnimCmd gAnimCmd_SMOOCHUM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELEKID_1[] = +static const union AnimCmd sAnim_ELEKID_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 5), @@ -2813,7 +2812,7 @@ const union AnimCmd gAnimCmd_ELEKID_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGBY_1[] = +static const union AnimCmd sAnim_MAGBY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2825,21 +2824,21 @@ const union AnimCmd gAnimCmd_MAGBY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MILTANK_1[] = +static const union AnimCmd sAnim_MILTANK_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLISSEY_1[] = +static const union AnimCmd sAnim_BLISSEY_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAIKOU_1[] = +static const union AnimCmd sAnim_RAIKOU_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2848,21 +2847,21 @@ const union AnimCmd gAnimCmd_RAIKOU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ENTEI_1[] = +static const union AnimCmd sAnim_ENTEI_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUICUNE_1[] = +static const union AnimCmd sAnim_SUICUNE_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LARVITAR_1[] = +static const union AnimCmd sAnim_LARVITAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2871,14 +2870,14 @@ const union AnimCmd gAnimCmd_LARVITAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PUPITAR_1[] = +static const union AnimCmd sAnim_PUPITAR_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYRANITAR_1[] = +static const union AnimCmd sAnim_TYRANITAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -2887,21 +2886,21 @@ const union AnimCmd gAnimCmd_TYRANITAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUGIA_1[] = +static const union AnimCmd sAnim_LUGIA_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HO_OH_1[] = +static const union AnimCmd sAnim_HO_OH_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CELEBI_1[] = +static const union AnimCmd sAnim_CELEBI_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2910,7 +2909,7 @@ const union AnimCmd gAnimCmd_CELEBI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = +static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2918,7 +2917,7 @@ const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TREECKO_1[] = +static const union AnimCmd sAnim_TREECKO_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), @@ -2927,7 +2926,7 @@ const union AnimCmd gAnimCmd_TREECKO_1[] = ANIMCMD_FRAME(0, 3), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_GROVYLE_1[] = +static const union AnimCmd sAnim_GROVYLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -2937,7 +2936,7 @@ const union AnimCmd gAnimCmd_GROVYLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCEPTILE_1[] = +static const union AnimCmd sAnim_SCEPTILE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 26), @@ -2945,7 +2944,7 @@ const union AnimCmd gAnimCmd_SCEPTILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TORCHIC_1[] = +static const union AnimCmd sAnim_TORCHIC_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 4), @@ -2957,14 +2956,14 @@ const union AnimCmd gAnimCmd_TORCHIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_COMBUSKEN_1[] = +static const union AnimCmd sAnim_COMBUSKEN_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 12), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_BLAZIKEN_1[] = +static const union AnimCmd sAnim_BLAZIKEN_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -2974,7 +2973,7 @@ const union AnimCmd gAnimCmd_BLAZIKEN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_2[] = +static const union AnimCmd sAnim_BLAZIKEN_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -2982,20 +2981,20 @@ const union AnimCmd gAnimCmd_BLAZIKEN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_3[] = +static const union AnimCmd sAnim_BLAZIKEN_3[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_4[] = +static const union AnimCmd sAnim_BLAZIKEN_4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUDKIP_1[] = +static const union AnimCmd sAnim_MUDKIP_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 8), @@ -3005,7 +3004,7 @@ const union AnimCmd gAnimCmd_MUDKIP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MARSHTOMP_1[] = +static const union AnimCmd sAnim_MARSHTOMP_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3019,7 +3018,7 @@ const union AnimCmd gAnimCmd_MARSHTOMP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWAMPERT_1[] = +static const union AnimCmd sAnim_SWAMPERT_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 44), @@ -3029,7 +3028,7 @@ const union AnimCmd gAnimCmd_SWAMPERT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POOCHYENA_1[] = +static const union AnimCmd sAnim_POOCHYENA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -3037,7 +3036,7 @@ const union AnimCmd gAnimCmd_POOCHYENA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MIGHTYENA_1[] = +static const union AnimCmd sAnim_MIGHTYENA_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3047,7 +3046,7 @@ const union AnimCmd gAnimCmd_MIGHTYENA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = +static const union AnimCmd sAnim_ZIGZAGOON_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3057,7 +3056,7 @@ const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LINOONE_1[] = +static const union AnimCmd sAnim_LINOONE_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -3067,7 +3066,7 @@ const union AnimCmd gAnimCmd_LINOONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WURMPLE_1[] = +static const union AnimCmd sAnim_WURMPLE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 35), @@ -3075,7 +3074,7 @@ const union AnimCmd gAnimCmd_WURMPLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SILCOON_1[] = +static const union AnimCmd sAnim_SILCOON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -3083,13 +3082,13 @@ const union AnimCmd gAnimCmd_SILCOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SILCOON_2[] = +static const union AnimCmd sAnim_SILCOON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = +static const union AnimCmd sAnim_BEAUTIFLY_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -3103,13 +3102,13 @@ const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEAUTIFLY_2[] = +static const union AnimCmd sAnim_BEAUTIFLY_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASCOON_1[] = +static const union AnimCmd sAnim_CASCOON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3119,13 +3118,13 @@ const union AnimCmd gAnimCmd_CASCOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASCOON_2[] = +static const union AnimCmd sAnim_CASCOON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSTOX_1[] = +static const union AnimCmd sAnim_DUSTOX_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3145,13 +3144,13 @@ const union AnimCmd gAnimCmd_DUSTOX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSTOX_2[] = +static const union AnimCmd sAnim_DUSTOX_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOTAD_1[] = +static const union AnimCmd sAnim_LOTAD_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 55), @@ -3159,7 +3158,7 @@ const union AnimCmd gAnimCmd_LOTAD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOMBRE_1[] = +static const union AnimCmd sAnim_LOMBRE_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3169,7 +3168,7 @@ const union AnimCmd gAnimCmd_LOMBRE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUDICOLO_1[] = +static const union AnimCmd sAnim_LUDICOLO_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3181,7 +3180,7 @@ const union AnimCmd gAnimCmd_LUDICOLO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEEDOT_1[] = +static const union AnimCmd sAnim_SEEDOT_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3195,7 +3194,7 @@ const union AnimCmd gAnimCmd_SEEDOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NUZLEAF_1[] = +static const union AnimCmd sAnim_NUZLEAF_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 15), @@ -3209,7 +3208,7 @@ const union AnimCmd gAnimCmd_NUZLEAF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHIFTRY_1[] = +static const union AnimCmd sAnim_SHIFTRY_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 35), @@ -3217,7 +3216,7 @@ const union AnimCmd gAnimCmd_SHIFTRY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINCADA_1[] = +static const union AnimCmd sAnim_NINCADA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 22), @@ -3227,7 +3226,7 @@ const union AnimCmd gAnimCmd_NINCADA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINJASK_1[] = +static const union AnimCmd sAnim_NINJASK_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3250,7 +3249,7 @@ const union AnimCmd gAnimCmd_NINJASK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHEDINJA_1[] = +static const union AnimCmd sAnim_SHEDINJA_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 33), @@ -3260,7 +3259,7 @@ const union AnimCmd gAnimCmd_SHEDINJA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TAILLOW_1[] = +static const union AnimCmd sAnim_TAILLOW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -3274,7 +3273,7 @@ const union AnimCmd gAnimCmd_TAILLOW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWELLOW_1[] = +static const union AnimCmd sAnim_SWELLOW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 18), @@ -3282,7 +3281,7 @@ const union AnimCmd gAnimCmd_SWELLOW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHROOMISH_1[] = +static const union AnimCmd sAnim_SHROOMISH_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3298,7 +3297,7 @@ const union AnimCmd gAnimCmd_SHROOMISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BRELOOM_1[] = +static const union AnimCmd sAnim_BRELOOM_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3308,7 +3307,7 @@ const union AnimCmd gAnimCmd_BRELOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WINGULL_1[] = +static const union AnimCmd sAnim_WINGULL_1[] = { ANIMCMD_FRAME(0, 17), ANIMCMD_FRAME(1, 23), @@ -3316,7 +3315,7 @@ const union AnimCmd gAnimCmd_WINGULL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PELIPPER_1[] = +static const union AnimCmd sAnim_PELIPPER_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3330,7 +3329,7 @@ const union AnimCmd gAnimCmd_PELIPPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SURSKIT_1[] = +static const union AnimCmd sAnim_SURSKIT_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 18), @@ -3340,13 +3339,13 @@ const union AnimCmd gAnimCmd_SURSKIT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SURSKIT_2[] = +static const union AnimCmd sAnim_SURSKIT_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MASQUERAIN_1[] = +static const union AnimCmd sAnim_MASQUERAIN_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -3360,13 +3359,13 @@ const union AnimCmd gAnimCmd_MASQUERAIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MASQUERAIN_2[] = +static const union AnimCmd sAnim_MASQUERAIN_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WAILMER_1[] = +static const union AnimCmd sAnim_WAILMER_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3378,7 +3377,7 @@ const union AnimCmd gAnimCmd_WAILMER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WAILORD_1[] = +static const union AnimCmd sAnim_WAILORD_1[] = { ANIMCMD_FRAME(0, 26), ANIMCMD_FRAME(1, 48), @@ -3386,7 +3385,7 @@ const union AnimCmd gAnimCmd_WAILORD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKITTY_1[] = +static const union AnimCmd sAnim_SKITTY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 35), @@ -3394,7 +3393,7 @@ const union AnimCmd gAnimCmd_SKITTY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DELCATTY_1[] = +static const union AnimCmd sAnim_DELCATTY_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 46), @@ -3402,7 +3401,7 @@ const union AnimCmd gAnimCmd_DELCATTY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KECLEON_1[] = +static const union AnimCmd sAnim_KECLEON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -3412,7 +3411,7 @@ const union AnimCmd gAnimCmd_KECLEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BALTOY_1[] = +static const union AnimCmd sAnim_BALTOY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3424,7 +3423,7 @@ const union AnimCmd gAnimCmd_BALTOY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLAYDOL_1[] = +static const union AnimCmd sAnim_CLAYDOL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3436,7 +3435,7 @@ const union AnimCmd gAnimCmd_CLAYDOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NOSEPASS_1[] = +static const union AnimCmd sAnim_NOSEPASS_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 27), @@ -3448,7 +3447,7 @@ const union AnimCmd gAnimCmd_NOSEPASS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TORKOAL_1[] = +static const union AnimCmd sAnim_TORKOAL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3458,7 +3457,7 @@ const union AnimCmd gAnimCmd_TORKOAL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SABLEYE_1[] = +static const union AnimCmd sAnim_SABLEYE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3468,7 +3467,7 @@ const union AnimCmd gAnimCmd_SABLEYE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BARBOACH_1[] = +static const union AnimCmd sAnim_BARBOACH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3486,7 +3485,7 @@ const union AnimCmd gAnimCmd_BARBOACH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WHISCASH_1[] = +static const union AnimCmd sAnim_WHISCASH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3504,7 +3503,7 @@ const union AnimCmd gAnimCmd_WHISCASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUVDISC_1[] = +static const union AnimCmd sAnim_LUVDISC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3514,7 +3513,7 @@ const union AnimCmd gAnimCmd_LUVDISC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORPHISH_1[] = +static const union AnimCmd sAnim_CORPHISH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3526,7 +3525,7 @@ const union AnimCmd gAnimCmd_CORPHISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = +static const union AnimCmd sAnim_CRAWDAUNT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3536,7 +3535,7 @@ const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FEEBAS_1[] = +static const union AnimCmd sAnim_FEEBAS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3548,7 +3547,7 @@ const union AnimCmd gAnimCmd_FEEBAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MILOTIC_1[] = +static const union AnimCmd sAnim_MILOTIC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3560,7 +3559,7 @@ const union AnimCmd gAnimCmd_MILOTIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CARVANHA_1[] = +static const union AnimCmd sAnim_CARVANHA_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3574,7 +3573,7 @@ const union AnimCmd gAnimCmd_CARVANHA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHARPEDO_1[] = +static const union AnimCmd sAnim_SHARPEDO_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3588,7 +3587,7 @@ const union AnimCmd gAnimCmd_SHARPEDO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TRAPINCH_1[] = +static const union AnimCmd sAnim_TRAPINCH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3598,7 +3597,7 @@ const union AnimCmd gAnimCmd_TRAPINCH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VIBRAVA_1[] = +static const union AnimCmd sAnim_VIBRAVA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3610,7 +3609,7 @@ const union AnimCmd gAnimCmd_VIBRAVA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLYGON_1[] = +static const union AnimCmd sAnim_FLYGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3622,7 +3621,7 @@ const union AnimCmd gAnimCmd_FLYGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAKUHITA_1[] = +static const union AnimCmd sAnim_MAKUHITA_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 10), @@ -3636,7 +3635,7 @@ const union AnimCmd gAnimCmd_MAKUHITA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HARIYAMA_1[] = +static const union AnimCmd sAnim_HARIYAMA_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -3645,7 +3644,7 @@ const union AnimCmd gAnimCmd_HARIYAMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTRIKE_1[] = +static const union AnimCmd sAnim_ELECTRIKE_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -3655,7 +3654,7 @@ const union AnimCmd gAnimCmd_ELECTRIKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANECTRIC_1[] = +static const union AnimCmd sAnim_MANECTRIC_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 33), @@ -3665,7 +3664,7 @@ const union AnimCmd gAnimCmd_MANECTRIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NUMEL_1[] = +static const union AnimCmd sAnim_NUMEL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3675,7 +3674,7 @@ const union AnimCmd gAnimCmd_NUMEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CAMERUPT_1[] = +static const union AnimCmd sAnim_CAMERUPT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3687,7 +3686,7 @@ const union AnimCmd gAnimCmd_CAMERUPT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPHEAL_1[] = +static const union AnimCmd sAnim_SPHEAL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 43), @@ -3700,7 +3699,7 @@ const union AnimCmd gAnimCmd_SPHEAL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEALEO_1[] = +static const union AnimCmd sAnim_SEALEO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3710,7 +3709,7 @@ const union AnimCmd gAnimCmd_SEALEO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WALREIN_1[] = +static const union AnimCmd sAnim_WALREIN_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 10), @@ -3720,7 +3719,7 @@ const union AnimCmd gAnimCmd_WALREIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CACNEA_1[] = +static const union AnimCmd sAnim_CACNEA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3736,7 +3735,7 @@ const union AnimCmd gAnimCmd_CACNEA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CACTURNE_1[] = +static const union AnimCmd sAnim_CACTURNE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3746,7 +3745,7 @@ const union AnimCmd gAnimCmd_CACTURNE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNORUNT_1[] = +static const union AnimCmd sAnim_SNORUNT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3756,7 +3755,7 @@ const union AnimCmd gAnimCmd_SNORUNT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLALIE_1[] = +static const union AnimCmd sAnim_GLALIE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3766,7 +3765,7 @@ const union AnimCmd gAnimCmd_GLALIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUNATONE_1[] = +static const union AnimCmd sAnim_LUNATONE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3776,7 +3775,7 @@ const union AnimCmd gAnimCmd_LUNATONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUNATONE_2[] = +static const union AnimCmd sAnim_LUNATONE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3785,7 +3784,7 @@ const union AnimCmd gAnimCmd_LUNATONE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SOLROCK_1[] = +static const union AnimCmd sAnim_SOLROCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3795,7 +3794,7 @@ const union AnimCmd gAnimCmd_SOLROCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SOLROCK_2[] = +static const union AnimCmd sAnim_SOLROCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3804,7 +3803,7 @@ const union AnimCmd gAnimCmd_SOLROCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AZURILL_1[] = +static const union AnimCmd sAnim_AZURILL_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -3816,7 +3815,7 @@ const union AnimCmd gAnimCmd_AZURILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPOINK_1[] = +static const union AnimCmd sAnim_SPOINK_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -3832,7 +3831,7 @@ const union AnimCmd gAnimCmd_SPOINK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRUMPIG_1[] = +static const union AnimCmd sAnim_GRUMPIG_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3842,7 +3841,7 @@ const union AnimCmd gAnimCmd_GRUMPIG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PLUSLE_1[] = +static const union AnimCmd sAnim_PLUSLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3852,7 +3851,7 @@ const union AnimCmd gAnimCmd_PLUSLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MINUN_1[] = +static const union AnimCmd sAnim_MINUN_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3862,7 +3861,7 @@ const union AnimCmd gAnimCmd_MINUN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAWILE_1[] = +static const union AnimCmd sAnim_MAWILE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3874,7 +3873,7 @@ const union AnimCmd gAnimCmd_MAWILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEDITITE_1[] = +static const union AnimCmd sAnim_MEDITITE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 2), @@ -3882,7 +3881,7 @@ const union AnimCmd gAnimCmd_MEDITITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEDICHAM_1[] = +static const union AnimCmd sAnim_MEDICHAM_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -3894,7 +3893,7 @@ const union AnimCmd gAnimCmd_MEDICHAM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWABLU_1[] = +static const union AnimCmd sAnim_SWABLU_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -3906,7 +3905,7 @@ const union AnimCmd gAnimCmd_SWABLU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWABLU_2[] = +static const union AnimCmd sAnim_SWABLU_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -3917,7 +3916,7 @@ const union AnimCmd gAnimCmd_SWABLU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALTARIA_1[] = +static const union AnimCmd sAnim_ALTARIA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3927,7 +3926,7 @@ const union AnimCmd gAnimCmd_ALTARIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALTARIA_2[] = +static const union AnimCmd sAnim_ALTARIA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3936,7 +3935,7 @@ const union AnimCmd gAnimCmd_ALTARIA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WYNAUT_1[] = +static const union AnimCmd sAnim_WYNAUT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3946,7 +3945,7 @@ const union AnimCmd gAnimCmd_WYNAUT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSKULL_1[] = +static const union AnimCmd sAnim_DUSKULL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3956,7 +3955,7 @@ const union AnimCmd gAnimCmd_DUSKULL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSCLOPS_1[] = +static const union AnimCmd sAnim_DUSCLOPS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3966,7 +3965,7 @@ const union AnimCmd gAnimCmd_DUSCLOPS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ROSELIA_1[] = +static const union AnimCmd sAnim_ROSELIA_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 44), @@ -3974,7 +3973,7 @@ const union AnimCmd gAnimCmd_ROSELIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLAKOTH_1[] = +static const union AnimCmd sAnim_SLAKOTH_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 22), @@ -3985,7 +3984,7 @@ const union AnimCmd gAnimCmd_SLAKOTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VIGOROTH_1[] = +static const union AnimCmd sAnim_VIGOROTH_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -3997,7 +3996,7 @@ const union AnimCmd gAnimCmd_VIGOROTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLAKING_1[] = +static const union AnimCmd sAnim_SLAKING_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4009,7 +4008,7 @@ const union AnimCmd gAnimCmd_SLAKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GULPIN_1[] = +static const union AnimCmd sAnim_GULPIN_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -4019,7 +4018,7 @@ const union AnimCmd gAnimCmd_GULPIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWALOT_1[] = +static const union AnimCmd sAnim_SWALOT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 30), @@ -4028,7 +4027,7 @@ const union AnimCmd gAnimCmd_SWALOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TROPIUS_1[] = +static const union AnimCmd sAnim_TROPIUS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4038,7 +4037,7 @@ const union AnimCmd gAnimCmd_TROPIUS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WHISMUR_1[] = +static const union AnimCmd sAnim_WHISMUR_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4053,7 +4052,7 @@ const union AnimCmd gAnimCmd_WHISMUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOUDRED_1[] = +static const union AnimCmd sAnim_LOUDRED_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4063,7 +4062,7 @@ const union AnimCmd gAnimCmd_LOUDRED_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXPLOUD_1[] = +static const union AnimCmd sAnim_EXPLOUD_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 44), @@ -4071,7 +4070,7 @@ const union AnimCmd gAnimCmd_EXPLOUD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLAMPERL_1[] = +static const union AnimCmd sAnim_CLAMPERL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4081,7 +4080,7 @@ const union AnimCmd gAnimCmd_CLAMPERL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HUNTAIL_1[] = +static const union AnimCmd sAnim_HUNTAIL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4091,7 +4090,7 @@ const union AnimCmd gAnimCmd_HUNTAIL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOREBYSS_1[] = +static const union AnimCmd sAnim_GOREBYSS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4101,7 +4100,7 @@ const union AnimCmd gAnimCmd_GOREBYSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ABSOL_1[] = +static const union AnimCmd sAnim_ABSOL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4111,7 +4110,7 @@ const union AnimCmd gAnimCmd_ABSOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHUPPET_1[] = +static const union AnimCmd sAnim_SHUPPET_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4123,7 +4122,7 @@ const union AnimCmd gAnimCmd_SHUPPET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BANETTE_1[] = +static const union AnimCmd sAnim_BANETTE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4135,7 +4134,7 @@ const union AnimCmd gAnimCmd_BANETTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEVIPER_1[] = +static const union AnimCmd sAnim_SEVIPER_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4147,7 +4146,7 @@ const union AnimCmd gAnimCmd_SEVIPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZANGOOSE_1[] = +static const union AnimCmd sAnim_ZANGOOSE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4159,7 +4158,7 @@ const union AnimCmd gAnimCmd_ZANGOOSE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RELICANTH_1[] = +static const union AnimCmd sAnim_RELICANTH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4169,7 +4168,7 @@ const union AnimCmd gAnimCmd_RELICANTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARON_1[] = +static const union AnimCmd sAnim_ARON_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 44), @@ -4179,7 +4178,7 @@ const union AnimCmd gAnimCmd_ARON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LAIRON_1[] = +static const union AnimCmd sAnim_LAIRON_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 29), @@ -4189,7 +4188,7 @@ const union AnimCmd gAnimCmd_LAIRON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AGGRON_1[] = +static const union AnimCmd sAnim_AGGRON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -4197,31 +4196,31 @@ const union AnimCmd gAnimCmd_AGGRON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_0[] = +static const union AnimCmd sAnim_CASTFORM_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_1[] = +static const union AnimCmd sAnim_CASTFORM_1[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_2[] = +static const union AnimCmd sAnim_CASTFORM_2[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_3[] = +static const union AnimCmd sAnim_CASTFORM_3[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VOLBEAT_1[] = +static const union AnimCmd sAnim_VOLBEAT_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -4233,7 +4232,7 @@ const union AnimCmd gAnimCmd_VOLBEAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ILLUMISE_1[] = +static const union AnimCmd sAnim_ILLUMISE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4243,7 +4242,7 @@ const union AnimCmd gAnimCmd_ILLUMISE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LILEEP_1[] = +static const union AnimCmd sAnim_LILEEP_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4253,7 +4252,7 @@ const union AnimCmd gAnimCmd_LILEEP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CRADILY_1[] = +static const union AnimCmd sAnim_CRADILY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4265,7 +4264,7 @@ const union AnimCmd gAnimCmd_CRADILY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ANORITH_1[] = +static const union AnimCmd sAnim_ANORITH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4277,7 +4276,7 @@ const union AnimCmd gAnimCmd_ANORITH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARMALDO_1[] = +static const union AnimCmd sAnim_ARMALDO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4287,7 +4286,7 @@ const union AnimCmd gAnimCmd_ARMALDO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RALTS_1[] = +static const union AnimCmd sAnim_RALTS_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -4295,7 +4294,7 @@ const union AnimCmd gAnimCmd_RALTS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KIRLIA_1[] = +static const union AnimCmd sAnim_KIRLIA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 39), @@ -4303,7 +4302,7 @@ const union AnimCmd gAnimCmd_KIRLIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GARDEVOIR_1[] = +static const union AnimCmd sAnim_GARDEVOIR_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -4321,7 +4320,7 @@ const union AnimCmd gAnimCmd_GARDEVOIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BAGON_1[] = +static const union AnimCmd sAnim_BAGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4331,7 +4330,7 @@ const union AnimCmd gAnimCmd_BAGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHELGON_1[] = +static const union AnimCmd sAnim_SHELGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4341,7 +4340,7 @@ const union AnimCmd gAnimCmd_SHELGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SALAMENCE_1[] = +static const union AnimCmd sAnim_SALAMENCE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4351,7 +4350,7 @@ const union AnimCmd gAnimCmd_SALAMENCE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELDUM_1[] = +static const union AnimCmd sAnim_BELDUM_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4361,7 +4360,7 @@ const union AnimCmd gAnimCmd_BELDUM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METANG_1[] = +static const union AnimCmd sAnim_METANG_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -4371,7 +4370,7 @@ const union AnimCmd gAnimCmd_METANG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METAGROSS_1[] = +static const union AnimCmd sAnim_METAGROSS_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4381,7 +4380,7 @@ const union AnimCmd gAnimCmd_METAGROSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGIROCK_1[] = +static const union AnimCmd sAnim_REGIROCK_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4391,7 +4390,7 @@ const union AnimCmd gAnimCmd_REGIROCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGIROCK_2[] = +static const union AnimCmd sAnim_REGIROCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4400,7 +4399,7 @@ const union AnimCmd gAnimCmd_REGIROCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGICE_1[] = +static const union AnimCmd sAnim_REGICE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 15), @@ -4410,7 +4409,7 @@ const union AnimCmd gAnimCmd_REGICE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGISTEEL_1[] = +static const union AnimCmd sAnim_REGISTEEL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4420,7 +4419,7 @@ const union AnimCmd gAnimCmd_REGISTEEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGISTEEL_2[] = +static const union AnimCmd sAnim_REGISTEEL_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4429,7 +4428,7 @@ const union AnimCmd gAnimCmd_REGISTEEL_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KYOGRE_1[] = +static const union AnimCmd sAnim_KYOGRE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4439,7 +4438,7 @@ const union AnimCmd gAnimCmd_KYOGRE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KYOGRE_2[] = +static const union AnimCmd sAnim_KYOGRE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4448,7 +4447,7 @@ const union AnimCmd gAnimCmd_KYOGRE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROUDON_1[] = +static const union AnimCmd sAnim_GROUDON_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -4458,7 +4457,7 @@ const union AnimCmd gAnimCmd_GROUDON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROUDON_2[] = +static const union AnimCmd sAnim_GROUDON_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4467,7 +4466,7 @@ const union AnimCmd gAnimCmd_GROUDON_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAYQUAZA_1[] = +static const union AnimCmd sAnim_RAYQUAZA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 8), @@ -4477,7 +4476,7 @@ const union AnimCmd gAnimCmd_RAYQUAZA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAYQUAZA_2[] = +static const union AnimCmd sAnim_RAYQUAZA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4486,7 +4485,7 @@ const union AnimCmd gAnimCmd_RAYQUAZA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIAS_1[] = +static const union AnimCmd sAnim_LATIAS_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4496,7 +4495,7 @@ const union AnimCmd gAnimCmd_LATIAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIAS_2[] = +static const union AnimCmd sAnim_LATIAS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4505,7 +4504,7 @@ const union AnimCmd gAnimCmd_LATIAS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIOS_1[] = +static const union AnimCmd sAnim_LATIOS_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4515,7 +4514,7 @@ const union AnimCmd gAnimCmd_LATIOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIOS_2[] = +static const union AnimCmd sAnim_LATIOS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4524,7 +4523,7 @@ const union AnimCmd gAnimCmd_LATIOS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIRACHI_1[] = +static const union AnimCmd sAnim_JIRACHI_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4539,7 +4538,7 @@ const union AnimCmd gAnimCmd_JIRACHI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIRACHI_2[] = +static const union AnimCmd sAnim_JIRACHI_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4548,7 +4547,7 @@ const union AnimCmd gAnimCmd_JIRACHI_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEOXYS_1[] = +static const union AnimCmd sAnim_DEOXYS_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4558,7 +4557,7 @@ const union AnimCmd gAnimCmd_DEOXYS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEOXYS_2[] = +static const union AnimCmd sAnim_DEOXYS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4567,7 +4566,7 @@ const union AnimCmd gAnimCmd_DEOXYS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHIMECHO_1[] = +static const union AnimCmd sAnim_CHIMECHO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4581,7 +4580,7 @@ const union AnimCmd gAnimCmd_CHIMECHO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EGG_1[] = +static const union AnimCmd sAnim_EGG_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -4590,7 +4589,7 @@ const union AnimCmd gAnimCmd_EGG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_B_1[] = +static const union AnimCmd sAnim_UNOWN_B_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4598,7 +4597,7 @@ const union AnimCmd gAnimCmd_UNOWN_B_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_C_1[] = +static const union AnimCmd sAnim_UNOWN_C_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4606,7 +4605,7 @@ const union AnimCmd gAnimCmd_UNOWN_C_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_D_1[] = +static const union AnimCmd sAnim_UNOWN_D_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4614,7 +4613,7 @@ const union AnimCmd gAnimCmd_UNOWN_D_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_E_1[] = +static const union AnimCmd sAnim_UNOWN_E_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4622,7 +4621,7 @@ const union AnimCmd gAnimCmd_UNOWN_E_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_F_1[] = +static const union AnimCmd sAnim_UNOWN_F_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4630,7 +4629,7 @@ const union AnimCmd gAnimCmd_UNOWN_F_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_G_1[] = +static const union AnimCmd sAnim_UNOWN_G_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4638,7 +4637,7 @@ const union AnimCmd gAnimCmd_UNOWN_G_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_H_1[] = +static const union AnimCmd sAnim_UNOWN_H_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4646,7 +4645,7 @@ const union AnimCmd gAnimCmd_UNOWN_H_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_I_1[] = +static const union AnimCmd sAnim_UNOWN_I_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4654,7 +4653,7 @@ const union AnimCmd gAnimCmd_UNOWN_I_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_J_1[] = +static const union AnimCmd sAnim_UNOWN_J_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4662,7 +4661,7 @@ const union AnimCmd gAnimCmd_UNOWN_J_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_K_1[] = +static const union AnimCmd sAnim_UNOWN_K_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4670,7 +4669,7 @@ const union AnimCmd gAnimCmd_UNOWN_K_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_L_1[] = +static const union AnimCmd sAnim_UNOWN_L_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4678,7 +4677,7 @@ const union AnimCmd gAnimCmd_UNOWN_L_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_M_1[] = +static const union AnimCmd sAnim_UNOWN_M_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4686,7 +4685,7 @@ const union AnimCmd gAnimCmd_UNOWN_M_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_N_1[] = +static const union AnimCmd sAnim_UNOWN_N_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4694,7 +4693,7 @@ const union AnimCmd gAnimCmd_UNOWN_N_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_O_1[] = +static const union AnimCmd sAnim_UNOWN_O_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4702,7 +4701,7 @@ const union AnimCmd gAnimCmd_UNOWN_O_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_P_1[] = +static const union AnimCmd sAnim_UNOWN_P_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4710,7 +4709,7 @@ const union AnimCmd gAnimCmd_UNOWN_P_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Q_1[] = +static const union AnimCmd sAnim_UNOWN_Q_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4718,7 +4717,7 @@ const union AnimCmd gAnimCmd_UNOWN_Q_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_R_1[] = +static const union AnimCmd sAnim_UNOWN_R_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4726,7 +4725,7 @@ const union AnimCmd gAnimCmd_UNOWN_R_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_S_1[] = +static const union AnimCmd sAnim_UNOWN_S_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4734,7 +4733,7 @@ const union AnimCmd gAnimCmd_UNOWN_S_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_T_1[] = +static const union AnimCmd sAnim_UNOWN_T_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4742,7 +4741,7 @@ const union AnimCmd gAnimCmd_UNOWN_T_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_U_1[] = +static const union AnimCmd sAnim_UNOWN_U_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4750,7 +4749,7 @@ const union AnimCmd gAnimCmd_UNOWN_U_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_V_1[] = +static const union AnimCmd sAnim_UNOWN_V_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4758,7 +4757,7 @@ const union AnimCmd gAnimCmd_UNOWN_V_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_W_1[] = +static const union AnimCmd sAnim_UNOWN_W_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4766,7 +4765,7 @@ const union AnimCmd gAnimCmd_UNOWN_W_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_X_1[] = +static const union AnimCmd sAnim_UNOWN_X_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4774,7 +4773,7 @@ const union AnimCmd gAnimCmd_UNOWN_X_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Y_1[] = +static const union AnimCmd sAnim_UNOWN_Y_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4782,7 +4781,7 @@ const union AnimCmd gAnimCmd_UNOWN_Y_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Z_1[] = +static const union AnimCmd sAnim_UNOWN_Z_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4790,7 +4789,7 @@ const union AnimCmd gAnimCmd_UNOWN_Z_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = +static const union AnimCmd sAnim_UNOWN_EMARK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4798,2158 +4797,2158 @@ const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_QMARK_1[] = +static const union AnimCmd sAnim_UNOWN_QMARK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; - -const union AnimCmd *const gAnims_NONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NONE_1, + +static const union AnimCmd *const sAnims_NONE[] ={ + sAnim_GeneralFrame0, + sAnim_NONE_1, }; -const union AnimCmd *const gAnims_BULBASAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BULBASAUR_1, +static const union AnimCmd *const sAnims_BULBASAUR[] ={ + sAnim_GeneralFrame0, + sAnim_BULBASAUR_1, }; -const union AnimCmd *const gAnims_IVYSAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_IVYSAUR_1, +static const union AnimCmd *const sAnims_IVYSAUR[] ={ + sAnim_GeneralFrame0, + sAnim_IVYSAUR_1, }; -const union AnimCmd *const gAnims_VENUSAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENUSAUR_1, +static const union AnimCmd *const sAnims_VENUSAUR[] ={ + sAnim_GeneralFrame0, + sAnim_VENUSAUR_1, }; -const union AnimCmd *const gAnims_CHARMANDER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARMANDER_1, +static const union AnimCmd *const sAnims_CHARMANDER[] ={ + sAnim_GeneralFrame0, + sAnim_CHARMANDER_1, }; -const union AnimCmd *const gAnims_CHARMELEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARMELEON_1, +static const union AnimCmd *const sAnims_CHARMELEON[] ={ + sAnim_GeneralFrame0, + sAnim_CHARMELEON_1, }; -const union AnimCmd *const gAnims_CHARIZARD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARIZARD_1, +static const union AnimCmd *const sAnims_CHARIZARD[] ={ + sAnim_GeneralFrame0, + sAnim_CHARIZARD_1, }; -const union AnimCmd *const gAnims_SQUIRTLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SQUIRTLE_1, +static const union AnimCmd *const sAnims_SQUIRTLE[] ={ + sAnim_GeneralFrame0, + sAnim_SQUIRTLE_1, }; -const union AnimCmd *const gAnims_WARTORTLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WARTORTLE_1, +static const union AnimCmd *const sAnims_WARTORTLE[] ={ + sAnim_GeneralFrame0, + sAnim_WARTORTLE_1, }; -const union AnimCmd *const gAnims_BLASTOISE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLASTOISE_1, +static const union AnimCmd *const sAnims_BLASTOISE[] ={ + sAnim_GeneralFrame0, + sAnim_BLASTOISE_1, }; -const union AnimCmd *const gAnims_CATERPIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CATERPIE_1, +static const union AnimCmd *const sAnims_CATERPIE[] ={ + sAnim_GeneralFrame0, + sAnim_CATERPIE_1, }; -const union AnimCmd *const gAnims_METAPOD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METAPOD_1, +static const union AnimCmd *const sAnims_METAPOD[] ={ + sAnim_GeneralFrame0, + sAnim_METAPOD_1, }; -const union AnimCmd *const gAnims_BUTTERFREE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BUTTERFREE_1, +static const union AnimCmd *const sAnims_BUTTERFREE[] ={ + sAnim_GeneralFrame0, + sAnim_BUTTERFREE_1, }; -const union AnimCmd *const gAnims_WEEDLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEDLE_1, +static const union AnimCmd *const sAnims_WEEDLE[] ={ + sAnim_GeneralFrame0, + sAnim_WEEDLE_1, }; -const union AnimCmd *const gAnims_KAKUNA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KAKUNA_1, +static const union AnimCmd *const sAnims_KAKUNA[] ={ + sAnim_GeneralFrame0, + sAnim_KAKUNA_1, }; -const union AnimCmd *const gAnims_BEEDRILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BEEDRILL_1, +static const union AnimCmd *const sAnims_BEEDRILL[] ={ + sAnim_GeneralFrame0, + sAnim_BEEDRILL_1, }; -const union AnimCmd *const gAnims_PIDGEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEY_1, +static const union AnimCmd *const sAnims_PIDGEY[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEY_1, }; -const union AnimCmd *const gAnims_PIDGEOTTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEOTTO_1, +static const union AnimCmd *const sAnims_PIDGEOTTO[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEOTTO_1, }; -const union AnimCmd *const gAnims_PIDGEOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEOT_1, +static const union AnimCmd *const sAnims_PIDGEOT[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEOT_1, }; -const union AnimCmd *const gAnims_RATTATA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RATTATA_1, +static const union AnimCmd *const sAnims_RATTATA[] ={ + sAnim_GeneralFrame0, + sAnim_RATTATA_1, }; -const union AnimCmd *const gAnims_RATICATE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RATICATE_1, +static const union AnimCmd *const sAnims_RATICATE[] ={ + sAnim_GeneralFrame0, + sAnim_RATICATE_1, }; -const union AnimCmd *const gAnims_SPEAROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPEAROW_1, +static const union AnimCmd *const sAnims_SPEAROW[] ={ + sAnim_GeneralFrame0, + sAnim_SPEAROW_1, }; -const union AnimCmd *const gAnims_FEAROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FEAROW_1, +static const union AnimCmd *const sAnims_FEAROW[] ={ + sAnim_GeneralFrame0, + sAnim_FEAROW_1, }; -const union AnimCmd *const gAnims_EKANS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EKANS_1, +static const union AnimCmd *const sAnims_EKANS[] ={ + sAnim_GeneralFrame0, + sAnim_EKANS_1, }; -const union AnimCmd *const gAnims_ARBOK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARBOK_1, +static const union AnimCmd *const sAnims_ARBOK[] ={ + sAnim_GeneralFrame0, + sAnim_ARBOK_1, }; -const union AnimCmd *const gAnims_PIKACHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIKACHU_1, - gAnimCmd_PIKACHU_2, +static const union AnimCmd *const sAnims_PIKACHU[] ={ + sAnim_GeneralFrame0, + sAnim_PIKACHU_1, + sAnim_PIKACHU_2, }; -const union AnimCmd *const gAnims_RAICHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAICHU_1, - gAnimCmd_RAICHU_2, +static const union AnimCmd *const sAnims_RAICHU[] ={ + sAnim_GeneralFrame0, + sAnim_RAICHU_1, + sAnim_RAICHU_2, }; -const union AnimCmd *const gAnims_SANDSHREW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SANDSHREW_1, - gAnimCmd_SANDSHREW_2, +static const union AnimCmd *const sAnims_SANDSHREW[] ={ + sAnim_GeneralFrame0, + sAnim_SANDSHREW_1, + sAnim_SANDSHREW_2, }; -const union AnimCmd *const gAnims_SANDSLASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SANDSLASH_1, - gAnimCmd_SANDSLASH_2, +static const union AnimCmd *const sAnims_SANDSLASH[] ={ + sAnim_GeneralFrame0, + sAnim_SANDSLASH_1, + sAnim_SANDSLASH_2, }; -const union AnimCmd *const gAnims_NIDORAN_F[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORAN_F_1, +static const union AnimCmd *const sAnims_NIDORAN_F[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORAN_F_1, }; -const union AnimCmd *const gAnims_NIDORINA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORINA_1, +static const union AnimCmd *const sAnims_NIDORINA[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORINA_1, }; -const union AnimCmd *const gAnims_NIDOQUEEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDOQUEEN_1, +static const union AnimCmd *const sAnims_NIDOQUEEN[] ={ + sAnim_GeneralFrame0, + sAnim_NIDOQUEEN_1, }; -const union AnimCmd *const gAnims_NIDORAN_M[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORAN_M_1, +static const union AnimCmd *const sAnims_NIDORAN_M[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORAN_M_1, }; -const union AnimCmd *const gAnims_NIDORINO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORINO_1, +static const union AnimCmd *const sAnims_NIDORINO[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORINO_1, }; -const union AnimCmd *const gAnims_NIDOKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDOKING_1, +static const union AnimCmd *const sAnims_NIDOKING[] ={ + sAnim_GeneralFrame0, + sAnim_NIDOKING_1, }; -const union AnimCmd *const gAnims_CLEFAIRY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFAIRY_1, +static const union AnimCmd *const sAnims_CLEFAIRY[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFAIRY_1, }; -const union AnimCmd *const gAnims_CLEFABLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFABLE_1, +static const union AnimCmd *const sAnims_CLEFABLE[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFABLE_1, }; -const union AnimCmd *const gAnims_VULPIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VULPIX_1, - gAnimCmd_VULPIX_2, +static const union AnimCmd *const sAnims_VULPIX[] ={ + sAnim_GeneralFrame0, + sAnim_VULPIX_1, + sAnim_VULPIX_2, }; -const union AnimCmd *const gAnims_NINETALES[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINETALES_1, - gAnimCmd_NINETALES_2, +static const union AnimCmd *const sAnims_NINETALES[] ={ + sAnim_GeneralFrame0, + sAnim_NINETALES_1, + sAnim_NINETALES_2, }; -const union AnimCmd *const gAnims_JIGGLYPUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JIGGLYPUFF_1, - gAnimCmd_JIGGLYPUFF_2, +static const union AnimCmd *const sAnims_JIGGLYPUFF[] ={ + sAnim_GeneralFrame0, + sAnim_JIGGLYPUFF_1, + sAnim_JIGGLYPUFF_2, }; -const union AnimCmd *const gAnims_WIGGLYTUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WIGGLYTUFF_1, - gAnimCmd_WIGGLYTUFF_2, +static const union AnimCmd *const sAnims_WIGGLYTUFF[] ={ + sAnim_GeneralFrame0, + sAnim_WIGGLYTUFF_1, + sAnim_WIGGLYTUFF_2, }; -const union AnimCmd *const gAnims_ZUBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZUBAT_1, +static const union AnimCmd *const sAnims_ZUBAT[] ={ + sAnim_GeneralFrame0, + sAnim_ZUBAT_1, }; -const union AnimCmd *const gAnims_GOLBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLBAT_1, +static const union AnimCmd *const sAnims_GOLBAT[] ={ + sAnim_GeneralFrame0, + sAnim_GOLBAT_1, }; -const union AnimCmd *const gAnims_ODDISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ODDISH_1, +static const union AnimCmd *const sAnims_ODDISH[] ={ + sAnim_GeneralFrame0, + sAnim_ODDISH_1, }; -const union AnimCmd *const gAnims_GLOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLOOM_1, +static const union AnimCmd *const sAnims_GLOOM[] ={ + sAnim_GeneralFrame0, + sAnim_GLOOM_1, }; -const union AnimCmd *const gAnims_VILEPLUME[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VILEPLUME_1, +static const union AnimCmd *const sAnims_VILEPLUME[] ={ + sAnim_GeneralFrame0, + sAnim_VILEPLUME_1, }; -const union AnimCmd *const gAnims_PARAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PARAS_1, +static const union AnimCmd *const sAnims_PARAS[] ={ + sAnim_GeneralFrame0, + sAnim_PARAS_1, }; -const union AnimCmd *const gAnims_PARASECT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PARASECT_1, +static const union AnimCmd *const sAnims_PARASECT[] ={ + sAnim_GeneralFrame0, + sAnim_PARASECT_1, }; -const union AnimCmd *const gAnims_VENONAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENONAT_1, +static const union AnimCmd *const sAnims_VENONAT[] ={ + sAnim_GeneralFrame0, + sAnim_VENONAT_1, }; -const union AnimCmd *const gAnims_VENOMOTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENOMOTH_1, +static const union AnimCmd *const sAnims_VENOMOTH[] ={ + sAnim_GeneralFrame0, + sAnim_VENOMOTH_1, }; -const union AnimCmd *const gAnims_DIGLETT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DIGLETT_1, +static const union AnimCmd *const sAnims_DIGLETT[] ={ + sAnim_GeneralFrame0, + sAnim_DIGLETT_1, }; -const union AnimCmd *const gAnims_DUGTRIO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUGTRIO_1, +static const union AnimCmd *const sAnims_DUGTRIO[] ={ + sAnim_GeneralFrame0, + sAnim_DUGTRIO_1, }; -const union AnimCmd *const gAnims_MEOWTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEOWTH_1, +static const union AnimCmd *const sAnims_MEOWTH[] ={ + sAnim_GeneralFrame0, + sAnim_MEOWTH_1, }; -const union AnimCmd *const gAnims_PERSIAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PERSIAN_1, +static const union AnimCmd *const sAnims_PERSIAN[] ={ + sAnim_GeneralFrame0, + sAnim_PERSIAN_1, }; -const union AnimCmd *const gAnims_PSYDUCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PSYDUCK_1, - gAnimCmd_PSYDUCK_2, +static const union AnimCmd *const sAnims_PSYDUCK[] ={ + sAnim_GeneralFrame0, + sAnim_PSYDUCK_1, + sAnim_PSYDUCK_2, }; -const union AnimCmd *const gAnims_GOLDUCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLDUCK_1, - gAnimCmd_GOLDUCK_2, +static const union AnimCmd *const sAnims_GOLDUCK[] ={ + sAnim_GeneralFrame0, + sAnim_GOLDUCK_1, + sAnim_GOLDUCK_2, }; -const union AnimCmd *const gAnims_MANKEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANKEY_1, +static const union AnimCmd *const sAnims_MANKEY[] ={ + sAnim_GeneralFrame0, + sAnim_MANKEY_1, }; -const union AnimCmd *const gAnims_PRIMEAPE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PRIMEAPE_1, +static const union AnimCmd *const sAnims_PRIMEAPE[] ={ + sAnim_GeneralFrame0, + sAnim_PRIMEAPE_1, }; -const union AnimCmd *const gAnims_GROWLITHE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROWLITHE_1, +static const union AnimCmd *const sAnims_GROWLITHE[] ={ + sAnim_GeneralFrame0, + sAnim_GROWLITHE_1, }; -const union AnimCmd *const gAnims_ARCANINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARCANINE_1, +static const union AnimCmd *const sAnims_ARCANINE[] ={ + sAnim_GeneralFrame0, + sAnim_ARCANINE_1, }; -const union AnimCmd *const gAnims_POLIWAG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWAG_1, +static const union AnimCmd *const sAnims_POLIWAG[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWAG_1, }; -const union AnimCmd *const gAnims_POLIWHIRL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWHIRL_1, +static const union AnimCmd *const sAnims_POLIWHIRL[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWHIRL_1, }; -const union AnimCmd *const gAnims_POLIWRATH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWRATH_1, +static const union AnimCmd *const sAnims_POLIWRATH[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWRATH_1, }; -const union AnimCmd *const gAnims_ABRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ABRA_1, +static const union AnimCmd *const sAnims_ABRA[] ={ + sAnim_GeneralFrame0, + sAnim_ABRA_1, }; -const union AnimCmd *const gAnims_KADABRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KADABRA_1, +static const union AnimCmd *const sAnims_KADABRA[] ={ + sAnim_GeneralFrame0, + sAnim_KADABRA_1, }; -const union AnimCmd *const gAnims_ALAKAZAM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ALAKAZAM_1, +static const union AnimCmd *const sAnims_ALAKAZAM[] ={ + sAnim_GeneralFrame0, + sAnim_ALAKAZAM_1, }; -const union AnimCmd *const gAnims_MACHOP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHOP_1, +static const union AnimCmd *const sAnims_MACHOP[] ={ + sAnim_GeneralFrame0, + sAnim_MACHOP_1, }; -const union AnimCmd *const gAnims_MACHOKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHOKE_1, +static const union AnimCmd *const sAnims_MACHOKE[] ={ + sAnim_GeneralFrame0, + sAnim_MACHOKE_1, }; -const union AnimCmd *const gAnims_MACHAMP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHAMP_1, +static const union AnimCmd *const sAnims_MACHAMP[] ={ + sAnim_GeneralFrame0, + sAnim_MACHAMP_1, }; -const union AnimCmd *const gAnims_BELLSPROUT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELLSPROUT_1, +static const union AnimCmd *const sAnims_BELLSPROUT[] ={ + sAnim_GeneralFrame0, + sAnim_BELLSPROUT_1, }; -const union AnimCmd *const gAnims_WEEPINBELL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEPINBELL_1, +static const union AnimCmd *const sAnims_WEEPINBELL[] ={ + sAnim_GeneralFrame0, + sAnim_WEEPINBELL_1, }; -const union AnimCmd *const gAnims_VICTREEBEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VICTREEBEL_1, +static const union AnimCmd *const sAnims_VICTREEBEL[] ={ + sAnim_GeneralFrame0, + sAnim_VICTREEBEL_1, }; -const union AnimCmd *const gAnims_TENTACOOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TENTACOOL_1, +static const union AnimCmd *const sAnims_TENTACOOL[] ={ + sAnim_GeneralFrame0, + sAnim_TENTACOOL_1, }; -const union AnimCmd *const gAnims_TENTACRUEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TENTACRUEL_1, +static const union AnimCmd *const sAnims_TENTACRUEL[] ={ + sAnim_GeneralFrame0, + sAnim_TENTACRUEL_1, }; -const union AnimCmd *const gAnims_GEODUDE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GEODUDE_1, +static const union AnimCmd *const sAnims_GEODUDE[] ={ + sAnim_GeneralFrame0, + sAnim_GEODUDE_1, }; -const union AnimCmd *const gAnims_GRAVELER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRAVELER_1, +static const union AnimCmd *const sAnims_GRAVELER[] ={ + sAnim_GeneralFrame0, + sAnim_GRAVELER_1, }; -const union AnimCmd *const gAnims_GOLEM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLEM_1, +static const union AnimCmd *const sAnims_GOLEM[] ={ + sAnim_GeneralFrame0, + sAnim_GOLEM_1, }; -const union AnimCmd *const gAnims_PONYTA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PONYTA_1, +static const union AnimCmd *const sAnims_PONYTA[] ={ + sAnim_GeneralFrame0, + sAnim_PONYTA_1, }; -const union AnimCmd *const gAnims_RAPIDASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAPIDASH_1, +static const union AnimCmd *const sAnims_RAPIDASH[] ={ + sAnim_GeneralFrame0, + sAnim_RAPIDASH_1, }; -const union AnimCmd *const gAnims_SLOWPOKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWPOKE_1, +static const union AnimCmd *const sAnims_SLOWPOKE[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWPOKE_1, }; -const union AnimCmd *const gAnims_SLOWBRO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWBRO_1, +static const union AnimCmd *const sAnims_SLOWBRO[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWBRO_1, }; -const union AnimCmd *const gAnims_MAGNEMITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGNEMITE_1, +static const union AnimCmd *const sAnims_MAGNEMITE[] ={ + sAnim_GeneralFrame0, + sAnim_MAGNEMITE_1, }; -const union AnimCmd *const gAnims_MAGNETON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGNETON_1, +static const union AnimCmd *const sAnims_MAGNETON[] ={ + sAnim_GeneralFrame0, + sAnim_MAGNETON_1, }; -const union AnimCmd *const gAnims_FARFETCHD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FARFETCHD_1, +static const union AnimCmd *const sAnims_FARFETCHD[] ={ + sAnim_GeneralFrame0, + sAnim_FARFETCHD_1, }; -const union AnimCmd *const gAnims_DODUO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DODUO_1, +static const union AnimCmd *const sAnims_DODUO[] ={ + sAnim_GeneralFrame0, + sAnim_DODUO_1, }; -const union AnimCmd *const gAnims_DODRIO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DODRIO_1, +static const union AnimCmd *const sAnims_DODRIO[] ={ + sAnim_GeneralFrame0, + sAnim_DODRIO_1, }; -const union AnimCmd *const gAnims_SEEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEEL_1, +static const union AnimCmd *const sAnims_SEEL[] ={ + sAnim_GeneralFrame0, + sAnim_SEEL_1, }; -const union AnimCmd *const gAnims_DEWGONG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DEWGONG_1, +static const union AnimCmd *const sAnims_DEWGONG[] ={ + sAnim_GeneralFrame0, + sAnim_DEWGONG_1, }; -const union AnimCmd *const gAnims_GRIMER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRIMER_1, - gAnimCmd_GRIMER_2, +static const union AnimCmd *const sAnims_GRIMER[] ={ + sAnim_GeneralFrame0, + sAnim_GRIMER_1, + sAnim_GRIMER_2, }; -const union AnimCmd *const gAnims_MUK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MUK_1, - gAnimCmd_MUK_2, +static const union AnimCmd *const sAnims_MUK[] ={ + sAnim_GeneralFrame0, + sAnim_MUK_1, + sAnim_MUK_2, }; -const union AnimCmd *const gAnims_SHELLDER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHELLDER_1, +static const union AnimCmd *const sAnims_SHELLDER[] ={ + sAnim_GeneralFrame0, + sAnim_SHELLDER_1, }; -const union AnimCmd *const gAnims_CLOYSTER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLOYSTER_1, +static const union AnimCmd *const sAnims_CLOYSTER[] ={ + sAnim_GeneralFrame0, + sAnim_CLOYSTER_1, }; -const union AnimCmd *const gAnims_GASTLY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GASTLY_1, +static const union AnimCmd *const sAnims_GASTLY[] ={ + sAnim_GeneralFrame0, + sAnim_GASTLY_1, }; -const union AnimCmd *const gAnims_HAUNTER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HAUNTER_1, +static const union AnimCmd *const sAnims_HAUNTER[] ={ + sAnim_GeneralFrame0, + sAnim_HAUNTER_1, }; -const union AnimCmd *const gAnims_GENGAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GENGAR_1, +static const union AnimCmd *const sAnims_GENGAR[] ={ + sAnim_GeneralFrame0, + sAnim_GENGAR_1, }; -const union AnimCmd *const gAnims_ONIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ONIX_1, +static const union AnimCmd *const sAnims_ONIX[] ={ + sAnim_GeneralFrame0, + sAnim_ONIX_1, }; -const union AnimCmd *const gAnims_DROWZEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DROWZEE_1, +static const union AnimCmd *const sAnims_DROWZEE[] ={ + sAnim_GeneralFrame0, + sAnim_DROWZEE_1, }; -const union AnimCmd *const gAnims_HYPNO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HYPNO_1, +static const union AnimCmd *const sAnims_HYPNO[] ={ + sAnim_GeneralFrame0, + sAnim_HYPNO_1, }; -const union AnimCmd *const gAnims_KRABBY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KRABBY_1, +static const union AnimCmd *const sAnims_KRABBY[] ={ + sAnim_GeneralFrame0, + sAnim_KRABBY_1, }; -const union AnimCmd *const gAnims_KINGLER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KINGLER_1, +static const union AnimCmd *const sAnims_KINGLER[] ={ + sAnim_GeneralFrame0, + sAnim_KINGLER_1, }; -const union AnimCmd *const gAnims_VOLTORB[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VOLTORB_1, +static const union AnimCmd *const sAnims_VOLTORB[] ={ + sAnim_GeneralFrame0, + sAnim_VOLTORB_1, }; -const union AnimCmd *const gAnims_ELECTRODE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTRODE_1, +static const union AnimCmd *const sAnims_ELECTRODE[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTRODE_1, }; -const union AnimCmd *const gAnims_EXEGGCUTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXEGGCUTE_1, +static const union AnimCmd *const sAnims_EXEGGCUTE[] ={ + sAnim_GeneralFrame0, + sAnim_EXEGGCUTE_1, }; -const union AnimCmd *const gAnims_EXEGGUTOR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXEGGUTOR_1, +static const union AnimCmd *const sAnims_EXEGGUTOR[] ={ + sAnim_GeneralFrame0, + sAnim_EXEGGUTOR_1, }; -const union AnimCmd *const gAnims_CUBONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CUBONE_1, +static const union AnimCmd *const sAnims_CUBONE[] ={ + sAnim_GeneralFrame0, + sAnim_CUBONE_1, }; -const union AnimCmd *const gAnims_MAROWAK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAROWAK_1, +static const union AnimCmd *const sAnims_MAROWAK[] ={ + sAnim_GeneralFrame0, + sAnim_MAROWAK_1, }; -const union AnimCmd *const gAnims_HITMONLEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONLEE_1, +static const union AnimCmd *const sAnims_HITMONLEE[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONLEE_1, }; -const union AnimCmd *const gAnims_HITMONCHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONCHAN_1, +static const union AnimCmd *const sAnims_HITMONCHAN[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONCHAN_1, }; -const union AnimCmd *const gAnims_LICKITUNG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LICKITUNG_1, +static const union AnimCmd *const sAnims_LICKITUNG[] ={ + sAnim_GeneralFrame0, + sAnim_LICKITUNG_1, }; -const union AnimCmd *const gAnims_KOFFING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KOFFING_1, - gAnimCmd_KOFFING_2, +static const union AnimCmd *const sAnims_KOFFING[] ={ + sAnim_GeneralFrame0, + sAnim_KOFFING_1, + sAnim_KOFFING_2, }; -const union AnimCmd *const gAnims_WEEZING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEZING_1, - gAnimCmd_WEEZING_2, +static const union AnimCmd *const sAnims_WEEZING[] ={ + sAnim_GeneralFrame0, + sAnim_WEEZING_1, + sAnim_WEEZING_2, }; -const union AnimCmd *const gAnims_RHYHORN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RHYHORN_1, - gAnimCmd_RHYHORN_2, +static const union AnimCmd *const sAnims_RHYHORN[] ={ + sAnim_GeneralFrame0, + sAnim_RHYHORN_1, + sAnim_RHYHORN_2, }; -const union AnimCmd *const gAnims_RHYDON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RHYDON_1, - gAnimCmd_RHYDON_2, +static const union AnimCmd *const sAnims_RHYDON[] ={ + sAnim_GeneralFrame0, + sAnim_RHYDON_1, + sAnim_RHYDON_2, }; -const union AnimCmd *const gAnims_CHANSEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHANSEY_1, +static const union AnimCmd *const sAnims_CHANSEY[] ={ + sAnim_GeneralFrame0, + sAnim_CHANSEY_1, }; -const union AnimCmd *const gAnims_TANGELA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TANGELA_1, +static const union AnimCmd *const sAnims_TANGELA[] ={ + sAnim_GeneralFrame0, + sAnim_TANGELA_1, }; -const union AnimCmd *const gAnims_KANGASKHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KANGASKHAN_1, +static const union AnimCmd *const sAnims_KANGASKHAN[] ={ + sAnim_GeneralFrame0, + sAnim_KANGASKHAN_1, }; -const union AnimCmd *const gAnims_HORSEA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HORSEA_1, - gAnimCmd_HORSEA_2, +static const union AnimCmd *const sAnims_HORSEA[] ={ + sAnim_GeneralFrame0, + sAnim_HORSEA_1, + sAnim_HORSEA_2, }; -const union AnimCmd *const gAnims_SEADRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEADRA_1, - gAnimCmd_SEADRA_2, +static const union AnimCmd *const sAnims_SEADRA[] ={ + sAnim_GeneralFrame0, + sAnim_SEADRA_1, + sAnim_SEADRA_2, }; -const union AnimCmd *const gAnims_GOLDEEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLDEEN_1, +static const union AnimCmd *const sAnims_GOLDEEN[] ={ + sAnim_GeneralFrame0, + sAnim_GOLDEEN_1, }; -const union AnimCmd *const gAnims_SEAKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEAKING_1, +static const union AnimCmd *const sAnims_SEAKING[] ={ + sAnim_GeneralFrame0, + sAnim_SEAKING_1, }; -const union AnimCmd *const gAnims_STARYU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STARYU_1, - gAnimCmd_STARYU_2, +static const union AnimCmd *const sAnims_STARYU[] ={ + sAnim_GeneralFrame0, + sAnim_STARYU_1, + sAnim_STARYU_2, }; -const union AnimCmd *const gAnims_STARMIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STARMIE_1, - gAnimCmd_STARMIE_2, +static const union AnimCmd *const sAnims_STARMIE[] ={ + sAnim_GeneralFrame0, + sAnim_STARMIE_1, + sAnim_STARMIE_2, }; -const union AnimCmd *const gAnims_MR_MIME[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MR_MIME_1, +static const union AnimCmd *const sAnims_MR_MIME[] ={ + sAnim_GeneralFrame0, + sAnim_MR_MIME_1, }; -const union AnimCmd *const gAnims_SCYTHER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCYTHER_1, +static const union AnimCmd *const sAnims_SCYTHER[] ={ + sAnim_GeneralFrame0, + sAnim_SCYTHER_1, }; -const union AnimCmd *const gAnims_JYNX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JYNX_1, +static const union AnimCmd *const sAnims_JYNX[] ={ + sAnim_GeneralFrame0, + sAnim_JYNX_1, }; -const union AnimCmd *const gAnims_ELECTABUZZ[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTABUZZ_1, +static const union AnimCmd *const sAnims_ELECTABUZZ[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTABUZZ_1, }; -const union AnimCmd *const gAnims_MAGMAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGMAR_1, +static const union AnimCmd *const sAnims_MAGMAR[] ={ + sAnim_GeneralFrame0, + sAnim_MAGMAR_1, }; -const union AnimCmd *const gAnims_PINSIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PINSIR_1, - gAnimCmd_PINSIR_2, +static const union AnimCmd *const sAnims_PINSIR[] ={ + sAnim_GeneralFrame0, + sAnim_PINSIR_1, + sAnim_PINSIR_2, }; -const union AnimCmd *const gAnims_TAUROS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TAUROS_1, +static const union AnimCmd *const sAnims_TAUROS[] ={ + sAnim_GeneralFrame0, + sAnim_TAUROS_1, }; -const union AnimCmd *const gAnims_MAGIKARP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGIKARP_1, +static const union AnimCmd *const sAnims_MAGIKARP[] ={ + sAnim_GeneralFrame0, + sAnim_MAGIKARP_1, }; -const union AnimCmd *const gAnims_GYARADOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GYARADOS_1, +static const union AnimCmd *const sAnims_GYARADOS[] ={ + sAnim_GeneralFrame0, + sAnim_GYARADOS_1, }; -const union AnimCmd *const gAnims_LAPRAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LAPRAS_1, +static const union AnimCmd *const sAnims_LAPRAS[] ={ + sAnim_GeneralFrame0, + sAnim_LAPRAS_1, }; -const union AnimCmd *const gAnims_DITTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DITTO_1, +static const union AnimCmd *const sAnims_DITTO[] ={ + sAnim_GeneralFrame0, + sAnim_DITTO_1, }; -const union AnimCmd *const gAnims_EEVEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EEVEE_1, +static const union AnimCmd *const sAnims_EEVEE[] ={ + sAnim_GeneralFrame0, + sAnim_EEVEE_1, }; -const union AnimCmd *const gAnims_VAPOREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VAPOREON_1, +static const union AnimCmd *const sAnims_VAPOREON[] ={ + sAnim_GeneralFrame0, + sAnim_VAPOREON_1, }; -const union AnimCmd *const gAnims_JOLTEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JOLTEON_1, +static const union AnimCmd *const sAnims_JOLTEON[] ={ + sAnim_GeneralFrame0, + sAnim_JOLTEON_1, }; -const union AnimCmd *const gAnims_FLAREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLAREON_1, +static const union AnimCmd *const sAnims_FLAREON[] ={ + sAnim_GeneralFrame0, + sAnim_FLAREON_1, }; -const union AnimCmd *const gAnims_PORYGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PORYGON_1, +static const union AnimCmd *const sAnims_PORYGON[] ={ + sAnim_GeneralFrame0, + sAnim_PORYGON_1, }; -const union AnimCmd *const gAnims_OMANYTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OMANYTE_1, +static const union AnimCmd *const sAnims_OMANYTE[] ={ + sAnim_GeneralFrame0, + sAnim_OMANYTE_1, }; -const union AnimCmd *const gAnims_OMASTAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OMASTAR_1, +static const union AnimCmd *const sAnims_OMASTAR[] ={ + sAnim_GeneralFrame0, + sAnim_OMASTAR_1, }; -const union AnimCmd *const gAnims_KABUTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KABUTO_1, +static const union AnimCmd *const sAnims_KABUTO[] ={ + sAnim_GeneralFrame0, + sAnim_KABUTO_1, }; -const union AnimCmd *const gAnims_KABUTOPS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KABUTOPS_1, +static const union AnimCmd *const sAnims_KABUTOPS[] ={ + sAnim_GeneralFrame0, + sAnim_KABUTOPS_1, }; -const union AnimCmd *const gAnims_AERODACTYL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AERODACTYL_1, +static const union AnimCmd *const sAnims_AERODACTYL[] ={ + sAnim_GeneralFrame0, + sAnim_AERODACTYL_1, }; -const union AnimCmd *const gAnims_SNORLAX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNORLAX_1, +static const union AnimCmd *const sAnims_SNORLAX[] ={ + sAnim_GeneralFrame0, + sAnim_SNORLAX_1, }; -const union AnimCmd *const gAnims_ARTICUNO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARTICUNO_1, +static const union AnimCmd *const sAnims_ARTICUNO[] ={ + sAnim_GeneralFrame0, + sAnim_ARTICUNO_1, }; -const union AnimCmd *const gAnims_ZAPDOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZAPDOS_1, +static const union AnimCmd *const sAnims_ZAPDOS[] ={ + sAnim_GeneralFrame0, + sAnim_ZAPDOS_1, }; -const union AnimCmd *const gAnims_MOLTRES[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MOLTRES_1, +static const union AnimCmd *const sAnims_MOLTRES[] ={ + sAnim_GeneralFrame0, + sAnim_MOLTRES_1, }; -const union AnimCmd *const gAnims_DRATINI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRATINI_1, +static const union AnimCmd *const sAnims_DRATINI[] ={ + sAnim_GeneralFrame0, + sAnim_DRATINI_1, }; -const union AnimCmd *const gAnims_DRAGONAIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRAGONAIR_1, +static const union AnimCmd *const sAnims_DRAGONAIR[] ={ + sAnim_GeneralFrame0, + sAnim_DRAGONAIR_1, }; -const union AnimCmd *const gAnims_DRAGONITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRAGONITE_1, +static const union AnimCmd *const sAnims_DRAGONITE[] ={ + sAnim_GeneralFrame0, + sAnim_DRAGONITE_1, }; -const union AnimCmd *const gAnims_MEWTWO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEWTWO_1, +static const union AnimCmd *const sAnims_MEWTWO[] ={ + sAnim_GeneralFrame0, + sAnim_MEWTWO_1, }; -const union AnimCmd *const gAnims_MEW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEW_1, +static const union AnimCmd *const sAnims_MEW[] ={ + sAnim_GeneralFrame0, + sAnim_MEW_1, }; -const union AnimCmd *const gAnims_CHIKORITA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHIKORITA_1, +static const union AnimCmd *const sAnims_CHIKORITA[] ={ + sAnim_GeneralFrame0, + sAnim_CHIKORITA_1, }; -const union AnimCmd *const gAnims_BAYLEEF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BAYLEEF_1, +static const union AnimCmd *const sAnims_BAYLEEF[] ={ + sAnim_GeneralFrame0, + sAnim_BAYLEEF_1, }; -const union AnimCmd *const gAnims_MEGANIUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEGANIUM_1, +static const union AnimCmd *const sAnims_MEGANIUM[] ={ + sAnim_GeneralFrame0, + sAnim_MEGANIUM_1, }; -const union AnimCmd *const gAnims_CYNDAQUIL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CYNDAQUIL_1, +static const union AnimCmd *const sAnims_CYNDAQUIL[] ={ + sAnim_GeneralFrame0, + sAnim_CYNDAQUIL_1, }; -const union AnimCmd *const gAnims_QUILAVA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QUILAVA_1, +static const union AnimCmd *const sAnims_QUILAVA[] ={ + sAnim_GeneralFrame0, + sAnim_QUILAVA_1, }; -const union AnimCmd *const gAnims_TYPHLOSION[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYPHLOSION_1, +static const union AnimCmd *const sAnims_TYPHLOSION[] ={ + sAnim_GeneralFrame0, + sAnim_TYPHLOSION_1, }; -const union AnimCmd *const gAnims_TOTODILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOTODILE_1, +static const union AnimCmd *const sAnims_TOTODILE[] ={ + sAnim_GeneralFrame0, + sAnim_TOTODILE_1, }; -const union AnimCmd *const gAnims_CROCONAW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CROCONAW_1, +static const union AnimCmd *const sAnims_CROCONAW[] ={ + sAnim_GeneralFrame0, + sAnim_CROCONAW_1, }; -const union AnimCmd *const gAnims_FERALIGATR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FERALIGATR_1, +static const union AnimCmd *const sAnims_FERALIGATR[] ={ + sAnim_GeneralFrame0, + sAnim_FERALIGATR_1, }; -const union AnimCmd *const gAnims_SENTRET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SENTRET_1, +static const union AnimCmd *const sAnims_SENTRET[] ={ + sAnim_GeneralFrame0, + sAnim_SENTRET_1, }; -const union AnimCmd *const gAnims_FURRET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FURRET_1, +static const union AnimCmd *const sAnims_FURRET[] ={ + sAnim_GeneralFrame0, + sAnim_FURRET_1, }; -const union AnimCmd *const gAnims_HOOTHOOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOOTHOOT_1, +static const union AnimCmd *const sAnims_HOOTHOOT[] ={ + sAnim_GeneralFrame0, + sAnim_HOOTHOOT_1, }; -const union AnimCmd *const gAnims_NOCTOWL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NOCTOWL_1, +static const union AnimCmd *const sAnims_NOCTOWL[] ={ + sAnim_GeneralFrame0, + sAnim_NOCTOWL_1, }; -const union AnimCmd *const gAnims_LEDYBA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LEDYBA_1, +static const union AnimCmd *const sAnims_LEDYBA[] ={ + sAnim_GeneralFrame0, + sAnim_LEDYBA_1, }; -const union AnimCmd *const gAnims_LEDIAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LEDIAN_1, +static const union AnimCmd *const sAnims_LEDIAN[] ={ + sAnim_GeneralFrame0, + sAnim_LEDIAN_1, }; -const union AnimCmd *const gAnims_SPINARAK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPINARAK_1, +static const union AnimCmd *const sAnims_SPINARAK[] ={ + sAnim_GeneralFrame0, + sAnim_SPINARAK_1, }; -const union AnimCmd *const gAnims_ARIADOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARIADOS_1, +static const union AnimCmd *const sAnims_ARIADOS[] ={ + sAnim_GeneralFrame0, + sAnim_ARIADOS_1, }; -const union AnimCmd *const gAnims_CROBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CROBAT_1, +static const union AnimCmd *const sAnims_CROBAT[] ={ + sAnim_GeneralFrame0, + sAnim_CROBAT_1, }; -const union AnimCmd *const gAnims_CHINCHOU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHINCHOU_1, - gAnimCmd_CHINCHOU_2, +static const union AnimCmd *const sAnims_CHINCHOU[] ={ + sAnim_GeneralFrame0, + sAnim_CHINCHOU_1, + sAnim_CHINCHOU_2, }; -const union AnimCmd *const gAnims_LANTURN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LANTURN_1, - gAnimCmd_LANTURN_2, +static const union AnimCmd *const sAnims_LANTURN[] ={ + sAnim_GeneralFrame0, + sAnim_LANTURN_1, + sAnim_LANTURN_2, }; -const union AnimCmd *const gAnims_PICHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PICHU_1, - gAnimCmd_PICHU_2, +static const union AnimCmd *const sAnims_PICHU[] ={ + sAnim_GeneralFrame0, + sAnim_PICHU_1, + sAnim_PICHU_2, }; -const union AnimCmd *const gAnims_CLEFFA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFFA_1, +static const union AnimCmd *const sAnims_CLEFFA[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFFA_1, }; -const union AnimCmd *const gAnims_IGGLYBUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_IGGLYBUFF_1, - gAnimCmd_IGGLYBUFF_2, +static const union AnimCmd *const sAnims_IGGLYBUFF[] ={ + sAnim_GeneralFrame0, + sAnim_IGGLYBUFF_1, + sAnim_IGGLYBUFF_2, }; -const union AnimCmd *const gAnims_TOGEPI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOGEPI_1, +static const union AnimCmd *const sAnims_TOGEPI[] ={ + sAnim_GeneralFrame0, + sAnim_TOGEPI_1, }; -const union AnimCmd *const gAnims_TOGETIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOGETIC_1, +static const union AnimCmd *const sAnims_TOGETIC[] ={ + sAnim_GeneralFrame0, + sAnim_TOGETIC_1, }; -const union AnimCmd *const gAnims_NATU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NATU_1, - gAnimCmd_NATU_2, +static const union AnimCmd *const sAnims_NATU[] ={ + sAnim_GeneralFrame0, + sAnim_NATU_1, + sAnim_NATU_2, }; -const union AnimCmd *const gAnims_XATU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_XATU_1, - gAnimCmd_XATU_2, +static const union AnimCmd *const sAnims_XATU[] ={ + sAnim_GeneralFrame0, + sAnim_XATU_1, + sAnim_XATU_2, }; -const union AnimCmd *const gAnims_MAREEP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAREEP_1, +static const union AnimCmd *const sAnims_MAREEP[] ={ + sAnim_GeneralFrame0, + sAnim_MAREEP_1, }; -const union AnimCmd *const gAnims_FLAAFFY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLAAFFY_1, +static const union AnimCmd *const sAnims_FLAAFFY[] ={ + sAnim_GeneralFrame0, + sAnim_FLAAFFY_1, }; -const union AnimCmd *const gAnims_AMPHAROS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AMPHAROS_1, +static const union AnimCmd *const sAnims_AMPHAROS[] ={ + sAnim_GeneralFrame0, + sAnim_AMPHAROS_1, }; -const union AnimCmd *const gAnims_BELLOSSOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELLOSSOM_1, +static const union AnimCmd *const sAnims_BELLOSSOM[] ={ + sAnim_GeneralFrame0, + sAnim_BELLOSSOM_1, }; -const union AnimCmd *const gAnims_MARILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MARILL_1, +static const union AnimCmd *const sAnims_MARILL[] ={ + sAnim_GeneralFrame0, + sAnim_MARILL_1, }; -const union AnimCmd *const gAnims_AZUMARILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AZUMARILL_1, +static const union AnimCmd *const sAnims_AZUMARILL[] ={ + sAnim_GeneralFrame0, + sAnim_AZUMARILL_1, }; -const union AnimCmd *const gAnims_SUDOWOODO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUDOWOODO_1, +static const union AnimCmd *const sAnims_SUDOWOODO[] ={ + sAnim_GeneralFrame0, + sAnim_SUDOWOODO_1, }; -const union AnimCmd *const gAnims_POLITOED[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLITOED_1, +static const union AnimCmd *const sAnims_POLITOED[] ={ + sAnim_GeneralFrame0, + sAnim_POLITOED_1, }; -const union AnimCmd *const gAnims_HOPPIP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOPPIP_1, +static const union AnimCmd *const sAnims_HOPPIP[] ={ + sAnim_GeneralFrame0, + sAnim_HOPPIP_1, }; -const union AnimCmd *const gAnims_SKIPLOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKIPLOOM_1, +static const union AnimCmd *const sAnims_SKIPLOOM[] ={ + sAnim_GeneralFrame0, + sAnim_SKIPLOOM_1, }; -const union AnimCmd *const gAnims_JUMPLUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JUMPLUFF_1, +static const union AnimCmd *const sAnims_JUMPLUFF[] ={ + sAnim_GeneralFrame0, + sAnim_JUMPLUFF_1, }; -const union AnimCmd *const gAnims_AIPOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AIPOM_1, +static const union AnimCmd *const sAnims_AIPOM[] ={ + sAnim_GeneralFrame0, + sAnim_AIPOM_1, }; -const union AnimCmd *const gAnims_SUNKERN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUNKERN_1, +static const union AnimCmd *const sAnims_SUNKERN[] ={ + sAnim_GeneralFrame0, + sAnim_SUNKERN_1, }; -const union AnimCmd *const gAnims_SUNFLORA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUNFLORA_1, +static const union AnimCmd *const sAnims_SUNFLORA[] ={ + sAnim_GeneralFrame0, + sAnim_SUNFLORA_1, }; -const union AnimCmd *const gAnims_YANMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_YANMA_1, +static const union AnimCmd *const sAnims_YANMA[] ={ + sAnim_GeneralFrame0, + sAnim_YANMA_1, }; -const union AnimCmd *const gAnims_WOOPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WOOPER_1, +static const union AnimCmd *const sAnims_WOOPER[] ={ + sAnim_GeneralFrame0, + sAnim_WOOPER_1, }; -const union AnimCmd *const gAnims_QUAGSIRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QUAGSIRE_1, +static const union AnimCmd *const sAnims_QUAGSIRE[] ={ + sAnim_GeneralFrame0, + sAnim_QUAGSIRE_1, }; -const union AnimCmd *const gAnims_ESPEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ESPEON_1, +static const union AnimCmd *const sAnims_ESPEON[] ={ + sAnim_GeneralFrame0, + sAnim_ESPEON_1, }; -const union AnimCmd *const gAnims_UMBREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UMBREON_1, +static const union AnimCmd *const sAnims_UMBREON[] ={ + sAnim_GeneralFrame0, + sAnim_UMBREON_1, }; -const union AnimCmd *const gAnims_MURKROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MURKROW_1, +static const union AnimCmd *const sAnims_MURKROW[] ={ + sAnim_GeneralFrame0, + sAnim_MURKROW_1, }; -const union AnimCmd *const gAnims_SLOWKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWKING_1, +static const union AnimCmd *const sAnims_SLOWKING[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWKING_1, }; -const union AnimCmd *const gAnims_MISDREAVUS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MISDREAVUS_1, +static const union AnimCmd *const sAnims_MISDREAVUS[] ={ + sAnim_GeneralFrame0, + sAnim_MISDREAVUS_1, }; -const union AnimCmd *const gAnims_UNOWN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_1, +static const union AnimCmd *const sAnims_UNOWN[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_1, }; -const union AnimCmd *const gAnims_WOBBUFFET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WOBBUFFET_1, - gAnimCmd_WOBBUFFET_2, +static const union AnimCmd *const sAnims_WOBBUFFET[] ={ + sAnim_GeneralFrame0, + sAnim_WOBBUFFET_1, + sAnim_WOBBUFFET_2, }; -const union AnimCmd *const gAnims_GIRAFARIG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GIRAFARIG_1, - gAnimCmd_GIRAFARIG_2, +static const union AnimCmd *const sAnims_GIRAFARIG[] ={ + sAnim_GeneralFrame0, + sAnim_GIRAFARIG_1, + sAnim_GIRAFARIG_2, }; -const union AnimCmd *const gAnims_PINECO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PINECO_1, +static const union AnimCmd *const sAnims_PINECO[] ={ + sAnim_GeneralFrame0, + sAnim_PINECO_1, }; -const union AnimCmd *const gAnims_FORRETRESS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FORRETRESS_1, +static const union AnimCmd *const sAnims_FORRETRESS[] ={ + sAnim_GeneralFrame0, + sAnim_FORRETRESS_1, }; -const union AnimCmd *const gAnims_DUNSPARCE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUNSPARCE_1, +static const union AnimCmd *const sAnims_DUNSPARCE[] ={ + sAnim_GeneralFrame0, + sAnim_DUNSPARCE_1, }; -const union AnimCmd *const gAnims_GLIGAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLIGAR_1, +static const union AnimCmd *const sAnims_GLIGAR[] ={ + sAnim_GeneralFrame0, + sAnim_GLIGAR_1, }; -const union AnimCmd *const gAnims_STEELIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STEELIX_1, +static const union AnimCmd *const sAnims_STEELIX[] ={ + sAnim_GeneralFrame0, + sAnim_STEELIX_1, }; -const union AnimCmd *const gAnims_SNUBBULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNUBBULL_1, +static const union AnimCmd *const sAnims_SNUBBULL[] ={ + sAnim_GeneralFrame0, + sAnim_SNUBBULL_1, }; -const union AnimCmd *const gAnims_GRANBULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRANBULL_1, +static const union AnimCmd *const sAnims_GRANBULL[] ={ + sAnim_GeneralFrame0, + sAnim_GRANBULL_1, }; -const union AnimCmd *const gAnims_QWILFISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QWILFISH_1, +static const union AnimCmd *const sAnims_QWILFISH[] ={ + sAnim_GeneralFrame0, + sAnim_QWILFISH_1, }; -const union AnimCmd *const gAnims_SCIZOR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCIZOR_1, +static const union AnimCmd *const sAnims_SCIZOR[] ={ + sAnim_GeneralFrame0, + sAnim_SCIZOR_1, }; -const union AnimCmd *const gAnims_SHUCKLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHUCKLE_1, +static const union AnimCmd *const sAnims_SHUCKLE[] ={ + sAnim_GeneralFrame0, + sAnim_SHUCKLE_1, }; -const union AnimCmd *const gAnims_HERACROSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HERACROSS_1, - gAnimCmd_HERACROSS_2, +static const union AnimCmd *const sAnims_HERACROSS[] ={ + sAnim_GeneralFrame0, + sAnim_HERACROSS_1, + sAnim_HERACROSS_2, }; -const union AnimCmd *const gAnims_SNEASEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNEASEL_1, +static const union AnimCmd *const sAnims_SNEASEL[] ={ + sAnim_GeneralFrame0, + sAnim_SNEASEL_1, }; -const union AnimCmd *const gAnims_TEDDIURSA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TEDDIURSA_1, +static const union AnimCmd *const sAnims_TEDDIURSA[] ={ + sAnim_GeneralFrame0, + sAnim_TEDDIURSA_1, }; -const union AnimCmd *const gAnims_URSARING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_URSARING_1, +static const union AnimCmd *const sAnims_URSARING[] ={ + sAnim_GeneralFrame0, + sAnim_URSARING_1, }; -const union AnimCmd *const gAnims_SLUGMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLUGMA_1, - gAnimCmd_SLUGMA_2, +static const union AnimCmd *const sAnims_SLUGMA[] ={ + sAnim_GeneralFrame0, + sAnim_SLUGMA_1, + sAnim_SLUGMA_2, }; -const union AnimCmd *const gAnims_MAGCARGO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGCARGO_1, - gAnimCmd_MAGCARGO_2, +static const union AnimCmd *const sAnims_MAGCARGO[] ={ + sAnim_GeneralFrame0, + sAnim_MAGCARGO_1, + sAnim_MAGCARGO_2, }; -const union AnimCmd *const gAnims_SWINUB[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWINUB_1, +static const union AnimCmd *const sAnims_SWINUB[] ={ + sAnim_GeneralFrame0, + sAnim_SWINUB_1, }; -const union AnimCmd *const gAnims_PILOSWINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PILOSWINE_1, +static const union AnimCmd *const sAnims_PILOSWINE[] ={ + sAnim_GeneralFrame0, + sAnim_PILOSWINE_1, }; -const union AnimCmd *const gAnims_CORSOLA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CORSOLA_1, - gAnimCmd_CORSOLA_2, +static const union AnimCmd *const sAnims_CORSOLA[] ={ + sAnim_GeneralFrame0, + sAnim_CORSOLA_1, + sAnim_CORSOLA_2, }; -const union AnimCmd *const gAnims_REMORAID[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REMORAID_1, +static const union AnimCmd *const sAnims_REMORAID[] ={ + sAnim_GeneralFrame0, + sAnim_REMORAID_1, }; -const union AnimCmd *const gAnims_OCTILLERY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OCTILLERY_1, +static const union AnimCmd *const sAnims_OCTILLERY[] ={ + sAnim_GeneralFrame0, + sAnim_OCTILLERY_1, }; -const union AnimCmd *const gAnims_DELIBIRD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DELIBIRD_1, +static const union AnimCmd *const sAnims_DELIBIRD[] ={ + sAnim_GeneralFrame0, + sAnim_DELIBIRD_1, }; -const union AnimCmd *const gAnims_MANTINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANTINE_1, +static const union AnimCmd *const sAnims_MANTINE[] ={ + sAnim_GeneralFrame0, + sAnim_MANTINE_1, }; -const union AnimCmd *const gAnims_SKARMORY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKARMORY_1, - gAnimCmd_SKARMORY_2, +static const union AnimCmd *const sAnims_SKARMORY[] ={ + sAnim_GeneralFrame0, + sAnim_SKARMORY_1, + sAnim_SKARMORY_2, }; -const union AnimCmd *const gAnims_HOUNDOUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOUNDOUR_1, +static const union AnimCmd *const sAnims_HOUNDOUR[] ={ + sAnim_GeneralFrame0, + sAnim_HOUNDOUR_1, }; -const union AnimCmd *const gAnims_HOUNDOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOUNDOOM_1, +static const union AnimCmd *const sAnims_HOUNDOOM[] ={ + sAnim_GeneralFrame0, + sAnim_HOUNDOOM_1, }; -const union AnimCmd *const gAnims_KINGDRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KINGDRA_1, - gAnimCmd_KINGDRA_2, +static const union AnimCmd *const sAnims_KINGDRA[] ={ + sAnim_GeneralFrame0, + sAnim_KINGDRA_1, + sAnim_KINGDRA_2, }; -const union AnimCmd *const gAnims_PHANPY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PHANPY_1, - gAnimCmd_PHANPY_2, +static const union AnimCmd *const sAnims_PHANPY[] ={ + sAnim_GeneralFrame0, + sAnim_PHANPY_1, + sAnim_PHANPY_2, }; -const union AnimCmd *const gAnims_DONPHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DONPHAN_1, - gAnimCmd_DONPHAN_2, +static const union AnimCmd *const sAnims_DONPHAN[] ={ + sAnim_GeneralFrame0, + sAnim_DONPHAN_1, + sAnim_DONPHAN_2, }; -const union AnimCmd *const gAnims_PORYGON2[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PORYGON2_1, +static const union AnimCmd *const sAnims_PORYGON2[] ={ + sAnim_GeneralFrame0, + sAnim_PORYGON2_1, }; -const union AnimCmd *const gAnims_STANTLER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STANTLER_1, +static const union AnimCmd *const sAnims_STANTLER[] ={ + sAnim_GeneralFrame0, + sAnim_STANTLER_1, }; -const union AnimCmd *const gAnims_SMEARGLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SMEARGLE_1, +static const union AnimCmd *const sAnims_SMEARGLE[] ={ + sAnim_GeneralFrame0, + sAnim_SMEARGLE_1, }; -const union AnimCmd *const gAnims_TYROGUE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYROGUE_1, +static const union AnimCmd *const sAnims_TYROGUE[] ={ + sAnim_GeneralFrame0, + sAnim_TYROGUE_1, }; -const union AnimCmd *const gAnims_HITMONTOP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONTOP_1, +static const union AnimCmd *const sAnims_HITMONTOP[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONTOP_1, }; -const union AnimCmd *const gAnims_SMOOCHUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SMOOCHUM_1, +static const union AnimCmd *const sAnims_SMOOCHUM[] ={ + sAnim_GeneralFrame0, + sAnim_SMOOCHUM_1, }; -const union AnimCmd *const gAnims_ELEKID[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELEKID_1, +static const union AnimCmd *const sAnims_ELEKID[] ={ + sAnim_GeneralFrame0, + sAnim_ELEKID_1, }; -const union AnimCmd *const gAnims_MAGBY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGBY_1, +static const union AnimCmd *const sAnims_MAGBY[] ={ + sAnim_GeneralFrame0, + sAnim_MAGBY_1, }; -const union AnimCmd *const gAnims_MILTANK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MILTANK_1, +static const union AnimCmd *const sAnims_MILTANK[] ={ + sAnim_GeneralFrame0, + sAnim_MILTANK_1, }; -const union AnimCmd *const gAnims_BLISSEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLISSEY_1, +static const union AnimCmd *const sAnims_BLISSEY[] ={ + sAnim_GeneralFrame0, + sAnim_BLISSEY_1, }; -const union AnimCmd *const gAnims_RAIKOU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAIKOU_1, +static const union AnimCmd *const sAnims_RAIKOU[] ={ + sAnim_GeneralFrame0, + sAnim_RAIKOU_1, }; -const union AnimCmd *const gAnims_ENTEI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ENTEI_1, +static const union AnimCmd *const sAnims_ENTEI[] ={ + sAnim_GeneralFrame0, + sAnim_ENTEI_1, }; -const union AnimCmd *const gAnims_SUICUNE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUICUNE_1, +static const union AnimCmd *const sAnims_SUICUNE[] ={ + sAnim_GeneralFrame0, + sAnim_SUICUNE_1, }; -const union AnimCmd *const gAnims_LARVITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LARVITAR_1, +static const union AnimCmd *const sAnims_LARVITAR[] ={ + sAnim_GeneralFrame0, + sAnim_LARVITAR_1, }; -const union AnimCmd *const gAnims_PUPITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PUPITAR_1, +static const union AnimCmd *const sAnims_PUPITAR[] ={ + sAnim_GeneralFrame0, + sAnim_PUPITAR_1, }; -const union AnimCmd *const gAnims_TYRANITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYRANITAR_1, +static const union AnimCmd *const sAnims_TYRANITAR[] ={ + sAnim_GeneralFrame0, + sAnim_TYRANITAR_1, }; -const union AnimCmd *const gAnims_LUGIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUGIA_1, +static const union AnimCmd *const sAnims_LUGIA[] ={ + sAnim_GeneralFrame0, + sAnim_LUGIA_1, }; -const union AnimCmd *const gAnims_HO_OH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HO_OH_1, +static const union AnimCmd *const sAnims_HO_OH[] ={ + sAnim_GeneralFrame0, + sAnim_HO_OH_1, }; -const union AnimCmd *const gAnims_CELEBI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CELEBI_1, +static const union AnimCmd *const sAnims_CELEBI[] ={ + sAnim_GeneralFrame0, + sAnim_CELEBI_1, }; -const union AnimCmd *const gAnims_OLD_UNOWN_B[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OLD_UNOWN_B_1, +static const union AnimCmd *const sAnims_OLD_UNOWN_B[] ={ + sAnim_GeneralFrame0, + sAnim_OLD_UNOWN_B_1, }; -const union AnimCmd *const gAnims_TREECKO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TREECKO_1, +static const union AnimCmd *const sAnims_TREECKO[] ={ + sAnim_GeneralFrame0, + sAnim_TREECKO_1, }; -const union AnimCmd *const gAnims_GROVYLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROVYLE_1, +static const union AnimCmd *const sAnims_GROVYLE[] ={ + sAnim_GeneralFrame0, + sAnim_GROVYLE_1, }; -const union AnimCmd *const gAnims_SCEPTILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCEPTILE_1, +static const union AnimCmd *const sAnims_SCEPTILE[] ={ + sAnim_GeneralFrame0, + sAnim_SCEPTILE_1, }; -const union AnimCmd *const gAnims_TORCHIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TORCHIC_1, +static const union AnimCmd *const sAnims_TORCHIC[] ={ + sAnim_GeneralFrame0, + sAnim_TORCHIC_1, }; -const union AnimCmd *const gAnims_COMBUSKEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_COMBUSKEN_1, +static const union AnimCmd *const sAnims_COMBUSKEN[] ={ + sAnim_GeneralFrame0, + sAnim_COMBUSKEN_1, }; -const union AnimCmd *const gAnims_BLAZIKEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLAZIKEN_1, - gAnimCmd_BLAZIKEN_2, - gAnimCmd_BLAZIKEN_3, - gAnimCmd_BLAZIKEN_4, +static const union AnimCmd *const sAnims_BLAZIKEN[] ={ + sAnim_GeneralFrame0, + sAnim_BLAZIKEN_1, + sAnim_BLAZIKEN_2, + sAnim_BLAZIKEN_3, + sAnim_BLAZIKEN_4, }; -const union AnimCmd *const gAnims_MUDKIP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MUDKIP_1, +static const union AnimCmd *const sAnims_MUDKIP[] ={ + sAnim_GeneralFrame0, + sAnim_MUDKIP_1, }; -const union AnimCmd *const gAnims_MARSHTOMP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MARSHTOMP_1, +static const union AnimCmd *const sAnims_MARSHTOMP[] ={ + sAnim_GeneralFrame0, + sAnim_MARSHTOMP_1, }; -const union AnimCmd *const gAnims_SWAMPERT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWAMPERT_1, +static const union AnimCmd *const sAnims_SWAMPERT[] ={ + sAnim_GeneralFrame0, + sAnim_SWAMPERT_1, }; -const union AnimCmd *const gAnims_POOCHYENA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POOCHYENA_1, +static const union AnimCmd *const sAnims_POOCHYENA[] ={ + sAnim_GeneralFrame0, + sAnim_POOCHYENA_1, }; -const union AnimCmd *const gAnims_MIGHTYENA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MIGHTYENA_1, +static const union AnimCmd *const sAnims_MIGHTYENA[] ={ + sAnim_GeneralFrame0, + sAnim_MIGHTYENA_1, }; -const union AnimCmd *const gAnims_ZIGZAGOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZIGZAGOON_1, +static const union AnimCmd *const sAnims_ZIGZAGOON[] ={ + sAnim_GeneralFrame0, + sAnim_ZIGZAGOON_1, }; -const union AnimCmd *const gAnims_LINOONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LINOONE_1, +static const union AnimCmd *const sAnims_LINOONE[] ={ + sAnim_GeneralFrame0, + sAnim_LINOONE_1, }; -const union AnimCmd *const gAnims_WURMPLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WURMPLE_1, +static const union AnimCmd *const sAnims_WURMPLE[] ={ + sAnim_GeneralFrame0, + sAnim_WURMPLE_1, }; -const union AnimCmd *const gAnims_SILCOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SILCOON_1, - gAnimCmd_SILCOON_2, +static const union AnimCmd *const sAnims_SILCOON[] ={ + sAnim_GeneralFrame0, + sAnim_SILCOON_1, + sAnim_SILCOON_2, }; -const union AnimCmd *const gAnims_BEAUTIFLY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BEAUTIFLY_1, - gAnimCmd_BEAUTIFLY_2, +static const union AnimCmd *const sAnims_BEAUTIFLY[] ={ + sAnim_GeneralFrame0, + sAnim_BEAUTIFLY_1, + sAnim_BEAUTIFLY_2, }; -const union AnimCmd *const gAnims_CASCOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CASCOON_1, - gAnimCmd_CASCOON_2, +static const union AnimCmd *const sAnims_CASCOON[] ={ + sAnim_GeneralFrame0, + sAnim_CASCOON_1, + sAnim_CASCOON_2, }; -const union AnimCmd *const gAnims_DUSTOX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSTOX_1, - gAnimCmd_DUSTOX_2, +static const union AnimCmd *const sAnims_DUSTOX[] ={ + sAnim_GeneralFrame0, + sAnim_DUSTOX_1, + sAnim_DUSTOX_2, }; -const union AnimCmd *const gAnims_LOTAD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOTAD_1, +static const union AnimCmd *const sAnims_LOTAD[] ={ + sAnim_GeneralFrame0, + sAnim_LOTAD_1, }; -const union AnimCmd *const gAnims_LOMBRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOMBRE_1, +static const union AnimCmd *const sAnims_LOMBRE[] ={ + sAnim_GeneralFrame0, + sAnim_LOMBRE_1, }; -const union AnimCmd *const gAnims_LUDICOLO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUDICOLO_1, +static const union AnimCmd *const sAnims_LUDICOLO[] ={ + sAnim_GeneralFrame0, + sAnim_LUDICOLO_1, }; -const union AnimCmd *const gAnims_SEEDOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEEDOT_1, +static const union AnimCmd *const sAnims_SEEDOT[] ={ + sAnim_GeneralFrame0, + sAnim_SEEDOT_1, }; -const union AnimCmd *const gAnims_NUZLEAF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NUZLEAF_1, +static const union AnimCmd *const sAnims_NUZLEAF[] ={ + sAnim_GeneralFrame0, + sAnim_NUZLEAF_1, }; -const union AnimCmd *const gAnims_SHIFTRY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHIFTRY_1, +static const union AnimCmd *const sAnims_SHIFTRY[] ={ + sAnim_GeneralFrame0, + sAnim_SHIFTRY_1, }; -const union AnimCmd *const gAnims_NINCADA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINCADA_1, +static const union AnimCmd *const sAnims_NINCADA[] ={ + sAnim_GeneralFrame0, + sAnim_NINCADA_1, }; -const union AnimCmd *const gAnims_NINJASK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINJASK_1, +static const union AnimCmd *const sAnims_NINJASK[] ={ + sAnim_GeneralFrame0, + sAnim_NINJASK_1, }; -const union AnimCmd *const gAnims_SHEDINJA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHEDINJA_1, +static const union AnimCmd *const sAnims_SHEDINJA[] ={ + sAnim_GeneralFrame0, + sAnim_SHEDINJA_1, }; -const union AnimCmd *const gAnims_TAILLOW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TAILLOW_1, +static const union AnimCmd *const sAnims_TAILLOW[] ={ + sAnim_GeneralFrame0, + sAnim_TAILLOW_1, }; -const union AnimCmd *const gAnims_SWELLOW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWELLOW_1, +static const union AnimCmd *const sAnims_SWELLOW[] ={ + sAnim_GeneralFrame0, + sAnim_SWELLOW_1, }; -const union AnimCmd *const gAnims_SHROOMISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHROOMISH_1, +static const union AnimCmd *const sAnims_SHROOMISH[] ={ + sAnim_GeneralFrame0, + sAnim_SHROOMISH_1, }; -const union AnimCmd *const gAnims_BRELOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BRELOOM_1, +static const union AnimCmd *const sAnims_BRELOOM[] ={ + sAnim_GeneralFrame0, + sAnim_BRELOOM_1, }; -const union AnimCmd *const gAnims_SPINDA[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SPINDA[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gAnims_WINGULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WINGULL_1, +static const union AnimCmd *const sAnims_WINGULL[] ={ + sAnim_GeneralFrame0, + sAnim_WINGULL_1, }; -const union AnimCmd *const gAnims_PELIPPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PELIPPER_1, +static const union AnimCmd *const sAnims_PELIPPER[] ={ + sAnim_GeneralFrame0, + sAnim_PELIPPER_1, }; -const union AnimCmd *const gAnims_SURSKIT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SURSKIT_1, - gAnimCmd_SURSKIT_2, +static const union AnimCmd *const sAnims_SURSKIT[] ={ + sAnim_GeneralFrame0, + sAnim_SURSKIT_1, + sAnim_SURSKIT_2, }; -const union AnimCmd *const gAnims_MASQUERAIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MASQUERAIN_1, - gAnimCmd_MASQUERAIN_2, +static const union AnimCmd *const sAnims_MASQUERAIN[] ={ + sAnim_GeneralFrame0, + sAnim_MASQUERAIN_1, + sAnim_MASQUERAIN_2, }; -const union AnimCmd *const gAnims_WAILMER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WAILMER_1, +static const union AnimCmd *const sAnims_WAILMER[] ={ + sAnim_GeneralFrame0, + sAnim_WAILMER_1, }; -const union AnimCmd *const gAnims_WAILORD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WAILORD_1, +static const union AnimCmd *const sAnims_WAILORD[] ={ + sAnim_GeneralFrame0, + sAnim_WAILORD_1, }; -const union AnimCmd *const gAnims_SKITTY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKITTY_1, +static const union AnimCmd *const sAnims_SKITTY[] ={ + sAnim_GeneralFrame0, + sAnim_SKITTY_1, }; -const union AnimCmd *const gAnims_DELCATTY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DELCATTY_1, +static const union AnimCmd *const sAnims_DELCATTY[] ={ + sAnim_GeneralFrame0, + sAnim_DELCATTY_1, }; -const union AnimCmd *const gAnims_KECLEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KECLEON_1, +static const union AnimCmd *const sAnims_KECLEON[] ={ + sAnim_GeneralFrame0, + sAnim_KECLEON_1, }; -const union AnimCmd *const gAnims_BALTOY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BALTOY_1, +static const union AnimCmd *const sAnims_BALTOY[] ={ + sAnim_GeneralFrame0, + sAnim_BALTOY_1, }; -const union AnimCmd *const gAnims_CLAYDOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLAYDOL_1, +static const union AnimCmd *const sAnims_CLAYDOL[] ={ + sAnim_GeneralFrame0, + sAnim_CLAYDOL_1, }; -const union AnimCmd *const gAnims_NOSEPASS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NOSEPASS_1, +static const union AnimCmd *const sAnims_NOSEPASS[] ={ + sAnim_GeneralFrame0, + sAnim_NOSEPASS_1, }; -const union AnimCmd *const gAnims_TORKOAL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TORKOAL_1, +static const union AnimCmd *const sAnims_TORKOAL[] ={ + sAnim_GeneralFrame0, + sAnim_TORKOAL_1, }; -const union AnimCmd *const gAnims_SABLEYE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SABLEYE_1, +static const union AnimCmd *const sAnims_SABLEYE[] ={ + sAnim_GeneralFrame0, + sAnim_SABLEYE_1, }; -const union AnimCmd *const gAnims_BARBOACH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BARBOACH_1, +static const union AnimCmd *const sAnims_BARBOACH[] ={ + sAnim_GeneralFrame0, + sAnim_BARBOACH_1, }; -const union AnimCmd *const gAnims_WHISCASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WHISCASH_1, +static const union AnimCmd *const sAnims_WHISCASH[] ={ + sAnim_GeneralFrame0, + sAnim_WHISCASH_1, }; -const union AnimCmd *const gAnims_LUVDISC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUVDISC_1, +static const union AnimCmd *const sAnims_LUVDISC[] ={ + sAnim_GeneralFrame0, + sAnim_LUVDISC_1, }; -const union AnimCmd *const gAnims_CORPHISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CORPHISH_1, +static const union AnimCmd *const sAnims_CORPHISH[] ={ + sAnim_GeneralFrame0, + sAnim_CORPHISH_1, }; -const union AnimCmd *const gAnims_CRAWDAUNT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CRAWDAUNT_1, +static const union AnimCmd *const sAnims_CRAWDAUNT[] ={ + sAnim_GeneralFrame0, + sAnim_CRAWDAUNT_1, }; -const union AnimCmd *const gAnims_FEEBAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FEEBAS_1, +static const union AnimCmd *const sAnims_FEEBAS[] ={ + sAnim_GeneralFrame0, + sAnim_FEEBAS_1, }; -const union AnimCmd *const gAnims_MILOTIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MILOTIC_1, +static const union AnimCmd *const sAnims_MILOTIC[] ={ + sAnim_GeneralFrame0, + sAnim_MILOTIC_1, }; -const union AnimCmd *const gAnims_CARVANHA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CARVANHA_1, +static const union AnimCmd *const sAnims_CARVANHA[] ={ + sAnim_GeneralFrame0, + sAnim_CARVANHA_1, }; -const union AnimCmd *const gAnims_SHARPEDO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHARPEDO_1, +static const union AnimCmd *const sAnims_SHARPEDO[] ={ + sAnim_GeneralFrame0, + sAnim_SHARPEDO_1, }; -const union AnimCmd *const gAnims_TRAPINCH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TRAPINCH_1, +static const union AnimCmd *const sAnims_TRAPINCH[] ={ + sAnim_GeneralFrame0, + sAnim_TRAPINCH_1, }; -const union AnimCmd *const gAnims_VIBRAVA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VIBRAVA_1, +static const union AnimCmd *const sAnims_VIBRAVA[] ={ + sAnim_GeneralFrame0, + sAnim_VIBRAVA_1, }; -const union AnimCmd *const gAnims_FLYGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLYGON_1, +static const union AnimCmd *const sAnims_FLYGON[] ={ + sAnim_GeneralFrame0, + sAnim_FLYGON_1, }; -const union AnimCmd *const gAnims_MAKUHITA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAKUHITA_1, +static const union AnimCmd *const sAnims_MAKUHITA[] ={ + sAnim_GeneralFrame0, + sAnim_MAKUHITA_1, }; -const union AnimCmd *const gAnims_HARIYAMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HARIYAMA_1, +static const union AnimCmd *const sAnims_HARIYAMA[] ={ + sAnim_GeneralFrame0, + sAnim_HARIYAMA_1, }; -const union AnimCmd *const gAnims_ELECTRIKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTRIKE_1, +static const union AnimCmd *const sAnims_ELECTRIKE[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTRIKE_1, }; -const union AnimCmd *const gAnims_MANECTRIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANECTRIC_1, +static const union AnimCmd *const sAnims_MANECTRIC[] ={ + sAnim_GeneralFrame0, + sAnim_MANECTRIC_1, }; -const union AnimCmd *const gAnims_NUMEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NUMEL_1, +static const union AnimCmd *const sAnims_NUMEL[] ={ + sAnim_GeneralFrame0, + sAnim_NUMEL_1, }; -const union AnimCmd *const gAnims_CAMERUPT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CAMERUPT_1, +static const union AnimCmd *const sAnims_CAMERUPT[] ={ + sAnim_GeneralFrame0, + sAnim_CAMERUPT_1, }; -const union AnimCmd *const gAnims_SPHEAL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPHEAL_1, +static const union AnimCmd *const sAnims_SPHEAL[] ={ + sAnim_GeneralFrame0, + sAnim_SPHEAL_1, }; -const union AnimCmd *const gAnims_SEALEO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEALEO_1, +static const union AnimCmd *const sAnims_SEALEO[] ={ + sAnim_GeneralFrame0, + sAnim_SEALEO_1, }; -const union AnimCmd *const gAnims_WALREIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WALREIN_1, +static const union AnimCmd *const sAnims_WALREIN[] ={ + sAnim_GeneralFrame0, + sAnim_WALREIN_1, }; -const union AnimCmd *const gAnims_CACNEA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CACNEA_1, +static const union AnimCmd *const sAnims_CACNEA[] ={ + sAnim_GeneralFrame0, + sAnim_CACNEA_1, }; -const union AnimCmd *const gAnims_CACTURNE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CACTURNE_1, +static const union AnimCmd *const sAnims_CACTURNE[] ={ + sAnim_GeneralFrame0, + sAnim_CACTURNE_1, }; -const union AnimCmd *const gAnims_SNORUNT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNORUNT_1, +static const union AnimCmd *const sAnims_SNORUNT[] ={ + sAnim_GeneralFrame0, + sAnim_SNORUNT_1, }; -const union AnimCmd *const gAnims_GLALIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLALIE_1, +static const union AnimCmd *const sAnims_GLALIE[] ={ + sAnim_GeneralFrame0, + sAnim_GLALIE_1, }; -const union AnimCmd *const gAnims_LUNATONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUNATONE_1, - gAnimCmd_LUNATONE_2, +static const union AnimCmd *const sAnims_LUNATONE[] ={ + sAnim_GeneralFrame0, + sAnim_LUNATONE_1, + sAnim_LUNATONE_2, }; -const union AnimCmd *const gAnims_SOLROCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SOLROCK_1, - gAnimCmd_SOLROCK_2, +static const union AnimCmd *const sAnims_SOLROCK[] ={ + sAnim_GeneralFrame0, + sAnim_SOLROCK_1, + sAnim_SOLROCK_2, }; -const union AnimCmd *const gAnims_AZURILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AZURILL_1, +static const union AnimCmd *const sAnims_AZURILL[] ={ + sAnim_GeneralFrame0, + sAnim_AZURILL_1, }; -const union AnimCmd *const gAnims_SPOINK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPOINK_1, +static const union AnimCmd *const sAnims_SPOINK[] ={ + sAnim_GeneralFrame0, + sAnim_SPOINK_1, }; -const union AnimCmd *const gAnims_GRUMPIG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRUMPIG_1, +static const union AnimCmd *const sAnims_GRUMPIG[] ={ + sAnim_GeneralFrame0, + sAnim_GRUMPIG_1, }; -const union AnimCmd *const gAnims_PLUSLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PLUSLE_1, +static const union AnimCmd *const sAnims_PLUSLE[] ={ + sAnim_GeneralFrame0, + sAnim_PLUSLE_1, }; -const union AnimCmd *const gAnims_MINUN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MINUN_1, +static const union AnimCmd *const sAnims_MINUN[] ={ + sAnim_GeneralFrame0, + sAnim_MINUN_1, }; -const union AnimCmd *const gAnims_MAWILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAWILE_1, +static const union AnimCmd *const sAnims_MAWILE[] ={ + sAnim_GeneralFrame0, + sAnim_MAWILE_1, }; -const union AnimCmd *const gAnims_MEDITITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEDITITE_1, +static const union AnimCmd *const sAnims_MEDITITE[] ={ + sAnim_GeneralFrame0, + sAnim_MEDITITE_1, }; -const union AnimCmd *const gAnims_MEDICHAM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEDICHAM_1, +static const union AnimCmd *const sAnims_MEDICHAM[] ={ + sAnim_GeneralFrame0, + sAnim_MEDICHAM_1, }; -const union AnimCmd *const gAnims_SWABLU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWABLU_1, - gAnimCmd_SWABLU_2, +static const union AnimCmd *const sAnims_SWABLU[] ={ + sAnim_GeneralFrame0, + sAnim_SWABLU_1, + sAnim_SWABLU_2, }; -const union AnimCmd *const gAnims_ALTARIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ALTARIA_1, - gAnimCmd_ALTARIA_2, +static const union AnimCmd *const sAnims_ALTARIA[] ={ + sAnim_GeneralFrame0, + sAnim_ALTARIA_1, + sAnim_ALTARIA_2, }; -const union AnimCmd *const gAnims_WYNAUT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WYNAUT_1, +static const union AnimCmd *const sAnims_WYNAUT[] ={ + sAnim_GeneralFrame0, + sAnim_WYNAUT_1, }; -const union AnimCmd *const gAnims_DUSKULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSKULL_1, +static const union AnimCmd *const sAnims_DUSKULL[] ={ + sAnim_GeneralFrame0, + sAnim_DUSKULL_1, }; -const union AnimCmd *const gAnims_DUSCLOPS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSCLOPS_1, +static const union AnimCmd *const sAnims_DUSCLOPS[] ={ + sAnim_GeneralFrame0, + sAnim_DUSCLOPS_1, }; -const union AnimCmd *const gAnims_ROSELIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ROSELIA_1, +static const union AnimCmd *const sAnims_ROSELIA[] ={ + sAnim_GeneralFrame0, + sAnim_ROSELIA_1, }; -const union AnimCmd *const gAnims_SLAKOTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLAKOTH_1, +static const union AnimCmd *const sAnims_SLAKOTH[] ={ + sAnim_GeneralFrame0, + sAnim_SLAKOTH_1, }; -const union AnimCmd *const gAnims_VIGOROTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VIGOROTH_1, +static const union AnimCmd *const sAnims_VIGOROTH[] ={ + sAnim_GeneralFrame0, + sAnim_VIGOROTH_1, }; -const union AnimCmd *const gAnims_SLAKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLAKING_1, +static const union AnimCmd *const sAnims_SLAKING[] ={ + sAnim_GeneralFrame0, + sAnim_SLAKING_1, }; -const union AnimCmd *const gAnims_GULPIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GULPIN_1, +static const union AnimCmd *const sAnims_GULPIN[] ={ + sAnim_GeneralFrame0, + sAnim_GULPIN_1, }; -const union AnimCmd *const gAnims_SWALOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWALOT_1, +static const union AnimCmd *const sAnims_SWALOT[] ={ + sAnim_GeneralFrame0, + sAnim_SWALOT_1, }; -const union AnimCmd *const gAnims_TROPIUS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TROPIUS_1, +static const union AnimCmd *const sAnims_TROPIUS[] ={ + sAnim_GeneralFrame0, + sAnim_TROPIUS_1, }; -const union AnimCmd *const gAnims_WHISMUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WHISMUR_1, +static const union AnimCmd *const sAnims_WHISMUR[] ={ + sAnim_GeneralFrame0, + sAnim_WHISMUR_1, }; -const union AnimCmd *const gAnims_LOUDRED[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOUDRED_1, +static const union AnimCmd *const sAnims_LOUDRED[] ={ + sAnim_GeneralFrame0, + sAnim_LOUDRED_1, }; -const union AnimCmd *const gAnims_EXPLOUD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXPLOUD_1, +static const union AnimCmd *const sAnims_EXPLOUD[] ={ + sAnim_GeneralFrame0, + sAnim_EXPLOUD_1, }; -const union AnimCmd *const gAnims_CLAMPERL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLAMPERL_1, +static const union AnimCmd *const sAnims_CLAMPERL[] ={ + sAnim_GeneralFrame0, + sAnim_CLAMPERL_1, }; -const union AnimCmd *const gAnims_HUNTAIL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HUNTAIL_1, +static const union AnimCmd *const sAnims_HUNTAIL[] ={ + sAnim_GeneralFrame0, + sAnim_HUNTAIL_1, }; -const union AnimCmd *const gAnims_GOREBYSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOREBYSS_1, +static const union AnimCmd *const sAnims_GOREBYSS[] ={ + sAnim_GeneralFrame0, + sAnim_GOREBYSS_1, }; -const union AnimCmd *const gAnims_ABSOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ABSOL_1, +static const union AnimCmd *const sAnims_ABSOL[] ={ + sAnim_GeneralFrame0, + sAnim_ABSOL_1, }; -const union AnimCmd *const gAnims_SHUPPET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHUPPET_1, +static const union AnimCmd *const sAnims_SHUPPET[] ={ + sAnim_GeneralFrame0, + sAnim_SHUPPET_1, }; -const union AnimCmd *const gAnims_BANETTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BANETTE_1, +static const union AnimCmd *const sAnims_BANETTE[] ={ + sAnim_GeneralFrame0, + sAnim_BANETTE_1, }; -const union AnimCmd *const gAnims_SEVIPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEVIPER_1, +static const union AnimCmd *const sAnims_SEVIPER[] ={ + sAnim_GeneralFrame0, + sAnim_SEVIPER_1, }; -const union AnimCmd *const gAnims_ZANGOOSE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZANGOOSE_1, +static const union AnimCmd *const sAnims_ZANGOOSE[] ={ + sAnim_GeneralFrame0, + sAnim_ZANGOOSE_1, }; -const union AnimCmd *const gAnims_RELICANTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RELICANTH_1, +static const union AnimCmd *const sAnims_RELICANTH[] ={ + sAnim_GeneralFrame0, + sAnim_RELICANTH_1, }; -const union AnimCmd *const gAnims_ARON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARON_1, +static const union AnimCmd *const sAnims_ARON[] ={ + sAnim_GeneralFrame0, + sAnim_ARON_1, }; -const union AnimCmd *const gAnims_LAIRON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LAIRON_1, +static const union AnimCmd *const sAnims_LAIRON[] ={ + sAnim_GeneralFrame0, + sAnim_LAIRON_1, }; -const union AnimCmd *const gAnims_AGGRON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AGGRON_1, +static const union AnimCmd *const sAnims_AGGRON[] ={ + sAnim_GeneralFrame0, + sAnim_AGGRON_1, }; -const union AnimCmd *const gAnims_CASTFORM[] ={ - gAnimCmd_CASTFORM_0, - gAnimCmd_CASTFORM_1, - gAnimCmd_CASTFORM_2, - gAnimCmd_CASTFORM_3, +static const union AnimCmd *const sAnims_CASTFORM[] ={ + sAnim_CASTFORM_0, + sAnim_CASTFORM_1, + sAnim_CASTFORM_2, + sAnim_CASTFORM_3, }; -const union AnimCmd *const gAnims_VOLBEAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VOLBEAT_1, +static const union AnimCmd *const sAnims_VOLBEAT[] ={ + sAnim_GeneralFrame0, + sAnim_VOLBEAT_1, }; -const union AnimCmd *const gAnims_ILLUMISE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ILLUMISE_1, +static const union AnimCmd *const sAnims_ILLUMISE[] ={ + sAnim_GeneralFrame0, + sAnim_ILLUMISE_1, }; -const union AnimCmd *const gAnims_LILEEP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LILEEP_1, +static const union AnimCmd *const sAnims_LILEEP[] ={ + sAnim_GeneralFrame0, + sAnim_LILEEP_1, }; -const union AnimCmd *const gAnims_CRADILY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CRADILY_1, +static const union AnimCmd *const sAnims_CRADILY[] ={ + sAnim_GeneralFrame0, + sAnim_CRADILY_1, }; -const union AnimCmd *const gAnims_ANORITH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ANORITH_1, +static const union AnimCmd *const sAnims_ANORITH[] ={ + sAnim_GeneralFrame0, + sAnim_ANORITH_1, }; -const union AnimCmd *const gAnims_ARMALDO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARMALDO_1, +static const union AnimCmd *const sAnims_ARMALDO[] ={ + sAnim_GeneralFrame0, + sAnim_ARMALDO_1, }; -const union AnimCmd *const gAnims_RALTS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RALTS_1, +static const union AnimCmd *const sAnims_RALTS[] ={ + sAnim_GeneralFrame0, + sAnim_RALTS_1, }; -const union AnimCmd *const gAnims_KIRLIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KIRLIA_1, +static const union AnimCmd *const sAnims_KIRLIA[] ={ + sAnim_GeneralFrame0, + sAnim_KIRLIA_1, }; -const union AnimCmd *const gAnims_GARDEVOIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GARDEVOIR_1, +static const union AnimCmd *const sAnims_GARDEVOIR[] ={ + sAnim_GeneralFrame0, + sAnim_GARDEVOIR_1, }; -const union AnimCmd *const gAnims_BAGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BAGON_1, +static const union AnimCmd *const sAnims_BAGON[] ={ + sAnim_GeneralFrame0, + sAnim_BAGON_1, }; -const union AnimCmd *const gAnims_SHELGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHELGON_1, +static const union AnimCmd *const sAnims_SHELGON[] ={ + sAnim_GeneralFrame0, + sAnim_SHELGON_1, }; -const union AnimCmd *const gAnims_SALAMENCE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SALAMENCE_1, +static const union AnimCmd *const sAnims_SALAMENCE[] ={ + sAnim_GeneralFrame0, + sAnim_SALAMENCE_1, }; -const union AnimCmd *const gAnims_BELDUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELDUM_1, +static const union AnimCmd *const sAnims_BELDUM[] ={ + sAnim_GeneralFrame0, + sAnim_BELDUM_1, }; -const union AnimCmd *const gAnims_METANG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METANG_1, +static const union AnimCmd *const sAnims_METANG[] ={ + sAnim_GeneralFrame0, + sAnim_METANG_1, }; -const union AnimCmd *const gAnims_METAGROSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METAGROSS_1, +static const union AnimCmd *const sAnims_METAGROSS[] ={ + sAnim_GeneralFrame0, + sAnim_METAGROSS_1, }; -const union AnimCmd *const gAnims_REGIROCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGIROCK_1, - gAnimCmd_REGIROCK_2, +static const union AnimCmd *const sAnims_REGIROCK[] ={ + sAnim_GeneralFrame0, + sAnim_REGIROCK_1, + sAnim_REGIROCK_2, }; -const union AnimCmd *const gAnims_REGICE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGICE_1, +static const union AnimCmd *const sAnims_REGICE[] ={ + sAnim_GeneralFrame0, + sAnim_REGICE_1, }; -const union AnimCmd *const gAnims_REGISTEEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGISTEEL_1, - gAnimCmd_REGISTEEL_2, +static const union AnimCmd *const sAnims_REGISTEEL[] ={ + sAnim_GeneralFrame0, + sAnim_REGISTEEL_1, + sAnim_REGISTEEL_2, }; -const union AnimCmd *const gAnims_KYOGRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KYOGRE_1, - gAnimCmd_KYOGRE_2, +static const union AnimCmd *const sAnims_KYOGRE[] ={ + sAnim_GeneralFrame0, + sAnim_KYOGRE_1, + sAnim_KYOGRE_2, }; -const union AnimCmd *const gAnims_GROUDON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROUDON_1, - gAnimCmd_GROUDON_2, +static const union AnimCmd *const sAnims_GROUDON[] ={ + sAnim_GeneralFrame0, + sAnim_GROUDON_1, + sAnim_GROUDON_2, }; -const union AnimCmd *const gAnims_RAYQUAZA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAYQUAZA_1, - gAnimCmd_RAYQUAZA_2, +static const union AnimCmd *const sAnims_RAYQUAZA[] ={ + sAnim_GeneralFrame0, + sAnim_RAYQUAZA_1, + sAnim_RAYQUAZA_2, }; -const union AnimCmd *const gAnims_LATIAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LATIAS_1, - gAnimCmd_LATIAS_2, +static const union AnimCmd *const sAnims_LATIAS[] ={ + sAnim_GeneralFrame0, + sAnim_LATIAS_1, + sAnim_LATIAS_2, }; -const union AnimCmd *const gAnims_LATIOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LATIOS_1, - gAnimCmd_LATIOS_2, +static const union AnimCmd *const sAnims_LATIOS[] ={ + sAnim_GeneralFrame0, + sAnim_LATIOS_1, + sAnim_LATIOS_2, }; -const union AnimCmd *const gAnims_JIRACHI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JIRACHI_1, - gAnimCmd_JIRACHI_2, +static const union AnimCmd *const sAnims_JIRACHI[] ={ + sAnim_GeneralFrame0, + sAnim_JIRACHI_1, + sAnim_JIRACHI_2, }; -const union AnimCmd *const gAnims_DEOXYS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DEOXYS_1, - gAnimCmd_DEOXYS_2, +static const union AnimCmd *const sAnims_DEOXYS[] ={ + sAnim_GeneralFrame0, + sAnim_DEOXYS_1, + sAnim_DEOXYS_2, }; -const union AnimCmd *const gAnims_CHIMECHO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHIMECHO_1, +static const union AnimCmd *const sAnims_CHIMECHO[] ={ + sAnim_GeneralFrame0, + sAnim_CHIMECHO_1, }; -const union AnimCmd *const gAnims_EGG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EGG_1, +static const union AnimCmd *const sAnims_EGG[] ={ + sAnim_GeneralFrame0, + sAnim_EGG_1, }; -const union AnimCmd *const gAnims_UNOWN_B[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_B_1, +static const union AnimCmd *const sAnims_UNOWN_B[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_B_1, }; -const union AnimCmd *const gAnims_UNOWN_C[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_C_1, +static const union AnimCmd *const sAnims_UNOWN_C[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_C_1, }; -const union AnimCmd *const gAnims_UNOWN_D[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_D_1, +static const union AnimCmd *const sAnims_UNOWN_D[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_D_1, }; -const union AnimCmd *const gAnims_UNOWN_E[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_E_1, +static const union AnimCmd *const sAnims_UNOWN_E[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_E_1, }; -const union AnimCmd *const gAnims_UNOWN_F[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_F_1, +static const union AnimCmd *const sAnims_UNOWN_F[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_F_1, }; -const union AnimCmd *const gAnims_UNOWN_G[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_G_1, +static const union AnimCmd *const sAnims_UNOWN_G[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_G_1, }; -const union AnimCmd *const gAnims_UNOWN_H[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_H_1, +static const union AnimCmd *const sAnims_UNOWN_H[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_H_1, }; -const union AnimCmd *const gAnims_UNOWN_I[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_I_1, +static const union AnimCmd *const sAnims_UNOWN_I[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_I_1, }; -const union AnimCmd *const gAnims_UNOWN_J[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_J_1, +static const union AnimCmd *const sAnims_UNOWN_J[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_J_1, }; -const union AnimCmd *const gAnims_UNOWN_K[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_K_1, +static const union AnimCmd *const sAnims_UNOWN_K[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_K_1, }; -const union AnimCmd *const gAnims_UNOWN_L[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_L_1, +static const union AnimCmd *const sAnims_UNOWN_L[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_L_1, }; -const union AnimCmd *const gAnims_UNOWN_M[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_M_1, +static const union AnimCmd *const sAnims_UNOWN_M[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_M_1, }; -const union AnimCmd *const gAnims_UNOWN_N[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_N_1, +static const union AnimCmd *const sAnims_UNOWN_N[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_N_1, }; -const union AnimCmd *const gAnims_UNOWN_O[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_O_1, +static const union AnimCmd *const sAnims_UNOWN_O[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_O_1, }; -const union AnimCmd *const gAnims_UNOWN_P[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_P_1, +static const union AnimCmd *const sAnims_UNOWN_P[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_P_1, }; -const union AnimCmd *const gAnims_UNOWN_Q[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Q_1, +static const union AnimCmd *const sAnims_UNOWN_Q[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Q_1, }; -const union AnimCmd *const gAnims_UNOWN_R[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_R_1, +static const union AnimCmd *const sAnims_UNOWN_R[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_R_1, }; -const union AnimCmd *const gAnims_UNOWN_S[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_S_1, +static const union AnimCmd *const sAnims_UNOWN_S[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_S_1, }; -const union AnimCmd *const gAnims_UNOWN_T[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_T_1, +static const union AnimCmd *const sAnims_UNOWN_T[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_T_1, }; -const union AnimCmd *const gAnims_UNOWN_U[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_U_1, +static const union AnimCmd *const sAnims_UNOWN_U[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_U_1, }; -const union AnimCmd *const gAnims_UNOWN_V[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_V_1, +static const union AnimCmd *const sAnims_UNOWN_V[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_V_1, }; -const union AnimCmd *const gAnims_UNOWN_W[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_W_1, +static const union AnimCmd *const sAnims_UNOWN_W[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_W_1, }; -const union AnimCmd *const gAnims_UNOWN_X[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_X_1, +static const union AnimCmd *const sAnims_UNOWN_X[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_X_1, }; -const union AnimCmd *const gAnims_UNOWN_Y[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Y_1, +static const union AnimCmd *const sAnims_UNOWN_Y[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Y_1, }; -const union AnimCmd *const gAnims_UNOWN_Z[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Z_1, +static const union AnimCmd *const sAnims_UNOWN_Z[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Z_1, }; -const union AnimCmd *const gAnims_UNOWN_EMARK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_EMARK_1, +static const union AnimCmd *const sAnims_UNOWN_EMARK[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_EMARK_1, }; -const union AnimCmd *const gAnims_UNOWN_QMARK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_QMARK_1, +static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_QMARK_1, }; -#define ANIM_CMD(name) [SPECIES_##name] = gAnims_##name +#define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name #define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims -const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = +const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[] = { ANIM_CMD(NONE), ANIM_CMD(BULBASAUR), @@ -7204,30 +7203,30 @@ const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = ANIM_CMD(HO_OH), ANIM_CMD(CELEBI), ANIM_CMD(OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_C, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_D, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_E, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_F, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_G, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_H, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_I, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_J, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_K, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_L, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_M, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_N, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_O, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_P, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Q, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_R, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_S, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_T, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_U, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_V, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_W, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_X, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Y, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Z, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_C, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_D, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_E, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_F, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_G, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_H, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_I, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_J, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_K, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_L, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_M, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_N, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_O, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_P, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Q, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_R, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_S, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_T, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_U, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_V, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_W, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_X, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Y, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Z, sAnims_OLD_UNOWN_B), ANIM_CMD(TREECKO), ANIM_CMD(GROVYLE), ANIM_CMD(SCEPTILE), diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 95ec7a132c..19de9a7dd4 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -1,5 +1,3 @@ -#include "constants/species.h" - const struct MonCoords gMonFrontPicCoords[] = { [SPECIES_NONE] = diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 92e6bab2eb..82af860d30 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1,443 +1,443 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = { - [SPECIES_NONE] = {gMonFrontPic_CircledQuestionMark, 0x800, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonFrontPic_Bulbasaur, 0x800, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonFrontPic_Ivysaur, 0x800, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonFrontPic_Venusaur, 0x800, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonFrontPic_Charmander, 0x800, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonFrontPic_Charmeleon, 0x800, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonFrontPic_Charizard, 0x800, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonFrontPic_Squirtle, 0x800, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonFrontPic_Wartortle, 0x800, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonFrontPic_Blastoise, 0x800, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonFrontPic_Caterpie, 0x800, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonFrontPic_Metapod, 0x800, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonFrontPic_Butterfree, 0x800, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonFrontPic_Weedle, 0x800, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonFrontPic_Kakuna, 0x800, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonFrontPic_Beedrill, 0x800, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonFrontPic_Pidgey, 0x800, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonFrontPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonFrontPic_Pidgeot, 0x800, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonFrontPic_Rattata, 0x800, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonFrontPic_Raticate, 0x800, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonFrontPic_Spearow, 0x800, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonFrontPic_Fearow, 0x800, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonFrontPic_Ekans, 0x800, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonFrontPic_Arbok, 0x800, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonFrontPic_Pikachu, 0x800, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonFrontPic_Raichu, 0x800, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonFrontPic_Sandshrew, 0x800, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonFrontPic_Sandslash, 0x800, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonFrontPic_NidoranF, 0x800, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonFrontPic_Nidorina, 0x800, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonFrontPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonFrontPic_NidoranM, 0x800, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonFrontPic_Nidorino, 0x800, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonFrontPic_Nidoking, 0x800, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonFrontPic_Clefairy, 0x800, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonFrontPic_Clefable, 0x800, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonFrontPic_Vulpix, 0x800, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonFrontPic_Ninetales, 0x800, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonFrontPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonFrontPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonFrontPic_Zubat, 0x800, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonFrontPic_Golbat, 0x800, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonFrontPic_Oddish, 0x800, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonFrontPic_Gloom, 0x800, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonFrontPic_Vileplume, 0x800, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonFrontPic_Paras, 0x800, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonFrontPic_Parasect, 0x800, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonFrontPic_Venonat, 0x800, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonFrontPic_Venomoth, 0x800, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonFrontPic_Diglett, 0x800, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonFrontPic_Dugtrio, 0x800, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonFrontPic_Meowth, 0x800, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonFrontPic_Persian, 0x800, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonFrontPic_Psyduck, 0x800, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonFrontPic_Golduck, 0x800, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonFrontPic_Mankey, 0x800, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonFrontPic_Primeape, 0x800, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonFrontPic_Growlithe, 0x800, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonFrontPic_Arcanine, 0x800, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonFrontPic_Poliwag, 0x800, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonFrontPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonFrontPic_Poliwrath, 0x800, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonFrontPic_Abra, 0x800, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonFrontPic_Kadabra, 0x800, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonFrontPic_Alakazam, 0x800, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonFrontPic_Machop, 0x800, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonFrontPic_Machoke, 0x800, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonFrontPic_Machamp, 0x800, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonFrontPic_Bellsprout, 0x800, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonFrontPic_Weepinbell, 0x800, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonFrontPic_Victreebel, 0x800, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonFrontPic_Tentacool, 0x800, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonFrontPic_Tentacruel, 0x800, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonFrontPic_Geodude, 0x800, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonFrontPic_Graveler, 0x800, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonFrontPic_Golem, 0x800, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonFrontPic_Ponyta, 0x800, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonFrontPic_Rapidash, 0x800, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonFrontPic_Slowpoke, 0x800, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonFrontPic_Slowbro, 0x800, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonFrontPic_Magnemite, 0x800, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonFrontPic_Magneton, 0x800, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonFrontPic_Farfetchd, 0x800, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonFrontPic_Doduo, 0x800, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonFrontPic_Dodrio, 0x800, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonFrontPic_Seel, 0x800, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonFrontPic_Dewgong, 0x800, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonFrontPic_Grimer, 0x800, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonFrontPic_Muk, 0x800, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonFrontPic_Shellder, 0x800, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonFrontPic_Cloyster, 0x800, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonFrontPic_Gastly, 0x800, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonFrontPic_Haunter, 0x800, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonFrontPic_Gengar, 0x800, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonFrontPic_Onix, 0x800, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonFrontPic_Drowzee, 0x800, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonFrontPic_Hypno, 0x800, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonFrontPic_Krabby, 0x800, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonFrontPic_Kingler, 0x800, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonFrontPic_Voltorb, 0x800, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonFrontPic_Electrode, 0x800, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonFrontPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonFrontPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonFrontPic_Cubone, 0x800, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonFrontPic_Marowak, 0x800, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonFrontPic_Hitmonlee, 0x800, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonFrontPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonFrontPic_Lickitung, 0x800, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonFrontPic_Koffing, 0x800, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonFrontPic_Weezing, 0x800, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonFrontPic_Rhyhorn, 0x800, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonFrontPic_Rhydon, 0x800, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonFrontPic_Chansey, 0x800, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonFrontPic_Tangela, 0x800, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonFrontPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonFrontPic_Horsea, 0x800, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonFrontPic_Seadra, 0x800, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonFrontPic_Goldeen, 0x800, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonFrontPic_Seaking, 0x800, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonFrontPic_Staryu, 0x800, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonFrontPic_Starmie, 0x800, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonFrontPic_Mrmime, 0x800, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonFrontPic_Scyther, 0x800, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonFrontPic_Jynx, 0x800, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonFrontPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonFrontPic_Magmar, 0x800, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonFrontPic_Pinsir, 0x800, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonFrontPic_Tauros, 0x800, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonFrontPic_Magikarp, 0x800, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonFrontPic_Gyarados, 0x800, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonFrontPic_Lapras, 0x800, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonFrontPic_Ditto, 0x800, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonFrontPic_Eevee, 0x800, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonFrontPic_Vaporeon, 0x800, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonFrontPic_Jolteon, 0x800, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonFrontPic_Flareon, 0x800, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonFrontPic_Porygon, 0x800, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonFrontPic_Omanyte, 0x800, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonFrontPic_Omastar, 0x800, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonFrontPic_Kabuto, 0x800, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonFrontPic_Kabutops, 0x800, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonFrontPic_Aerodactyl, 0x800, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonFrontPic_Snorlax, 0x800, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonFrontPic_Articuno, 0x800, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonFrontPic_Zapdos, 0x800, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonFrontPic_Moltres, 0x800, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonFrontPic_Dratini, 0x800, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonFrontPic_Dragonair, 0x800, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonFrontPic_Dragonite, 0x800, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonFrontPic_Mewtwo, 0x800, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonFrontPic_Mew, 0x800, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonFrontPic_Chikorita, 0x800, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonFrontPic_Bayleef, 0x800, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonFrontPic_Meganium, 0x800, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonFrontPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonFrontPic_Quilava, 0x800, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonFrontPic_Typhlosion, 0x800, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonFrontPic_Totodile, 0x800, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonFrontPic_Croconaw, 0x800, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonFrontPic_Feraligatr, 0x800, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonFrontPic_Sentret, 0x800, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonFrontPic_Furret, 0x800, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonFrontPic_Hoothoot, 0x800, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonFrontPic_Noctowl, 0x800, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonFrontPic_Ledyba, 0x800, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonFrontPic_Ledian, 0x800, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonFrontPic_Spinarak, 0x800, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonFrontPic_Ariados, 0x800, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonFrontPic_Crobat, 0x800, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonFrontPic_Chinchou, 0x800, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonFrontPic_Lanturn, 0x800, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonFrontPic_Pichu, 0x800, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonFrontPic_Cleffa, 0x800, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonFrontPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonFrontPic_Togepi, 0x800, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonFrontPic_Togetic, 0x800, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonFrontPic_Natu, 0x800, SPECIES_NATU}, - [SPECIES_XATU] = {gMonFrontPic_Xatu, 0x800, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonFrontPic_Mareep, 0x800, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonFrontPic_Flaaffy, 0x800, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonFrontPic_Ampharos, 0x800, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonFrontPic_Bellossom, 0x800, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonFrontPic_Marill, 0x800, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonFrontPic_Azumarill, 0x800, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonFrontPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonFrontPic_Politoed, 0x800, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonFrontPic_Hoppip, 0x800, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonFrontPic_Skiploom, 0x800, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonFrontPic_Jumpluff, 0x800, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonFrontPic_Aipom, 0x800, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonFrontPic_Sunkern, 0x800, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonFrontPic_Sunflora, 0x800, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonFrontPic_Yanma, 0x800, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonFrontPic_Wooper, 0x800, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonFrontPic_Quagsire, 0x800, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonFrontPic_Espeon, 0x800, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonFrontPic_Umbreon, 0x800, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonFrontPic_Murkrow, 0x800, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonFrontPic_Slowking, 0x800, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonFrontPic_Misdreavus, 0x800, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonFrontPic_UnownA, 0x800, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonFrontPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonFrontPic_Girafarig, 0x800, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonFrontPic_Pineco, 0x800, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonFrontPic_Forretress, 0x800, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonFrontPic_Dunsparce, 0x800, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonFrontPic_Gligar, 0x800, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonFrontPic_Steelix, 0x800, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonFrontPic_Snubbull, 0x800, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonFrontPic_Granbull, 0x800, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonFrontPic_Qwilfish, 0x800, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonFrontPic_Scizor, 0x800, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonFrontPic_Shuckle, 0x800, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonFrontPic_Heracross, 0x800, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonFrontPic_Sneasel, 0x800, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonFrontPic_Teddiursa, 0x800, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonFrontPic_Ursaring, 0x800, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonFrontPic_Slugma, 0x800, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonFrontPic_Magcargo, 0x800, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonFrontPic_Swinub, 0x800, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonFrontPic_Piloswine, 0x800, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonFrontPic_Corsola, 0x800, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonFrontPic_Remoraid, 0x800, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonFrontPic_Octillery, 0x800, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonFrontPic_Delibird, 0x800, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonFrontPic_Mantine, 0x800, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonFrontPic_Skarmory, 0x800, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonFrontPic_Houndour, 0x800, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonFrontPic_Houndoom, 0x800, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonFrontPic_Kingdra, 0x800, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonFrontPic_Phanpy, 0x800, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonFrontPic_Donphan, 0x800, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonFrontPic_Porygon2, 0x800, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonFrontPic_Stantler, 0x800, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonFrontPic_Smeargle, 0x800, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonFrontPic_Tyrogue, 0x800, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonFrontPic_Hitmontop, 0x800, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonFrontPic_Smoochum, 0x800, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonFrontPic_Elekid, 0x800, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonFrontPic_Magby, 0x800, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonFrontPic_Miltank, 0x800, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonFrontPic_Blissey, 0x800, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonFrontPic_Raikou, 0x800, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonFrontPic_Entei, 0x800, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonFrontPic_Suicune, 0x800, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonFrontPic_Larvitar, 0x800, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonFrontPic_Pupitar, 0x800, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonFrontPic_Tyranitar, 0x800, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonFrontPic_Lugia, 0x800, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonFrontPic_HoOh, 0x800, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonFrontPic_Celebi, 0x800, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonFrontPic_Treecko, 0x800, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonFrontPic_Grovyle, 0x800, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonFrontPic_Sceptile, 0x800, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonFrontPic_Torchic, 0x800, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonFrontPic_Combusken, 0x800, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonFrontPic_Blaziken, 0x800, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonFrontPic_Mudkip, 0x800, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonFrontPic_Marshtomp, 0x800, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonFrontPic_Swampert, 0x800, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonFrontPic_Poochyena, 0x800, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonFrontPic_Mightyena, 0x800, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonFrontPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonFrontPic_Linoone, 0x800, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonFrontPic_Wurmple, 0x800, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonFrontPic_Silcoon, 0x800, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonFrontPic_Beautifly, 0x800, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonFrontPic_Cascoon, 0x800, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonFrontPic_Dustox, 0x800, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonFrontPic_Lotad, 0x800, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonFrontPic_Lombre, 0x800, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonFrontPic_Ludicolo, 0x800, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonFrontPic_Seedot, 0x800, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonFrontPic_Nuzleaf, 0x800, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonFrontPic_Shiftry, 0x800, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonFrontPic_Nincada, 0x800, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonFrontPic_Ninjask, 0x800, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonFrontPic_Shedinja, 0x800, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonFrontPic_Taillow, 0x800, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonFrontPic_Swellow, 0x800, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonFrontPic_Shroomish, 0x800, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonFrontPic_Breloom, 0x800, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonFrontPic_Spinda, 0x800, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonFrontPic_Wingull, 0x800, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonFrontPic_Pelipper, 0x800, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonFrontPic_Surskit, 0x800, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonFrontPic_Masquerain, 0x800, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonFrontPic_Wailmer, 0x800, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonFrontPic_Wailord, 0x800, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonFrontPic_Skitty, 0x800, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonFrontPic_Delcatty, 0x800, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonFrontPic_Kecleon, 0x800, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonFrontPic_Baltoy, 0x800, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonFrontPic_Claydol, 0x800, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonFrontPic_Nosepass, 0x800, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonFrontPic_Torkoal, 0x800, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonFrontPic_Sableye, 0x800, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonFrontPic_Barboach, 0x800, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonFrontPic_Whiscash, 0x800, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonFrontPic_Luvdisc, 0x800, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonFrontPic_Corphish, 0x800, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonFrontPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonFrontPic_Feebas, 0x800, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonFrontPic_Milotic, 0x800, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonFrontPic_Carvanha, 0x800, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonFrontPic_Sharpedo, 0x800, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonFrontPic_Trapinch, 0x800, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonFrontPic_Vibrava, 0x800, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonFrontPic_Flygon, 0x800, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonFrontPic_Makuhita, 0x800, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonFrontPic_Hariyama, 0x800, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonFrontPic_Electrike, 0x800, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonFrontPic_Manectric, 0x800, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonFrontPic_Numel, 0x800, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonFrontPic_Camerupt, 0x800, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonFrontPic_Spheal, 0x800, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonFrontPic_Sealeo, 0x800, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonFrontPic_Walrein, 0x800, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonFrontPic_Cacnea, 0x800, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonFrontPic_Cacturne, 0x800, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonFrontPic_Snorunt, 0x800, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonFrontPic_Glalie, 0x800, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonFrontPic_Lunatone, 0x800, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonFrontPic_Solrock, 0x800, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonFrontPic_Azurill, 0x800, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonFrontPic_Spoink, 0x800, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonFrontPic_Grumpig, 0x800, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonFrontPic_Plusle, 0x800, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonFrontPic_Minun, 0x800, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonFrontPic_Mawile, 0x800, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonFrontPic_Meditite, 0x800, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonFrontPic_Medicham, 0x800, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonFrontPic_Swablu, 0x800, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonFrontPic_Altaria, 0x800, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonFrontPic_Wynaut, 0x800, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonFrontPic_Duskull, 0x800, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonFrontPic_Dusclops, 0x800, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonFrontPic_Roselia, 0x800, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonFrontPic_Slakoth, 0x800, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonFrontPic_Vigoroth, 0x800, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonFrontPic_Slaking, 0x800, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonFrontPic_Gulpin, 0x800, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonFrontPic_Swalot, 0x800, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonFrontPic_Tropius, 0x800, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonFrontPic_Whismur, 0x800, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonFrontPic_Loudred, 0x800, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonFrontPic_Exploud, 0x800, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonFrontPic_Clamperl, 0x800, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonFrontPic_Huntail, 0x800, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonFrontPic_Gorebyss, 0x800, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonFrontPic_Absol, 0x800, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonFrontPic_Shuppet, 0x800, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonFrontPic_Banette, 0x800, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonFrontPic_Seviper, 0x800, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonFrontPic_Zangoose, 0x800, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonFrontPic_Relicanth, 0x800, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonFrontPic_Aron, 0x800, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonFrontPic_Lairon, 0x800, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonFrontPic_Aggron, 0x800, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonFrontPic_Castform, 0x800, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonFrontPic_Volbeat, 0x800, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonFrontPic_Illumise, 0x800, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonFrontPic_Lileep, 0x800, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonFrontPic_Cradily, 0x800, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonFrontPic_Anorith, 0x800, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonFrontPic_Armaldo, 0x800, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonFrontPic_Ralts, 0x800, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonFrontPic_Kirlia, 0x800, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonFrontPic_Gardevoir, 0x800, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonFrontPic_Bagon, 0x800, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonFrontPic_Shelgon, 0x800, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonFrontPic_Salamence, 0x800, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonFrontPic_Beldum, 0x800, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonFrontPic_Metang, 0x800, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonFrontPic_Metagross, 0x800, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonFrontPic_Regirock, 0x800, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonFrontPic_Regice, 0x800, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonFrontPic_Registeel, 0x800, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonFrontPic_Kyogre, 0x800, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonFrontPic_Groudon, 0x800, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonFrontPic_Rayquaza, 0x800, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonFrontPic_Latias, 0x800, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonFrontPic_Latios, 0x800, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonFrontPic_Jirachi, 0x800, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonFrontPic_Deoxys, 0x800, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonFrontPic_Chimecho, 0x800, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonFrontPic_Egg, 0x800, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonFrontPic_UnownB, 0x800, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonFrontPic_UnownC, 0x800, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonFrontPic_UnownD, 0x800, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonFrontPic_UnownE, 0x800, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonFrontPic_UnownF, 0x800, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonFrontPic_UnownG, 0x800, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonFrontPic_UnownH, 0x800, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonFrontPic_UnownI, 0x800, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonFrontPic_UnownJ, 0x800, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonFrontPic_UnownK, 0x800, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonFrontPic_UnownL, 0x800, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonFrontPic_UnownM, 0x800, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonFrontPic_UnownN, 0x800, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonFrontPic_UnownO, 0x800, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonFrontPic_UnownP, 0x800, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonFrontPic_UnownQ, 0x800, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonFrontPic_UnownR, 0x800, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonFrontPic_UnownS, 0x800, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonFrontPic_UnownT, 0x800, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonFrontPic_UnownU, 0x800, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonFrontPic_UnownV, 0x800, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonFrontPic_UnownW, 0x800, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonFrontPic_UnownX, 0x800, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonFrontPic_UnownY, 0x800, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonFrontPic_UnownZ, 0x800, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonFrontPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonFrontPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK}, + SPECIES_SPRITE(NONE, gMonFrontPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonFrontPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonFrontPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonFrontPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonFrontPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonFrontPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonFrontPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonFrontPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonFrontPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonFrontPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonFrontPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonFrontPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonFrontPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonFrontPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonFrontPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonFrontPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonFrontPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonFrontPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonFrontPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonFrontPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonFrontPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonFrontPic_Fearow), + SPECIES_SPRITE(EKANS, gMonFrontPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonFrontPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonFrontPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonFrontPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonFrontPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonFrontPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonFrontPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonFrontPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonFrontPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonFrontPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonFrontPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonFrontPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonFrontPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonFrontPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonFrontPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonFrontPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonFrontPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonFrontPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonFrontPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonFrontPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonFrontPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonFrontPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonFrontPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonFrontPic_Paras), + SPECIES_SPRITE(PARASECT, gMonFrontPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonFrontPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonFrontPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonFrontPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonFrontPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonFrontPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonFrontPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonFrontPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonFrontPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonFrontPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonFrontPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonFrontPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonFrontPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonFrontPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonFrontPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonFrontPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonFrontPic_Abra), + SPECIES_SPRITE(KADABRA, gMonFrontPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonFrontPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonFrontPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonFrontPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonFrontPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonFrontPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonFrontPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonFrontPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonFrontPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonFrontPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonFrontPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonFrontPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonFrontPic_Golem), + SPECIES_SPRITE(PONYTA, gMonFrontPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonFrontPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonFrontPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonFrontPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonFrontPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonFrontPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonFrontPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonFrontPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonFrontPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonFrontPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonFrontPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonFrontPic_Grimer), + SPECIES_SPRITE(MUK, gMonFrontPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonFrontPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonFrontPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonFrontPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonFrontPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonFrontPic_Gengar), + SPECIES_SPRITE(ONIX, gMonFrontPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonFrontPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonFrontPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonFrontPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonFrontPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonFrontPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonFrontPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonFrontPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonFrontPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonFrontPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonFrontPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonFrontPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonFrontPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonFrontPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonFrontPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonFrontPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonFrontPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonFrontPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonFrontPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonFrontPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonFrontPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonFrontPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonFrontPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonFrontPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonFrontPic_Seaking), + SPECIES_SPRITE(STARYU, gMonFrontPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonFrontPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonFrontPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonFrontPic_Scyther), + SPECIES_SPRITE(JYNX, gMonFrontPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonFrontPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonFrontPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonFrontPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonFrontPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonFrontPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonFrontPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonFrontPic_Lapras), + SPECIES_SPRITE(DITTO, gMonFrontPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonFrontPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonFrontPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonFrontPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonFrontPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonFrontPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonFrontPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonFrontPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonFrontPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonFrontPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonFrontPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonFrontPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonFrontPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonFrontPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonFrontPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonFrontPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonFrontPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonFrontPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonFrontPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonFrontPic_Mew), + SPECIES_SPRITE(CHIKORITA, gMonFrontPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonFrontPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonFrontPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonFrontPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonFrontPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonFrontPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonFrontPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonFrontPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonFrontPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonFrontPic_Sentret), + SPECIES_SPRITE(FURRET, gMonFrontPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonFrontPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonFrontPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonFrontPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonFrontPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonFrontPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonFrontPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonFrontPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonFrontPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonFrontPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonFrontPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonFrontPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonFrontPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonFrontPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonFrontPic_Togetic), + SPECIES_SPRITE(NATU, gMonFrontPic_Natu), + SPECIES_SPRITE(XATU, gMonFrontPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonFrontPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonFrontPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonFrontPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonFrontPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonFrontPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonFrontPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonFrontPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonFrontPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonFrontPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonFrontPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonFrontPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonFrontPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonFrontPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonFrontPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonFrontPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonFrontPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonFrontPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonFrontPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonFrontPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonFrontPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonFrontPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonFrontPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonFrontPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonFrontPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonFrontPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonFrontPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonFrontPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonFrontPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonFrontPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonFrontPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonFrontPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonFrontPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonFrontPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonFrontPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonFrontPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonFrontPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonFrontPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonFrontPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonFrontPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonFrontPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonFrontPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonFrontPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonFrontPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonFrontPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonFrontPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonFrontPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonFrontPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonFrontPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonFrontPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonFrontPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonFrontPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonFrontPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonFrontPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonFrontPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonFrontPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonFrontPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonFrontPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonFrontPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonFrontPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonFrontPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonFrontPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonFrontPic_Magby), + SPECIES_SPRITE(MILTANK, gMonFrontPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonFrontPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonFrontPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonFrontPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonFrontPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonFrontPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonFrontPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonFrontPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonFrontPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonFrontPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonFrontPic_Celebi), + SPECIES_SPRITE(OLD_UNOWN_B, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(TREECKO, gMonFrontPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonFrontPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonFrontPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonFrontPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonFrontPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonFrontPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonFrontPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonFrontPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonFrontPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonFrontPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonFrontPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonFrontPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonFrontPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonFrontPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonFrontPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonFrontPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonFrontPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonFrontPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonFrontPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonFrontPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonFrontPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonFrontPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonFrontPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonFrontPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonFrontPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonFrontPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonFrontPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonFrontPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonFrontPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonFrontPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonFrontPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonFrontPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonFrontPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonFrontPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonFrontPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonFrontPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonFrontPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonFrontPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonFrontPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonFrontPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonFrontPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonFrontPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonFrontPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonFrontPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonFrontPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonFrontPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonFrontPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonFrontPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonFrontPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonFrontPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonFrontPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonFrontPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonFrontPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonFrontPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonFrontPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonFrontPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonFrontPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonFrontPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonFrontPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonFrontPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonFrontPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonFrontPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonFrontPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonFrontPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonFrontPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonFrontPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonFrontPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonFrontPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonFrontPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonFrontPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonFrontPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonFrontPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonFrontPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonFrontPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonFrontPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonFrontPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonFrontPic_Plusle), + SPECIES_SPRITE(MINUN, gMonFrontPic_Minun), + SPECIES_SPRITE(MAWILE, gMonFrontPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonFrontPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonFrontPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonFrontPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonFrontPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonFrontPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonFrontPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonFrontPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonFrontPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonFrontPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonFrontPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonFrontPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonFrontPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonFrontPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonFrontPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonFrontPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonFrontPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonFrontPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonFrontPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonFrontPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonFrontPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonFrontPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonFrontPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonFrontPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonFrontPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonFrontPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonFrontPic_Relicanth), + SPECIES_SPRITE(ARON, gMonFrontPic_Aron), + SPECIES_SPRITE(LAIRON, gMonFrontPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonFrontPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonFrontPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonFrontPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonFrontPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonFrontPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonFrontPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonFrontPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonFrontPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonFrontPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonFrontPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonFrontPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonFrontPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonFrontPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonFrontPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonFrontPic_Beldum), + SPECIES_SPRITE(METANG, gMonFrontPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonFrontPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonFrontPic_Regirock), + SPECIES_SPRITE(REGICE, gMonFrontPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonFrontPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonFrontPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonFrontPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonFrontPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonFrontPic_Latias), + SPECIES_SPRITE(LATIOS, gMonFrontPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho), + SPECIES_SPRITE(EGG, gMonFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonFrontPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonFrontPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonFrontPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonFrontPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonFrontPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonFrontPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonFrontPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonFrontPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonFrontPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonFrontPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonFrontPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonFrontPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonFrontPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonFrontPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonFrontPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonFrontPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonFrontPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonFrontPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonFrontPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonFrontPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonFrontPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonFrontPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonFrontPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonFrontPic_UnownQuestionMark), }; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 3b60d85677..35edcc76c1 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1,443 +1,443 @@ const struct CompressedSpritePalette gMonPaletteTable[] = { - [SPECIES_NONE] = {gMonPalette_CircledQuestionMark, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonPalette_Bulbasaur, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonPalette_Ivysaur, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonPalette_Venusaur, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonPalette_Charmander, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonPalette_Charmeleon, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonPalette_Charizard, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonPalette_Squirtle, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonPalette_Wartortle, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonPalette_Blastoise, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonPalette_Caterpie, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonPalette_Metapod, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonPalette_Butterfree, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonPalette_Weedle, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonPalette_Kakuna, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonPalette_Beedrill, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonPalette_Pidgey, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonPalette_Pidgeotto, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonPalette_Pidgeot, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonPalette_Rattata, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonPalette_Raticate, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonPalette_Spearow, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonPalette_Fearow, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonPalette_Ekans, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonPalette_Arbok, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonPalette_Pikachu, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonPalette_Raichu, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonPalette_Sandshrew, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonPalette_Sandslash, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonPalette_NidoranF, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonPalette_Nidorina, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonPalette_Nidoqueen, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonPalette_NidoranM, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonPalette_Nidorino, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonPalette_Nidoking, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonPalette_Clefairy, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonPalette_Clefable, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonPalette_Vulpix, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonPalette_Ninetales, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonPalette_Jigglypuff, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonPalette_Wigglytuff, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonPalette_Zubat, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonPalette_Golbat, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonPalette_Oddish, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonPalette_Gloom, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonPalette_Vileplume, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonPalette_Paras, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonPalette_Parasect, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonPalette_Venonat, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonPalette_Venomoth, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonPalette_Diglett, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonPalette_Dugtrio, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonPalette_Meowth, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonPalette_Persian, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonPalette_Psyduck, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonPalette_Golduck, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonPalette_Mankey, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonPalette_Primeape, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonPalette_Growlithe, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonPalette_Arcanine, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonPalette_Poliwag, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonPalette_Poliwhirl, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonPalette_Poliwrath, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonPalette_Abra, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonPalette_Kadabra, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonPalette_Alakazam, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonPalette_Machop, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonPalette_Machoke, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonPalette_Machamp, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonPalette_Bellsprout, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonPalette_Weepinbell, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonPalette_Victreebel, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonPalette_Tentacool, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonPalette_Tentacruel, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonPalette_Geodude, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonPalette_Graveler, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonPalette_Golem, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonPalette_Ponyta, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonPalette_Rapidash, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonPalette_Slowpoke, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonPalette_Slowbro, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonPalette_Magnemite, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonPalette_Magneton, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonPalette_Farfetchd, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonPalette_Doduo, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonPalette_Dodrio, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonPalette_Seel, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonPalette_Dewgong, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonPalette_Grimer, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonPalette_Muk, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonPalette_Shellder, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonPalette_Cloyster, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonPalette_Gastly, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonPalette_Haunter, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonPalette_Gengar, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonPalette_Onix, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonPalette_Drowzee, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonPalette_Hypno, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonPalette_Krabby, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonPalette_Kingler, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonPalette_Voltorb, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonPalette_Electrode, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonPalette_Exeggcute, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonPalette_Exeggutor, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonPalette_Cubone, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonPalette_Marowak, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonPalette_Hitmonlee, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonPalette_Hitmonchan, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonPalette_Lickitung, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonPalette_Koffing, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonPalette_Weezing, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonPalette_Rhyhorn, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonPalette_Rhydon, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonPalette_Chansey, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonPalette_Tangela, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonPalette_Kangaskhan, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonPalette_Horsea, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonPalette_Seadra, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonPalette_Goldeen, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonPalette_Seaking, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonPalette_Staryu, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonPalette_Starmie, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonPalette_Mrmime, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonPalette_Scyther, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonPalette_Jynx, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonPalette_Electabuzz, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonPalette_Magmar, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonPalette_Pinsir, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonPalette_Tauros, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonPalette_Magikarp, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonPalette_Gyarados, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonPalette_Lapras, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonPalette_Ditto, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonPalette_Eevee, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonPalette_Vaporeon, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonPalette_Jolteon, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonPalette_Flareon, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonPalette_Porygon, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonPalette_Omanyte, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonPalette_Omastar, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonPalette_Kabuto, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonPalette_Kabutops, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonPalette_Aerodactyl, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonPalette_Snorlax, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonPalette_Articuno, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonPalette_Zapdos, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonPalette_Moltres, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonPalette_Dratini, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonPalette_Dragonair, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonPalette_Dragonite, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonPalette_Mewtwo, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonPalette_Mew, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonPalette_Chikorita, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonPalette_Bayleef, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonPalette_Meganium, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonPalette_Cyndaquil, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonPalette_Quilava, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonPalette_Typhlosion, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonPalette_Totodile, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonPalette_Croconaw, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonPalette_Feraligatr, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonPalette_Sentret, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonPalette_Furret, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonPalette_Hoothoot, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonPalette_Noctowl, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonPalette_Ledyba, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonPalette_Ledian, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonPalette_Spinarak, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonPalette_Ariados, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonPalette_Crobat, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonPalette_Chinchou, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonPalette_Lanturn, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonPalette_Pichu, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonPalette_Cleffa, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonPalette_Igglybuff, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonPalette_Togepi, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonPalette_Togetic, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonPalette_Natu, SPECIES_NATU}, - [SPECIES_XATU] = {gMonPalette_Xatu, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonPalette_Mareep, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonPalette_Flaaffy, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonPalette_Ampharos, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonPalette_Bellossom, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonPalette_Marill, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonPalette_Azumarill, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonPalette_Sudowoodo, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonPalette_Politoed, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonPalette_Hoppip, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonPalette_Skiploom, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonPalette_Jumpluff, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonPalette_Aipom, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonPalette_Sunkern, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonPalette_Sunflora, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonPalette_Yanma, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonPalette_Wooper, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonPalette_Quagsire, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonPalette_Espeon, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonPalette_Umbreon, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonPalette_Murkrow, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonPalette_Slowking, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonPalette_Misdreavus, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonPalette_Unown, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonPalette_Wobbuffet, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonPalette_Girafarig, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonPalette_Pineco, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonPalette_Forretress, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonPalette_Dunsparce, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonPalette_Gligar, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonPalette_Steelix, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonPalette_Snubbull, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonPalette_Granbull, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonPalette_Qwilfish, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonPalette_Scizor, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonPalette_Shuckle, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonPalette_Heracross, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonPalette_Sneasel, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonPalette_Teddiursa, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonPalette_Ursaring, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonPalette_Slugma, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonPalette_Magcargo, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonPalette_Swinub, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonPalette_Piloswine, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonPalette_Corsola, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonPalette_Remoraid, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonPalette_Octillery, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonPalette_Delibird, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonPalette_Mantine, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonPalette_Skarmory, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonPalette_Houndour, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonPalette_Houndoom, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonPalette_Kingdra, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonPalette_Phanpy, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonPalette_Donphan, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonPalette_Porygon2, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonPalette_Stantler, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonPalette_Smeargle, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonPalette_Tyrogue, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonPalette_Hitmontop, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonPalette_Smoochum, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonPalette_Elekid, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonPalette_Magby, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonPalette_Miltank, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonPalette_Blissey, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonPalette_Raikou, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonPalette_Entei, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonPalette_Suicune, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonPalette_Larvitar, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonPalette_Pupitar, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonPalette_Tyranitar, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonPalette_Lugia, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonPalette_HoOh, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonPalette_Celebi, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonPalette_Treecko, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonPalette_Grovyle, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonPalette_Sceptile, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonPalette_Torchic, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonPalette_Combusken, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonPalette_Blaziken, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonPalette_Mudkip, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonPalette_Marshtomp, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonPalette_Swampert, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonPalette_Poochyena, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonPalette_Mightyena, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonPalette_Zigzagoon, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonPalette_Linoone, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonPalette_Wurmple, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonPalette_Silcoon, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonPalette_Beautifly, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonPalette_Cascoon, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonPalette_Dustox, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonPalette_Lotad, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonPalette_Lombre, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonPalette_Ludicolo, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonPalette_Seedot, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonPalette_Nuzleaf, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonPalette_Shiftry, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonPalette_Nincada, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonPalette_Ninjask, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonPalette_Shedinja, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonPalette_Taillow, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonPalette_Swellow, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonPalette_Shroomish, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonPalette_Breloom, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonPalette_Spinda, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonPalette_Wingull, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonPalette_Pelipper, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonPalette_Surskit, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonPalette_Masquerain, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonPalette_Wailmer, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonPalette_Wailord, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonPalette_Skitty, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonPalette_Delcatty, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonPalette_Kecleon, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonPalette_Baltoy, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonPalette_Claydol, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonPalette_Nosepass, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonPalette_Torkoal, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonPalette_Sableye, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonPalette_Barboach, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonPalette_Whiscash, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonPalette_Luvdisc, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonPalette_Corphish, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonPalette_Crawdaunt, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonPalette_Feebas, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonPalette_Milotic, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonPalette_Carvanha, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonPalette_Sharpedo, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonPalette_Trapinch, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonPalette_Vibrava, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonPalette_Flygon, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonPalette_Makuhita, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonPalette_Hariyama, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonPalette_Electrike, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonPalette_Manectric, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonPalette_Numel, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonPalette_Camerupt, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonPalette_Spheal, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonPalette_Sealeo, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonPalette_Walrein, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonPalette_Cacnea, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonPalette_Cacturne, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonPalette_Snorunt, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonPalette_Glalie, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonPalette_Lunatone, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonPalette_Solrock, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonPalette_Azurill, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonPalette_Spoink, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonPalette_Grumpig, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonPalette_Plusle, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonPalette_Minun, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonPalette_Mawile, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonPalette_Meditite, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonPalette_Medicham, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonPalette_Swablu, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonPalette_Altaria, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonPalette_Wynaut, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonPalette_Duskull, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonPalette_Dusclops, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonPalette_Roselia, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonPalette_Slakoth, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonPalette_Vigoroth, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonPalette_Slaking, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonPalette_Gulpin, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonPalette_Swalot, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonPalette_Tropius, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonPalette_Whismur, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonPalette_Loudred, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonPalette_Exploud, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonPalette_Clamperl, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonPalette_Huntail, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonPalette_Gorebyss, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonPalette_Absol, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonPalette_Shuppet, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonPalette_Banette, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonPalette_Seviper, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonPalette_Zangoose, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonPalette_Relicanth, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonPalette_Aron, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonPalette_Lairon, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonPalette_Aggron, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonPalette_Castform, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonPalette_Volbeat, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonPalette_Illumise, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonPalette_Lileep, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonPalette_Cradily, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonPalette_Anorith, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonPalette_Armaldo, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonPalette_Ralts, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonPalette_Kirlia, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonPalette_Gardevoir, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonPalette_Bagon, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonPalette_Shelgon, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonPalette_Salamence, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonPalette_Beldum, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonPalette_Metang, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonPalette_Metagross, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonPalette_Regirock, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonPalette_Regice, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonPalette_Registeel, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonPalette_Kyogre, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonPalette_Groudon, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonPalette_Rayquaza, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonPalette_Latias, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonPalette_Latios, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonPalette_Jirachi, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonPalette_Deoxys, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonPalette_Chimecho, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonPalette_Unown, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonPalette_Unown, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonPalette_Unown, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonPalette_Unown, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonPalette_Unown, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonPalette_Unown, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonPalette_Unown, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonPalette_Unown, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonPalette_Unown, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonPalette_Unown, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonPalette_Unown, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonPalette_Unown, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonPalette_Unown, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonPalette_Unown, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonPalette_Unown, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonPalette_Unown, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonPalette_Unown, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonPalette_Unown, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonPalette_Unown, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonPalette_Unown, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonPalette_Unown, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonPalette_Unown, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonPalette_Unown, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonPalette_Unown, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonPalette_Unown, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonPalette_Unown, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonPalette_Unown, SPECIES_UNOWN_QMARK}, + SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark), + SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur), + SPECIES_PAL(IVYSAUR, gMonPalette_Ivysaur), + SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur), + SPECIES_PAL(CHARMANDER, gMonPalette_Charmander), + SPECIES_PAL(CHARMELEON, gMonPalette_Charmeleon), + SPECIES_PAL(CHARIZARD, gMonPalette_Charizard), + SPECIES_PAL(SQUIRTLE, gMonPalette_Squirtle), + SPECIES_PAL(WARTORTLE, gMonPalette_Wartortle), + SPECIES_PAL(BLASTOISE, gMonPalette_Blastoise), + SPECIES_PAL(CATERPIE, gMonPalette_Caterpie), + SPECIES_PAL(METAPOD, gMonPalette_Metapod), + SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree), + SPECIES_PAL(WEEDLE, gMonPalette_Weedle), + SPECIES_PAL(KAKUNA, gMonPalette_Kakuna), + SPECIES_PAL(BEEDRILL, gMonPalette_Beedrill), + SPECIES_PAL(PIDGEY, gMonPalette_Pidgey), + SPECIES_PAL(PIDGEOTTO, gMonPalette_Pidgeotto), + SPECIES_PAL(PIDGEOT, gMonPalette_Pidgeot), + SPECIES_PAL(RATTATA, gMonPalette_Rattata), + SPECIES_PAL(RATICATE, gMonPalette_Raticate), + SPECIES_PAL(SPEAROW, gMonPalette_Spearow), + SPECIES_PAL(FEAROW, gMonPalette_Fearow), + SPECIES_PAL(EKANS, gMonPalette_Ekans), + SPECIES_PAL(ARBOK, gMonPalette_Arbok), + SPECIES_PAL(PIKACHU, gMonPalette_Pikachu), + SPECIES_PAL(RAICHU, gMonPalette_Raichu), + SPECIES_PAL(SANDSHREW, gMonPalette_Sandshrew), + SPECIES_PAL(SANDSLASH, gMonPalette_Sandslash), + SPECIES_PAL(NIDORAN_F, gMonPalette_NidoranF), + SPECIES_PAL(NIDORINA, gMonPalette_Nidorina), + SPECIES_PAL(NIDOQUEEN, gMonPalette_Nidoqueen), + SPECIES_PAL(NIDORAN_M, gMonPalette_NidoranM), + SPECIES_PAL(NIDORINO, gMonPalette_Nidorino), + SPECIES_PAL(NIDOKING, gMonPalette_Nidoking), + SPECIES_PAL(CLEFAIRY, gMonPalette_Clefairy), + SPECIES_PAL(CLEFABLE, gMonPalette_Clefable), + SPECIES_PAL(VULPIX, gMonPalette_Vulpix), + SPECIES_PAL(NINETALES, gMonPalette_Ninetales), + SPECIES_PAL(JIGGLYPUFF, gMonPalette_Jigglypuff), + SPECIES_PAL(WIGGLYTUFF, gMonPalette_Wigglytuff), + SPECIES_PAL(ZUBAT, gMonPalette_Zubat), + SPECIES_PAL(GOLBAT, gMonPalette_Golbat), + SPECIES_PAL(ODDISH, gMonPalette_Oddish), + SPECIES_PAL(GLOOM, gMonPalette_Gloom), + SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume), + SPECIES_PAL(PARAS, gMonPalette_Paras), + SPECIES_PAL(PARASECT, gMonPalette_Parasect), + SPECIES_PAL(VENONAT, gMonPalette_Venonat), + SPECIES_PAL(VENOMOTH, gMonPalette_Venomoth), + SPECIES_PAL(DIGLETT, gMonPalette_Diglett), + SPECIES_PAL(DUGTRIO, gMonPalette_Dugtrio), + SPECIES_PAL(MEOWTH, gMonPalette_Meowth), + SPECIES_PAL(PERSIAN, gMonPalette_Persian), + SPECIES_PAL(PSYDUCK, gMonPalette_Psyduck), + SPECIES_PAL(GOLDUCK, gMonPalette_Golduck), + SPECIES_PAL(MANKEY, gMonPalette_Mankey), + SPECIES_PAL(PRIMEAPE, gMonPalette_Primeape), + SPECIES_PAL(GROWLITHE, gMonPalette_Growlithe), + SPECIES_PAL(ARCANINE, gMonPalette_Arcanine), + SPECIES_PAL(POLIWAG, gMonPalette_Poliwag), + SPECIES_PAL(POLIWHIRL, gMonPalette_Poliwhirl), + SPECIES_PAL(POLIWRATH, gMonPalette_Poliwrath), + SPECIES_PAL(ABRA, gMonPalette_Abra), + SPECIES_PAL(KADABRA, gMonPalette_Kadabra), + SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam), + SPECIES_PAL(MACHOP, gMonPalette_Machop), + SPECIES_PAL(MACHOKE, gMonPalette_Machoke), + SPECIES_PAL(MACHAMP, gMonPalette_Machamp), + SPECIES_PAL(BELLSPROUT, gMonPalette_Bellsprout), + SPECIES_PAL(WEEPINBELL, gMonPalette_Weepinbell), + SPECIES_PAL(VICTREEBEL, gMonPalette_Victreebel), + SPECIES_PAL(TENTACOOL, gMonPalette_Tentacool), + SPECIES_PAL(TENTACRUEL, gMonPalette_Tentacruel), + SPECIES_PAL(GEODUDE, gMonPalette_Geodude), + SPECIES_PAL(GRAVELER, gMonPalette_Graveler), + SPECIES_PAL(GOLEM, gMonPalette_Golem), + SPECIES_PAL(PONYTA, gMonPalette_Ponyta), + SPECIES_PAL(RAPIDASH, gMonPalette_Rapidash), + SPECIES_PAL(SLOWPOKE, gMonPalette_Slowpoke), + SPECIES_PAL(SLOWBRO, gMonPalette_Slowbro), + SPECIES_PAL(MAGNEMITE, gMonPalette_Magnemite), + SPECIES_PAL(MAGNETON, gMonPalette_Magneton), + SPECIES_PAL(FARFETCHD, gMonPalette_Farfetchd), + SPECIES_PAL(DODUO, gMonPalette_Doduo), + SPECIES_PAL(DODRIO, gMonPalette_Dodrio), + SPECIES_PAL(SEEL, gMonPalette_Seel), + SPECIES_PAL(DEWGONG, gMonPalette_Dewgong), + SPECIES_PAL(GRIMER, gMonPalette_Grimer), + SPECIES_PAL(MUK, gMonPalette_Muk), + SPECIES_PAL(SHELLDER, gMonPalette_Shellder), + SPECIES_PAL(CLOYSTER, gMonPalette_Cloyster), + SPECIES_PAL(GASTLY, gMonPalette_Gastly), + SPECIES_PAL(HAUNTER, gMonPalette_Haunter), + SPECIES_PAL(GENGAR, gMonPalette_Gengar), + SPECIES_PAL(ONIX, gMonPalette_Onix), + SPECIES_PAL(DROWZEE, gMonPalette_Drowzee), + SPECIES_PAL(HYPNO, gMonPalette_Hypno), + SPECIES_PAL(KRABBY, gMonPalette_Krabby), + SPECIES_PAL(KINGLER, gMonPalette_Kingler), + SPECIES_PAL(VOLTORB, gMonPalette_Voltorb), + SPECIES_PAL(ELECTRODE, gMonPalette_Electrode), + SPECIES_PAL(EXEGGCUTE, gMonPalette_Exeggcute), + SPECIES_PAL(EXEGGUTOR, gMonPalette_Exeggutor), + SPECIES_PAL(CUBONE, gMonPalette_Cubone), + SPECIES_PAL(MAROWAK, gMonPalette_Marowak), + SPECIES_PAL(HITMONLEE, gMonPalette_Hitmonlee), + SPECIES_PAL(HITMONCHAN, gMonPalette_Hitmonchan), + SPECIES_PAL(LICKITUNG, gMonPalette_Lickitung), + SPECIES_PAL(KOFFING, gMonPalette_Koffing), + SPECIES_PAL(WEEZING, gMonPalette_Weezing), + SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn), + SPECIES_PAL(RHYDON, gMonPalette_Rhydon), + SPECIES_PAL(CHANSEY, gMonPalette_Chansey), + SPECIES_PAL(TANGELA, gMonPalette_Tangela), + SPECIES_PAL(KANGASKHAN, gMonPalette_Kangaskhan), + SPECIES_PAL(HORSEA, gMonPalette_Horsea), + SPECIES_PAL(SEADRA, gMonPalette_Seadra), + SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen), + SPECIES_PAL(SEAKING, gMonPalette_Seaking), + SPECIES_PAL(STARYU, gMonPalette_Staryu), + SPECIES_PAL(STARMIE, gMonPalette_Starmie), + SPECIES_PAL(MR_MIME, gMonPalette_Mrmime), + SPECIES_PAL(SCYTHER, gMonPalette_Scyther), + SPECIES_PAL(JYNX, gMonPalette_Jynx), + SPECIES_PAL(ELECTABUZZ, gMonPalette_Electabuzz), + SPECIES_PAL(MAGMAR, gMonPalette_Magmar), + SPECIES_PAL(PINSIR, gMonPalette_Pinsir), + SPECIES_PAL(TAUROS, gMonPalette_Tauros), + SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp), + SPECIES_PAL(GYARADOS, gMonPalette_Gyarados), + SPECIES_PAL(LAPRAS, gMonPalette_Lapras), + SPECIES_PAL(DITTO, gMonPalette_Ditto), + SPECIES_PAL(EEVEE, gMonPalette_Eevee), + SPECIES_PAL(VAPOREON, gMonPalette_Vaporeon), + SPECIES_PAL(JOLTEON, gMonPalette_Jolteon), + SPECIES_PAL(FLAREON, gMonPalette_Flareon), + SPECIES_PAL(PORYGON, gMonPalette_Porygon), + SPECIES_PAL(OMANYTE, gMonPalette_Omanyte), + SPECIES_PAL(OMASTAR, gMonPalette_Omastar), + SPECIES_PAL(KABUTO, gMonPalette_Kabuto), + SPECIES_PAL(KABUTOPS, gMonPalette_Kabutops), + SPECIES_PAL(AERODACTYL, gMonPalette_Aerodactyl), + SPECIES_PAL(SNORLAX, gMonPalette_Snorlax), + SPECIES_PAL(ARTICUNO, gMonPalette_Articuno), + SPECIES_PAL(ZAPDOS, gMonPalette_Zapdos), + SPECIES_PAL(MOLTRES, gMonPalette_Moltres), + SPECIES_PAL(DRATINI, gMonPalette_Dratini), + SPECIES_PAL(DRAGONAIR, gMonPalette_Dragonair), + SPECIES_PAL(DRAGONITE, gMonPalette_Dragonite), + SPECIES_PAL(MEWTWO, gMonPalette_Mewtwo), + SPECIES_PAL(MEW, gMonPalette_Mew), + SPECIES_PAL(CHIKORITA, gMonPalette_Chikorita), + SPECIES_PAL(BAYLEEF, gMonPalette_Bayleef), + SPECIES_PAL(MEGANIUM, gMonPalette_Meganium), + SPECIES_PAL(CYNDAQUIL, gMonPalette_Cyndaquil), + SPECIES_PAL(QUILAVA, gMonPalette_Quilava), + SPECIES_PAL(TYPHLOSION, gMonPalette_Typhlosion), + SPECIES_PAL(TOTODILE, gMonPalette_Totodile), + SPECIES_PAL(CROCONAW, gMonPalette_Croconaw), + SPECIES_PAL(FERALIGATR, gMonPalette_Feraligatr), + SPECIES_PAL(SENTRET, gMonPalette_Sentret), + SPECIES_PAL(FURRET, gMonPalette_Furret), + SPECIES_PAL(HOOTHOOT, gMonPalette_Hoothoot), + SPECIES_PAL(NOCTOWL, gMonPalette_Noctowl), + SPECIES_PAL(LEDYBA, gMonPalette_Ledyba), + SPECIES_PAL(LEDIAN, gMonPalette_Ledian), + SPECIES_PAL(SPINARAK, gMonPalette_Spinarak), + SPECIES_PAL(ARIADOS, gMonPalette_Ariados), + SPECIES_PAL(CROBAT, gMonPalette_Crobat), + SPECIES_PAL(CHINCHOU, gMonPalette_Chinchou), + SPECIES_PAL(LANTURN, gMonPalette_Lanturn), + SPECIES_PAL(PICHU, gMonPalette_Pichu), + SPECIES_PAL(CLEFFA, gMonPalette_Cleffa), + SPECIES_PAL(IGGLYBUFF, gMonPalette_Igglybuff), + SPECIES_PAL(TOGEPI, gMonPalette_Togepi), + SPECIES_PAL(TOGETIC, gMonPalette_Togetic), + SPECIES_PAL(NATU, gMonPalette_Natu), + SPECIES_PAL(XATU, gMonPalette_Xatu), + SPECIES_PAL(MAREEP, gMonPalette_Mareep), + SPECIES_PAL(FLAAFFY, gMonPalette_Flaaffy), + SPECIES_PAL(AMPHAROS, gMonPalette_Ampharos), + SPECIES_PAL(BELLOSSOM, gMonPalette_Bellossom), + SPECIES_PAL(MARILL, gMonPalette_Marill), + SPECIES_PAL(AZUMARILL, gMonPalette_Azumarill), + SPECIES_PAL(SUDOWOODO, gMonPalette_Sudowoodo), + SPECIES_PAL(POLITOED, gMonPalette_Politoed), + SPECIES_PAL(HOPPIP, gMonPalette_Hoppip), + SPECIES_PAL(SKIPLOOM, gMonPalette_Skiploom), + SPECIES_PAL(JUMPLUFF, gMonPalette_Jumpluff), + SPECIES_PAL(AIPOM, gMonPalette_Aipom), + SPECIES_PAL(SUNKERN, gMonPalette_Sunkern), + SPECIES_PAL(SUNFLORA, gMonPalette_Sunflora), + SPECIES_PAL(YANMA, gMonPalette_Yanma), + SPECIES_PAL(WOOPER, gMonPalette_Wooper), + SPECIES_PAL(QUAGSIRE, gMonPalette_Quagsire), + SPECIES_PAL(ESPEON, gMonPalette_Espeon), + SPECIES_PAL(UMBREON, gMonPalette_Umbreon), + SPECIES_PAL(MURKROW, gMonPalette_Murkrow), + SPECIES_PAL(SLOWKING, gMonPalette_Slowking), + SPECIES_PAL(MISDREAVUS, gMonPalette_Misdreavus), + SPECIES_PAL(UNOWN, gMonPalette_Unown), + SPECIES_PAL(WOBBUFFET, gMonPalette_Wobbuffet), + SPECIES_PAL(GIRAFARIG, gMonPalette_Girafarig), + SPECIES_PAL(PINECO, gMonPalette_Pineco), + SPECIES_PAL(FORRETRESS, gMonPalette_Forretress), + SPECIES_PAL(DUNSPARCE, gMonPalette_Dunsparce), + SPECIES_PAL(GLIGAR, gMonPalette_Gligar), + SPECIES_PAL(STEELIX, gMonPalette_Steelix), + SPECIES_PAL(SNUBBULL, gMonPalette_Snubbull), + SPECIES_PAL(GRANBULL, gMonPalette_Granbull), + SPECIES_PAL(QWILFISH, gMonPalette_Qwilfish), + SPECIES_PAL(SCIZOR, gMonPalette_Scizor), + SPECIES_PAL(SHUCKLE, gMonPalette_Shuckle), + SPECIES_PAL(HERACROSS, gMonPalette_Heracross), + SPECIES_PAL(SNEASEL, gMonPalette_Sneasel), + SPECIES_PAL(TEDDIURSA, gMonPalette_Teddiursa), + SPECIES_PAL(URSARING, gMonPalette_Ursaring), + SPECIES_PAL(SLUGMA, gMonPalette_Slugma), + SPECIES_PAL(MAGCARGO, gMonPalette_Magcargo), + SPECIES_PAL(SWINUB, gMonPalette_Swinub), + SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine), + SPECIES_PAL(CORSOLA, gMonPalette_Corsola), + SPECIES_PAL(REMORAID, gMonPalette_Remoraid), + SPECIES_PAL(OCTILLERY, gMonPalette_Octillery), + SPECIES_PAL(DELIBIRD, gMonPalette_Delibird), + SPECIES_PAL(MANTINE, gMonPalette_Mantine), + SPECIES_PAL(SKARMORY, gMonPalette_Skarmory), + SPECIES_PAL(HOUNDOUR, gMonPalette_Houndour), + SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom), + SPECIES_PAL(KINGDRA, gMonPalette_Kingdra), + SPECIES_PAL(PHANPY, gMonPalette_Phanpy), + SPECIES_PAL(DONPHAN, gMonPalette_Donphan), + SPECIES_PAL(PORYGON2, gMonPalette_Porygon2), + SPECIES_PAL(STANTLER, gMonPalette_Stantler), + SPECIES_PAL(SMEARGLE, gMonPalette_Smeargle), + SPECIES_PAL(TYROGUE, gMonPalette_Tyrogue), + SPECIES_PAL(HITMONTOP, gMonPalette_Hitmontop), + SPECIES_PAL(SMOOCHUM, gMonPalette_Smoochum), + SPECIES_PAL(ELEKID, gMonPalette_Elekid), + SPECIES_PAL(MAGBY, gMonPalette_Magby), + SPECIES_PAL(MILTANK, gMonPalette_Miltank), + SPECIES_PAL(BLISSEY, gMonPalette_Blissey), + SPECIES_PAL(RAIKOU, gMonPalette_Raikou), + SPECIES_PAL(ENTEI, gMonPalette_Entei), + SPECIES_PAL(SUICUNE, gMonPalette_Suicune), + SPECIES_PAL(LARVITAR, gMonPalette_Larvitar), + SPECIES_PAL(PUPITAR, gMonPalette_Pupitar), + SPECIES_PAL(TYRANITAR, gMonPalette_Tyranitar), + SPECIES_PAL(LUGIA, gMonPalette_Lugia), + SPECIES_PAL(HO_OH, gMonPalette_HoOh), + SPECIES_PAL(CELEBI, gMonPalette_Celebi), + SPECIES_PAL(OLD_UNOWN_B, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_C, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_D, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_E, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_F, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_G, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_H, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_I, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_J, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_K, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_L, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_M, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_N, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_O, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_P, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Q, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_R, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_S, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_T, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_U, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_V, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_W, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_X, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Y, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Z, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(TREECKO, gMonPalette_Treecko), + SPECIES_PAL(GROVYLE, gMonPalette_Grovyle), + SPECIES_PAL(SCEPTILE, gMonPalette_Sceptile), + SPECIES_PAL(TORCHIC, gMonPalette_Torchic), + SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken), + SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken), + SPECIES_PAL(MUDKIP, gMonPalette_Mudkip), + SPECIES_PAL(MARSHTOMP, gMonPalette_Marshtomp), + SPECIES_PAL(SWAMPERT, gMonPalette_Swampert), + SPECIES_PAL(POOCHYENA, gMonPalette_Poochyena), + SPECIES_PAL(MIGHTYENA, gMonPalette_Mightyena), + SPECIES_PAL(ZIGZAGOON, gMonPalette_Zigzagoon), + SPECIES_PAL(LINOONE, gMonPalette_Linoone), + SPECIES_PAL(WURMPLE, gMonPalette_Wurmple), + SPECIES_PAL(SILCOON, gMonPalette_Silcoon), + SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly), + SPECIES_PAL(CASCOON, gMonPalette_Cascoon), + SPECIES_PAL(DUSTOX, gMonPalette_Dustox), + SPECIES_PAL(LOTAD, gMonPalette_Lotad), + SPECIES_PAL(LOMBRE, gMonPalette_Lombre), + SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo), + SPECIES_PAL(SEEDOT, gMonPalette_Seedot), + SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf), + SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry), + SPECIES_PAL(NINCADA, gMonPalette_Nincada), + SPECIES_PAL(NINJASK, gMonPalette_Ninjask), + SPECIES_PAL(SHEDINJA, gMonPalette_Shedinja), + SPECIES_PAL(TAILLOW, gMonPalette_Taillow), + SPECIES_PAL(SWELLOW, gMonPalette_Swellow), + SPECIES_PAL(SHROOMISH, gMonPalette_Shroomish), + SPECIES_PAL(BRELOOM, gMonPalette_Breloom), + SPECIES_PAL(SPINDA, gMonPalette_Spinda), + SPECIES_PAL(WINGULL, gMonPalette_Wingull), + SPECIES_PAL(PELIPPER, gMonPalette_Pelipper), + SPECIES_PAL(SURSKIT, gMonPalette_Surskit), + SPECIES_PAL(MASQUERAIN, gMonPalette_Masquerain), + SPECIES_PAL(WAILMER, gMonPalette_Wailmer), + SPECIES_PAL(WAILORD, gMonPalette_Wailord), + SPECIES_PAL(SKITTY, gMonPalette_Skitty), + SPECIES_PAL(DELCATTY, gMonPalette_Delcatty), + SPECIES_PAL(KECLEON, gMonPalette_Kecleon), + SPECIES_PAL(BALTOY, gMonPalette_Baltoy), + SPECIES_PAL(CLAYDOL, gMonPalette_Claydol), + SPECIES_PAL(NOSEPASS, gMonPalette_Nosepass), + SPECIES_PAL(TORKOAL, gMonPalette_Torkoal), + SPECIES_PAL(SABLEYE, gMonPalette_Sableye), + SPECIES_PAL(BARBOACH, gMonPalette_Barboach), + SPECIES_PAL(WHISCASH, gMonPalette_Whiscash), + SPECIES_PAL(LUVDISC, gMonPalette_Luvdisc), + SPECIES_PAL(CORPHISH, gMonPalette_Corphish), + SPECIES_PAL(CRAWDAUNT, gMonPalette_Crawdaunt), + SPECIES_PAL(FEEBAS, gMonPalette_Feebas), + SPECIES_PAL(MILOTIC, gMonPalette_Milotic), + SPECIES_PAL(CARVANHA, gMonPalette_Carvanha), + SPECIES_PAL(SHARPEDO, gMonPalette_Sharpedo), + SPECIES_PAL(TRAPINCH, gMonPalette_Trapinch), + SPECIES_PAL(VIBRAVA, gMonPalette_Vibrava), + SPECIES_PAL(FLYGON, gMonPalette_Flygon), + SPECIES_PAL(MAKUHITA, gMonPalette_Makuhita), + SPECIES_PAL(HARIYAMA, gMonPalette_Hariyama), + SPECIES_PAL(ELECTRIKE, gMonPalette_Electrike), + SPECIES_PAL(MANECTRIC, gMonPalette_Manectric), + SPECIES_PAL(NUMEL, gMonPalette_Numel), + SPECIES_PAL(CAMERUPT, gMonPalette_Camerupt), + SPECIES_PAL(SPHEAL, gMonPalette_Spheal), + SPECIES_PAL(SEALEO, gMonPalette_Sealeo), + SPECIES_PAL(WALREIN, gMonPalette_Walrein), + SPECIES_PAL(CACNEA, gMonPalette_Cacnea), + SPECIES_PAL(CACTURNE, gMonPalette_Cacturne), + SPECIES_PAL(SNORUNT, gMonPalette_Snorunt), + SPECIES_PAL(GLALIE, gMonPalette_Glalie), + SPECIES_PAL(LUNATONE, gMonPalette_Lunatone), + SPECIES_PAL(SOLROCK, gMonPalette_Solrock), + SPECIES_PAL(AZURILL, gMonPalette_Azurill), + SPECIES_PAL(SPOINK, gMonPalette_Spoink), + SPECIES_PAL(GRUMPIG, gMonPalette_Grumpig), + SPECIES_PAL(PLUSLE, gMonPalette_Plusle), + SPECIES_PAL(MINUN, gMonPalette_Minun), + SPECIES_PAL(MAWILE, gMonPalette_Mawile), + SPECIES_PAL(MEDITITE, gMonPalette_Meditite), + SPECIES_PAL(MEDICHAM, gMonPalette_Medicham), + SPECIES_PAL(SWABLU, gMonPalette_Swablu), + SPECIES_PAL(ALTARIA, gMonPalette_Altaria), + SPECIES_PAL(WYNAUT, gMonPalette_Wynaut), + SPECIES_PAL(DUSKULL, gMonPalette_Duskull), + SPECIES_PAL(DUSCLOPS, gMonPalette_Dusclops), + SPECIES_PAL(ROSELIA, gMonPalette_Roselia), + SPECIES_PAL(SLAKOTH, gMonPalette_Slakoth), + SPECIES_PAL(VIGOROTH, gMonPalette_Vigoroth), + SPECIES_PAL(SLAKING, gMonPalette_Slaking), + SPECIES_PAL(GULPIN, gMonPalette_Gulpin), + SPECIES_PAL(SWALOT, gMonPalette_Swalot), + SPECIES_PAL(TROPIUS, gMonPalette_Tropius), + SPECIES_PAL(WHISMUR, gMonPalette_Whismur), + SPECIES_PAL(LOUDRED, gMonPalette_Loudred), + SPECIES_PAL(EXPLOUD, gMonPalette_Exploud), + SPECIES_PAL(CLAMPERL, gMonPalette_Clamperl), + SPECIES_PAL(HUNTAIL, gMonPalette_Huntail), + SPECIES_PAL(GOREBYSS, gMonPalette_Gorebyss), + SPECIES_PAL(ABSOL, gMonPalette_Absol), + SPECIES_PAL(SHUPPET, gMonPalette_Shuppet), + SPECIES_PAL(BANETTE, gMonPalette_Banette), + SPECIES_PAL(SEVIPER, gMonPalette_Seviper), + SPECIES_PAL(ZANGOOSE, gMonPalette_Zangoose), + SPECIES_PAL(RELICANTH, gMonPalette_Relicanth), + SPECIES_PAL(ARON, gMonPalette_Aron), + SPECIES_PAL(LAIRON, gMonPalette_Lairon), + SPECIES_PAL(AGGRON, gMonPalette_Aggron), + SPECIES_PAL(CASTFORM, gMonPalette_Castform), + SPECIES_PAL(VOLBEAT, gMonPalette_Volbeat), + SPECIES_PAL(ILLUMISE, gMonPalette_Illumise), + SPECIES_PAL(LILEEP, gMonPalette_Lileep), + SPECIES_PAL(CRADILY, gMonPalette_Cradily), + SPECIES_PAL(ANORITH, gMonPalette_Anorith), + SPECIES_PAL(ARMALDO, gMonPalette_Armaldo), + SPECIES_PAL(RALTS, gMonPalette_Ralts), + SPECIES_PAL(KIRLIA, gMonPalette_Kirlia), + SPECIES_PAL(GARDEVOIR, gMonPalette_Gardevoir), + SPECIES_PAL(BAGON, gMonPalette_Bagon), + SPECIES_PAL(SHELGON, gMonPalette_Shelgon), + SPECIES_PAL(SALAMENCE, gMonPalette_Salamence), + SPECIES_PAL(BELDUM, gMonPalette_Beldum), + SPECIES_PAL(METANG, gMonPalette_Metang), + SPECIES_PAL(METAGROSS, gMonPalette_Metagross), + SPECIES_PAL(REGIROCK, gMonPalette_Regirock), + SPECIES_PAL(REGICE, gMonPalette_Regice), + SPECIES_PAL(REGISTEEL, gMonPalette_Registeel), + SPECIES_PAL(KYOGRE, gMonPalette_Kyogre), + SPECIES_PAL(GROUDON, gMonPalette_Groudon), + SPECIES_PAL(RAYQUAZA, gMonPalette_Rayquaza), + SPECIES_PAL(LATIAS, gMonPalette_Latias), + SPECIES_PAL(LATIOS, gMonPalette_Latios), + SPECIES_PAL(JIRACHI, gMonPalette_Jirachi), + SPECIES_PAL(DEOXYS, gMonPalette_Deoxys), + SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho), + SPECIES_PAL(EGG, gMonPalette_Egg), + SPECIES_PAL(UNOWN_B, gMonPalette_Unown), + SPECIES_PAL(UNOWN_C, gMonPalette_Unown), + SPECIES_PAL(UNOWN_D, gMonPalette_Unown), + SPECIES_PAL(UNOWN_E, gMonPalette_Unown), + SPECIES_PAL(UNOWN_F, gMonPalette_Unown), + SPECIES_PAL(UNOWN_G, gMonPalette_Unown), + SPECIES_PAL(UNOWN_H, gMonPalette_Unown), + SPECIES_PAL(UNOWN_I, gMonPalette_Unown), + SPECIES_PAL(UNOWN_J, gMonPalette_Unown), + SPECIES_PAL(UNOWN_K, gMonPalette_Unown), + SPECIES_PAL(UNOWN_L, gMonPalette_Unown), + SPECIES_PAL(UNOWN_M, gMonPalette_Unown), + SPECIES_PAL(UNOWN_N, gMonPalette_Unown), + SPECIES_PAL(UNOWN_O, gMonPalette_Unown), + SPECIES_PAL(UNOWN_P, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Q, gMonPalette_Unown), + SPECIES_PAL(UNOWN_R, gMonPalette_Unown), + SPECIES_PAL(UNOWN_S, gMonPalette_Unown), + SPECIES_PAL(UNOWN_T, gMonPalette_Unown), + SPECIES_PAL(UNOWN_U, gMonPalette_Unown), + SPECIES_PAL(UNOWN_V, gMonPalette_Unown), + SPECIES_PAL(UNOWN_W, gMonPalette_Unown), + SPECIES_PAL(UNOWN_X, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Y, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Z, gMonPalette_Unown), + SPECIES_PAL(UNOWN_EMARK, gMonPalette_Unown), + SPECIES_PAL(UNOWN_QMARK, gMonPalette_Unown), }; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index 0c3f990cf0..8b1cfcaaca 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -1,443 +1,443 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = { - [SPECIES_NONE] = {gMonShinyPalette_CircledQuestionMark, SPECIES_NONE + 500}, - [SPECIES_BULBASAUR] = {gMonShinyPalette_Bulbasaur, SPECIES_BULBASAUR + 500}, - [SPECIES_IVYSAUR] = {gMonShinyPalette_Ivysaur, SPECIES_IVYSAUR + 500}, - [SPECIES_VENUSAUR] = {gMonShinyPalette_Venusaur, SPECIES_VENUSAUR + 500}, - [SPECIES_CHARMANDER] = {gMonShinyPalette_Charmander, SPECIES_CHARMANDER + 500}, - [SPECIES_CHARMELEON] = {gMonShinyPalette_Charmeleon, SPECIES_CHARMELEON + 500}, - [SPECIES_CHARIZARD] = {gMonShinyPalette_Charizard, SPECIES_CHARIZARD + 500}, - [SPECIES_SQUIRTLE] = {gMonShinyPalette_Squirtle, SPECIES_SQUIRTLE + 500}, - [SPECIES_WARTORTLE] = {gMonShinyPalette_Wartortle, SPECIES_WARTORTLE + 500}, - [SPECIES_BLASTOISE] = {gMonShinyPalette_Blastoise, SPECIES_BLASTOISE + 500}, - [SPECIES_CATERPIE] = {gMonShinyPalette_Caterpie, SPECIES_CATERPIE + 500}, - [SPECIES_METAPOD] = {gMonShinyPalette_Metapod, SPECIES_METAPOD + 500}, - [SPECIES_BUTTERFREE] = {gMonShinyPalette_Butterfree, SPECIES_BUTTERFREE + 500}, - [SPECIES_WEEDLE] = {gMonShinyPalette_Weedle, SPECIES_WEEDLE + 500}, - [SPECIES_KAKUNA] = {gMonShinyPalette_Kakuna, SPECIES_KAKUNA + 500}, - [SPECIES_BEEDRILL] = {gMonShinyPalette_Beedrill, SPECIES_BEEDRILL + 500}, - [SPECIES_PIDGEY] = {gMonShinyPalette_Pidgey, SPECIES_PIDGEY + 500}, - [SPECIES_PIDGEOTTO] = {gMonShinyPalette_Pidgeotto, SPECIES_PIDGEOTTO + 500}, - [SPECIES_PIDGEOT] = {gMonShinyPalette_Pidgeot, SPECIES_PIDGEOT + 500}, - [SPECIES_RATTATA] = {gMonShinyPalette_Rattata, SPECIES_RATTATA + 500}, - [SPECIES_RATICATE] = {gMonShinyPalette_Raticate, SPECIES_RATICATE + 500}, - [SPECIES_SPEAROW] = {gMonShinyPalette_Spearow, SPECIES_SPEAROW + 500}, - [SPECIES_FEAROW] = {gMonShinyPalette_Fearow, SPECIES_FEAROW + 500}, - [SPECIES_EKANS] = {gMonShinyPalette_Ekans, SPECIES_EKANS + 500}, - [SPECIES_ARBOK] = {gMonShinyPalette_Arbok, SPECIES_ARBOK + 500}, - [SPECIES_PIKACHU] = {gMonShinyPalette_Pikachu, SPECIES_PIKACHU + 500}, - [SPECIES_RAICHU] = {gMonShinyPalette_Raichu, SPECIES_RAICHU + 500}, - [SPECIES_SANDSHREW] = {gMonShinyPalette_Sandshrew, SPECIES_SANDSHREW + 500}, - [SPECIES_SANDSLASH] = {gMonShinyPalette_Sandslash, SPECIES_SANDSLASH + 500}, - [SPECIES_NIDORAN_F] = {gMonShinyPalette_NidoranF, SPECIES_NIDORAN_F + 500}, - [SPECIES_NIDORINA] = {gMonShinyPalette_Nidorina, SPECIES_NIDORINA + 500}, - [SPECIES_NIDOQUEEN] = {gMonShinyPalette_Nidoqueen, SPECIES_NIDOQUEEN + 500}, - [SPECIES_NIDORAN_M] = {gMonShinyPalette_NidoranM, SPECIES_NIDORAN_M + 500}, - [SPECIES_NIDORINO] = {gMonShinyPalette_Nidorino, SPECIES_NIDORINO + 500}, - [SPECIES_NIDOKING] = {gMonShinyPalette_Nidoking, SPECIES_NIDOKING + 500}, - [SPECIES_CLEFAIRY] = {gMonShinyPalette_Clefairy, SPECIES_CLEFAIRY + 500}, - [SPECIES_CLEFABLE] = {gMonShinyPalette_Clefable, SPECIES_CLEFABLE + 500}, - [SPECIES_VULPIX] = {gMonShinyPalette_Vulpix, SPECIES_VULPIX + 500}, - [SPECIES_NINETALES] = {gMonShinyPalette_Ninetales, SPECIES_NINETALES + 500}, - [SPECIES_JIGGLYPUFF] = {gMonShinyPalette_Jigglypuff, SPECIES_JIGGLYPUFF + 500}, - [SPECIES_WIGGLYTUFF] = {gMonShinyPalette_Wigglytuff, SPECIES_WIGGLYTUFF + 500}, - [SPECIES_ZUBAT] = {gMonShinyPalette_Zubat, SPECIES_ZUBAT + 500}, - [SPECIES_GOLBAT] = {gMonShinyPalette_Golbat, SPECIES_GOLBAT + 500}, - [SPECIES_ODDISH] = {gMonShinyPalette_Oddish, SPECIES_ODDISH + 500}, - [SPECIES_GLOOM] = {gMonShinyPalette_Gloom, SPECIES_GLOOM + 500}, - [SPECIES_VILEPLUME] = {gMonShinyPalette_Vileplume, SPECIES_VILEPLUME + 500}, - [SPECIES_PARAS] = {gMonShinyPalette_Paras, SPECIES_PARAS + 500}, - [SPECIES_PARASECT] = {gMonShinyPalette_Parasect, SPECIES_PARASECT + 500}, - [SPECIES_VENONAT] = {gMonShinyPalette_Venonat, SPECIES_VENONAT + 500}, - [SPECIES_VENOMOTH] = {gMonShinyPalette_Venomoth, SPECIES_VENOMOTH + 500}, - [SPECIES_DIGLETT] = {gMonShinyPalette_Diglett, SPECIES_DIGLETT + 500}, - [SPECIES_DUGTRIO] = {gMonShinyPalette_Dugtrio, SPECIES_DUGTRIO + 500}, - [SPECIES_MEOWTH] = {gMonShinyPalette_Meowth, SPECIES_MEOWTH + 500}, - [SPECIES_PERSIAN] = {gMonShinyPalette_Persian, SPECIES_PERSIAN + 500}, - [SPECIES_PSYDUCK] = {gMonShinyPalette_Psyduck, SPECIES_PSYDUCK + 500}, - [SPECIES_GOLDUCK] = {gMonShinyPalette_Golduck, SPECIES_GOLDUCK + 500}, - [SPECIES_MANKEY] = {gMonShinyPalette_Mankey, SPECIES_MANKEY + 500}, - [SPECIES_PRIMEAPE] = {gMonShinyPalette_Primeape, SPECIES_PRIMEAPE + 500}, - [SPECIES_GROWLITHE] = {gMonShinyPalette_Growlithe, SPECIES_GROWLITHE + 500}, - [SPECIES_ARCANINE] = {gMonShinyPalette_Arcanine, SPECIES_ARCANINE + 500}, - [SPECIES_POLIWAG] = {gMonShinyPalette_Poliwag, SPECIES_POLIWAG + 500}, - [SPECIES_POLIWHIRL] = {gMonShinyPalette_Poliwhirl, SPECIES_POLIWHIRL + 500}, - [SPECIES_POLIWRATH] = {gMonShinyPalette_Poliwrath, SPECIES_POLIWRATH + 500}, - [SPECIES_ABRA] = {gMonShinyPalette_Abra, SPECIES_ABRA + 500}, - [SPECIES_KADABRA] = {gMonShinyPalette_Kadabra, SPECIES_KADABRA + 500}, - [SPECIES_ALAKAZAM] = {gMonShinyPalette_Alakazam, SPECIES_ALAKAZAM + 500}, - [SPECIES_MACHOP] = {gMonShinyPalette_Machop, SPECIES_MACHOP + 500}, - [SPECIES_MACHOKE] = {gMonShinyPalette_Machoke, SPECIES_MACHOKE + 500}, - [SPECIES_MACHAMP] = {gMonShinyPalette_Machamp, SPECIES_MACHAMP + 500}, - [SPECIES_BELLSPROUT] = {gMonShinyPalette_Bellsprout, SPECIES_BELLSPROUT + 500}, - [SPECIES_WEEPINBELL] = {gMonShinyPalette_Weepinbell, SPECIES_WEEPINBELL + 500}, - [SPECIES_VICTREEBEL] = {gMonShinyPalette_Victreebel, SPECIES_VICTREEBEL + 500}, - [SPECIES_TENTACOOL] = {gMonShinyPalette_Tentacool, SPECIES_TENTACOOL + 500}, - [SPECIES_TENTACRUEL] = {gMonShinyPalette_Tentacruel, SPECIES_TENTACRUEL + 500}, - [SPECIES_GEODUDE] = {gMonShinyPalette_Geodude, SPECIES_GEODUDE + 500}, - [SPECIES_GRAVELER] = {gMonShinyPalette_Graveler, SPECIES_GRAVELER + 500}, - [SPECIES_GOLEM] = {gMonShinyPalette_Golem, SPECIES_GOLEM + 500}, - [SPECIES_PONYTA] = {gMonShinyPalette_Ponyta, SPECIES_PONYTA + 500}, - [SPECIES_RAPIDASH] = {gMonShinyPalette_Rapidash, SPECIES_RAPIDASH + 500}, - [SPECIES_SLOWPOKE] = {gMonShinyPalette_Slowpoke, SPECIES_SLOWPOKE + 500}, - [SPECIES_SLOWBRO] = {gMonShinyPalette_Slowbro, SPECIES_SLOWBRO + 500}, - [SPECIES_MAGNEMITE] = {gMonShinyPalette_Magnemite, SPECIES_MAGNEMITE + 500}, - [SPECIES_MAGNETON] = {gMonShinyPalette_Magneton, SPECIES_MAGNETON + 500}, - [SPECIES_FARFETCHD] = {gMonShinyPalette_Farfetchd, SPECIES_FARFETCHD + 500}, - [SPECIES_DODUO] = {gMonShinyPalette_Doduo, SPECIES_DODUO + 500}, - [SPECIES_DODRIO] = {gMonShinyPalette_Dodrio, SPECIES_DODRIO + 500}, - [SPECIES_SEEL] = {gMonShinyPalette_Seel, SPECIES_SEEL + 500}, - [SPECIES_DEWGONG] = {gMonShinyPalette_Dewgong, SPECIES_DEWGONG + 500}, - [SPECIES_GRIMER] = {gMonShinyPalette_Grimer, SPECIES_GRIMER + 500}, - [SPECIES_MUK] = {gMonShinyPalette_Muk, SPECIES_MUK + 500}, - [SPECIES_SHELLDER] = {gMonShinyPalette_Shellder, SPECIES_SHELLDER + 500}, - [SPECIES_CLOYSTER] = {gMonShinyPalette_Cloyster, SPECIES_CLOYSTER + 500}, - [SPECIES_GASTLY] = {gMonShinyPalette_Gastly, SPECIES_GASTLY + 500}, - [SPECIES_HAUNTER] = {gMonShinyPalette_Haunter, SPECIES_HAUNTER + 500}, - [SPECIES_GENGAR] = {gMonShinyPalette_Gengar, SPECIES_GENGAR + 500}, - [SPECIES_ONIX] = {gMonShinyPalette_Onix, SPECIES_ONIX + 500}, - [SPECIES_DROWZEE] = {gMonShinyPalette_Drowzee, SPECIES_DROWZEE + 500}, - [SPECIES_HYPNO] = {gMonShinyPalette_Hypno, SPECIES_HYPNO + 500}, - [SPECIES_KRABBY] = {gMonShinyPalette_Krabby, SPECIES_KRABBY + 500}, - [SPECIES_KINGLER] = {gMonShinyPalette_Kingler, SPECIES_KINGLER + 500}, - [SPECIES_VOLTORB] = {gMonShinyPalette_Voltorb, SPECIES_VOLTORB + 500}, - [SPECIES_ELECTRODE] = {gMonShinyPalette_Electrode, SPECIES_ELECTRODE + 500}, - [SPECIES_EXEGGCUTE] = {gMonShinyPalette_Exeggcute, SPECIES_EXEGGCUTE + 500}, - [SPECIES_EXEGGUTOR] = {gMonShinyPalette_Exeggutor, SPECIES_EXEGGUTOR + 500}, - [SPECIES_CUBONE] = {gMonShinyPalette_Cubone, SPECIES_CUBONE + 500}, - [SPECIES_MAROWAK] = {gMonShinyPalette_Marowak, SPECIES_MAROWAK + 500}, - [SPECIES_HITMONLEE] = {gMonShinyPalette_Hitmonlee, SPECIES_HITMONLEE + 500}, - [SPECIES_HITMONCHAN] = {gMonShinyPalette_Hitmonchan, SPECIES_HITMONCHAN + 500}, - [SPECIES_LICKITUNG] = {gMonShinyPalette_Lickitung, SPECIES_LICKITUNG + 500}, - [SPECIES_KOFFING] = {gMonShinyPalette_Koffing, SPECIES_KOFFING + 500}, - [SPECIES_WEEZING] = {gMonShinyPalette_Weezing, SPECIES_WEEZING + 500}, - [SPECIES_RHYHORN] = {gMonShinyPalette_Rhyhorn, SPECIES_RHYHORN + 500}, - [SPECIES_RHYDON] = {gMonShinyPalette_Rhydon, SPECIES_RHYDON + 500}, - [SPECIES_CHANSEY] = {gMonShinyPalette_Chansey, SPECIES_CHANSEY + 500}, - [SPECIES_TANGELA] = {gMonShinyPalette_Tangela, SPECIES_TANGELA + 500}, - [SPECIES_KANGASKHAN] = {gMonShinyPalette_Kangaskhan, SPECIES_KANGASKHAN + 500}, - [SPECIES_HORSEA] = {gMonShinyPalette_Horsea, SPECIES_HORSEA + 500}, - [SPECIES_SEADRA] = {gMonShinyPalette_Seadra, SPECIES_SEADRA + 500}, - [SPECIES_GOLDEEN] = {gMonShinyPalette_Goldeen, SPECIES_GOLDEEN + 500}, - [SPECIES_SEAKING] = {gMonShinyPalette_Seaking, SPECIES_SEAKING + 500}, - [SPECIES_STARYU] = {gMonShinyPalette_Staryu, SPECIES_STARYU + 500}, - [SPECIES_STARMIE] = {gMonShinyPalette_Starmie, SPECIES_STARMIE + 500}, - [SPECIES_MR_MIME] = {gMonShinyPalette_Mrmime, SPECIES_MR_MIME + 500}, - [SPECIES_SCYTHER] = {gMonShinyPalette_Scyther, SPECIES_SCYTHER + 500}, - [SPECIES_JYNX] = {gMonShinyPalette_Jynx, SPECIES_JYNX + 500}, - [SPECIES_ELECTABUZZ] = {gMonShinyPalette_Electabuzz, SPECIES_ELECTABUZZ + 500}, - [SPECIES_MAGMAR] = {gMonShinyPalette_Magmar, SPECIES_MAGMAR + 500}, - [SPECIES_PINSIR] = {gMonShinyPalette_Pinsir, SPECIES_PINSIR + 500}, - [SPECIES_TAUROS] = {gMonShinyPalette_Tauros, SPECIES_TAUROS + 500}, - [SPECIES_MAGIKARP] = {gMonShinyPalette_Magikarp, SPECIES_MAGIKARP + 500}, - [SPECIES_GYARADOS] = {gMonShinyPalette_Gyarados, SPECIES_GYARADOS + 500}, - [SPECIES_LAPRAS] = {gMonShinyPalette_Lapras, SPECIES_LAPRAS + 500}, - [SPECIES_DITTO] = {gMonShinyPalette_Ditto, SPECIES_DITTO + 500}, - [SPECIES_EEVEE] = {gMonShinyPalette_Eevee, SPECIES_EEVEE + 500}, - [SPECIES_VAPOREON] = {gMonShinyPalette_Vaporeon, SPECIES_VAPOREON + 500}, - [SPECIES_JOLTEON] = {gMonShinyPalette_Jolteon, SPECIES_JOLTEON + 500}, - [SPECIES_FLAREON] = {gMonShinyPalette_Flareon, SPECIES_FLAREON + 500}, - [SPECIES_PORYGON] = {gMonShinyPalette_Porygon, SPECIES_PORYGON + 500}, - [SPECIES_OMANYTE] = {gMonShinyPalette_Omanyte, SPECIES_OMANYTE + 500}, - [SPECIES_OMASTAR] = {gMonShinyPalette_Omastar, SPECIES_OMASTAR + 500}, - [SPECIES_KABUTO] = {gMonShinyPalette_Kabuto, SPECIES_KABUTO + 500}, - [SPECIES_KABUTOPS] = {gMonShinyPalette_Kabutops, SPECIES_KABUTOPS + 500}, - [SPECIES_AERODACTYL] = {gMonShinyPalette_Aerodactyl, SPECIES_AERODACTYL + 500}, - [SPECIES_SNORLAX] = {gMonShinyPalette_Snorlax, SPECIES_SNORLAX + 500}, - [SPECIES_ARTICUNO] = {gMonShinyPalette_Articuno, SPECIES_ARTICUNO + 500}, - [SPECIES_ZAPDOS] = {gMonShinyPalette_Zapdos, SPECIES_ZAPDOS + 500}, - [SPECIES_MOLTRES] = {gMonShinyPalette_Moltres, SPECIES_MOLTRES + 500}, - [SPECIES_DRATINI] = {gMonShinyPalette_Dratini, SPECIES_DRATINI + 500}, - [SPECIES_DRAGONAIR] = {gMonShinyPalette_Dragonair, SPECIES_DRAGONAIR + 500}, - [SPECIES_DRAGONITE] = {gMonShinyPalette_Dragonite, SPECIES_DRAGONITE + 500}, - [SPECIES_MEWTWO] = {gMonShinyPalette_Mewtwo, SPECIES_MEWTWO + 500}, - [SPECIES_MEW] = {gMonShinyPalette_Mew, SPECIES_MEW + 500}, - [SPECIES_CHIKORITA] = {gMonShinyPalette_Chikorita, SPECIES_CHIKORITA + 500}, - [SPECIES_BAYLEEF] = {gMonShinyPalette_Bayleef, SPECIES_BAYLEEF + 500}, - [SPECIES_MEGANIUM] = {gMonShinyPalette_Meganium, SPECIES_MEGANIUM + 500}, - [SPECIES_CYNDAQUIL] = {gMonShinyPalette_Cyndaquil, SPECIES_CYNDAQUIL + 500}, - [SPECIES_QUILAVA] = {gMonShinyPalette_Quilava, SPECIES_QUILAVA + 500}, - [SPECIES_TYPHLOSION] = {gMonShinyPalette_Typhlosion, SPECIES_TYPHLOSION + 500}, - [SPECIES_TOTODILE] = {gMonShinyPalette_Totodile, SPECIES_TOTODILE + 500}, - [SPECIES_CROCONAW] = {gMonShinyPalette_Croconaw, SPECIES_CROCONAW + 500}, - [SPECIES_FERALIGATR] = {gMonShinyPalette_Feraligatr, SPECIES_FERALIGATR + 500}, - [SPECIES_SENTRET] = {gMonShinyPalette_Sentret, SPECIES_SENTRET + 500}, - [SPECIES_FURRET] = {gMonShinyPalette_Furret, SPECIES_FURRET + 500}, - [SPECIES_HOOTHOOT] = {gMonShinyPalette_Hoothoot, SPECIES_HOOTHOOT + 500}, - [SPECIES_NOCTOWL] = {gMonShinyPalette_Noctowl, SPECIES_NOCTOWL + 500}, - [SPECIES_LEDYBA] = {gMonShinyPalette_Ledyba, SPECIES_LEDYBA + 500}, - [SPECIES_LEDIAN] = {gMonShinyPalette_Ledian, SPECIES_LEDIAN + 500}, - [SPECIES_SPINARAK] = {gMonShinyPalette_Spinarak, SPECIES_SPINARAK + 500}, - [SPECIES_ARIADOS] = {gMonShinyPalette_Ariados, SPECIES_ARIADOS + 500}, - [SPECIES_CROBAT] = {gMonShinyPalette_Crobat, SPECIES_CROBAT + 500}, - [SPECIES_CHINCHOU] = {gMonShinyPalette_Chinchou, SPECIES_CHINCHOU + 500}, - [SPECIES_LANTURN] = {gMonShinyPalette_Lanturn, SPECIES_LANTURN + 500}, - [SPECIES_PICHU] = {gMonShinyPalette_Pichu, SPECIES_PICHU + 500}, - [SPECIES_CLEFFA] = {gMonShinyPalette_Cleffa, SPECIES_CLEFFA + 500}, - [SPECIES_IGGLYBUFF] = {gMonShinyPalette_Igglybuff, SPECIES_IGGLYBUFF + 500}, - [SPECIES_TOGEPI] = {gMonShinyPalette_Togepi, SPECIES_TOGEPI + 500}, - [SPECIES_TOGETIC] = {gMonShinyPalette_Togetic, SPECIES_TOGETIC + 500}, - [SPECIES_NATU] = {gMonShinyPalette_Natu, SPECIES_NATU + 500}, - [SPECIES_XATU] = {gMonShinyPalette_Xatu, SPECIES_XATU + 500}, - [SPECIES_MAREEP] = {gMonShinyPalette_Mareep, SPECIES_MAREEP + 500}, - [SPECIES_FLAAFFY] = {gMonShinyPalette_Flaaffy, SPECIES_FLAAFFY + 500}, - [SPECIES_AMPHAROS] = {gMonShinyPalette_Ampharos, SPECIES_AMPHAROS + 500}, - [SPECIES_BELLOSSOM] = {gMonShinyPalette_Bellossom, SPECIES_BELLOSSOM + 500}, - [SPECIES_MARILL] = {gMonShinyPalette_Marill, SPECIES_MARILL + 500}, - [SPECIES_AZUMARILL] = {gMonShinyPalette_Azumarill, SPECIES_AZUMARILL + 500}, - [SPECIES_SUDOWOODO] = {gMonShinyPalette_Sudowoodo, SPECIES_SUDOWOODO + 500}, - [SPECIES_POLITOED] = {gMonShinyPalette_Politoed, SPECIES_POLITOED + 500}, - [SPECIES_HOPPIP] = {gMonShinyPalette_Hoppip, SPECIES_HOPPIP + 500}, - [SPECIES_SKIPLOOM] = {gMonShinyPalette_Skiploom, SPECIES_SKIPLOOM + 500}, - [SPECIES_JUMPLUFF] = {gMonShinyPalette_Jumpluff, SPECIES_JUMPLUFF + 500}, - [SPECIES_AIPOM] = {gMonShinyPalette_Aipom, SPECIES_AIPOM + 500}, - [SPECIES_SUNKERN] = {gMonShinyPalette_Sunkern, SPECIES_SUNKERN + 500}, - [SPECIES_SUNFLORA] = {gMonShinyPalette_Sunflora, SPECIES_SUNFLORA + 500}, - [SPECIES_YANMA] = {gMonShinyPalette_Yanma, SPECIES_YANMA + 500}, - [SPECIES_WOOPER] = {gMonShinyPalette_Wooper, SPECIES_WOOPER + 500}, - [SPECIES_QUAGSIRE] = {gMonShinyPalette_Quagsire, SPECIES_QUAGSIRE + 500}, - [SPECIES_ESPEON] = {gMonShinyPalette_Espeon, SPECIES_ESPEON + 500}, - [SPECIES_UMBREON] = {gMonShinyPalette_Umbreon, SPECIES_UMBREON + 500}, - [SPECIES_MURKROW] = {gMonShinyPalette_Murkrow, SPECIES_MURKROW + 500}, - [SPECIES_SLOWKING] = {gMonShinyPalette_Slowking, SPECIES_SLOWKING + 500}, - [SPECIES_MISDREAVUS] = {gMonShinyPalette_Misdreavus, SPECIES_MISDREAVUS + 500}, - [SPECIES_UNOWN] = {gMonShinyPalette_Unown, SPECIES_UNOWN + 500}, - [SPECIES_WOBBUFFET] = {gMonShinyPalette_Wobbuffet, SPECIES_WOBBUFFET + 500}, - [SPECIES_GIRAFARIG] = {gMonShinyPalette_Girafarig, SPECIES_GIRAFARIG + 500}, - [SPECIES_PINECO] = {gMonShinyPalette_Pineco, SPECIES_PINECO + 500}, - [SPECIES_FORRETRESS] = {gMonShinyPalette_Forretress, SPECIES_FORRETRESS + 500}, - [SPECIES_DUNSPARCE] = {gMonShinyPalette_Dunsparce, SPECIES_DUNSPARCE + 500}, - [SPECIES_GLIGAR] = {gMonShinyPalette_Gligar, SPECIES_GLIGAR + 500}, - [SPECIES_STEELIX] = {gMonShinyPalette_Steelix, SPECIES_STEELIX + 500}, - [SPECIES_SNUBBULL] = {gMonShinyPalette_Snubbull, SPECIES_SNUBBULL + 500}, - [SPECIES_GRANBULL] = {gMonShinyPalette_Granbull, SPECIES_GRANBULL + 500}, - [SPECIES_QWILFISH] = {gMonShinyPalette_Qwilfish, SPECIES_QWILFISH + 500}, - [SPECIES_SCIZOR] = {gMonShinyPalette_Scizor, SPECIES_SCIZOR + 500}, - [SPECIES_SHUCKLE] = {gMonShinyPalette_Shuckle, SPECIES_SHUCKLE + 500}, - [SPECIES_HERACROSS] = {gMonShinyPalette_Heracross, SPECIES_HERACROSS + 500}, - [SPECIES_SNEASEL] = {gMonShinyPalette_Sneasel, SPECIES_SNEASEL + 500}, - [SPECIES_TEDDIURSA] = {gMonShinyPalette_Teddiursa, SPECIES_TEDDIURSA + 500}, - [SPECIES_URSARING] = {gMonShinyPalette_Ursaring, SPECIES_URSARING + 500}, - [SPECIES_SLUGMA] = {gMonShinyPalette_Slugma, SPECIES_SLUGMA + 500}, - [SPECIES_MAGCARGO] = {gMonShinyPalette_Magcargo, SPECIES_MAGCARGO + 500}, - [SPECIES_SWINUB] = {gMonShinyPalette_Swinub, SPECIES_SWINUB + 500}, - [SPECIES_PILOSWINE] = {gMonShinyPalette_Piloswine, SPECIES_PILOSWINE + 500}, - [SPECIES_CORSOLA] = {gMonShinyPalette_Corsola, SPECIES_CORSOLA + 500}, - [SPECIES_REMORAID] = {gMonShinyPalette_Remoraid, SPECIES_REMORAID + 500}, - [SPECIES_OCTILLERY] = {gMonShinyPalette_Octillery, SPECIES_OCTILLERY + 500}, - [SPECIES_DELIBIRD] = {gMonShinyPalette_Delibird, SPECIES_DELIBIRD + 500}, - [SPECIES_MANTINE] = {gMonShinyPalette_Mantine, SPECIES_MANTINE + 500}, - [SPECIES_SKARMORY] = {gMonShinyPalette_Skarmory, SPECIES_SKARMORY + 500}, - [SPECIES_HOUNDOUR] = {gMonShinyPalette_Houndour, SPECIES_HOUNDOUR + 500}, - [SPECIES_HOUNDOOM] = {gMonShinyPalette_Houndoom, SPECIES_HOUNDOOM + 500}, - [SPECIES_KINGDRA] = {gMonShinyPalette_Kingdra, SPECIES_KINGDRA + 500}, - [SPECIES_PHANPY] = {gMonShinyPalette_Phanpy, SPECIES_PHANPY + 500}, - [SPECIES_DONPHAN] = {gMonShinyPalette_Donphan, SPECIES_DONPHAN + 500}, - [SPECIES_PORYGON2] = {gMonShinyPalette_Porygon2, SPECIES_PORYGON2 + 500}, - [SPECIES_STANTLER] = {gMonShinyPalette_Stantler, SPECIES_STANTLER + 500}, - [SPECIES_SMEARGLE] = {gMonShinyPalette_Smeargle, SPECIES_SMEARGLE + 500}, - [SPECIES_TYROGUE] = {gMonShinyPalette_Tyrogue, SPECIES_TYROGUE + 500}, - [SPECIES_HITMONTOP] = {gMonShinyPalette_Hitmontop, SPECIES_HITMONTOP + 500}, - [SPECIES_SMOOCHUM] = {gMonShinyPalette_Smoochum, SPECIES_SMOOCHUM + 500}, - [SPECIES_ELEKID] = {gMonShinyPalette_Elekid, SPECIES_ELEKID + 500}, - [SPECIES_MAGBY] = {gMonShinyPalette_Magby, SPECIES_MAGBY + 500}, - [SPECIES_MILTANK] = {gMonShinyPalette_Miltank, SPECIES_MILTANK + 500}, - [SPECIES_BLISSEY] = {gMonShinyPalette_Blissey, SPECIES_BLISSEY + 500}, - [SPECIES_RAIKOU] = {gMonShinyPalette_Raikou, SPECIES_RAIKOU + 500}, - [SPECIES_ENTEI] = {gMonShinyPalette_Entei, SPECIES_ENTEI + 500}, - [SPECIES_SUICUNE] = {gMonShinyPalette_Suicune, SPECIES_SUICUNE + 500}, - [SPECIES_LARVITAR] = {gMonShinyPalette_Larvitar, SPECIES_LARVITAR + 500}, - [SPECIES_PUPITAR] = {gMonShinyPalette_Pupitar, SPECIES_PUPITAR + 500}, - [SPECIES_TYRANITAR] = {gMonShinyPalette_Tyranitar, SPECIES_TYRANITAR + 500}, - [SPECIES_LUGIA] = {gMonShinyPalette_Lugia, SPECIES_LUGIA + 500}, - [SPECIES_HO_OH] = {gMonShinyPalette_HoOh, SPECIES_HO_OH + 500}, - [SPECIES_CELEBI] = {gMonShinyPalette_Celebi, SPECIES_CELEBI + 500}, - [SPECIES_OLD_UNOWN_B] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B + 500}, - [SPECIES_OLD_UNOWN_C] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C + 500}, - [SPECIES_OLD_UNOWN_D] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D + 500}, - [SPECIES_OLD_UNOWN_E] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E + 500}, - [SPECIES_OLD_UNOWN_F] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F + 500}, - [SPECIES_OLD_UNOWN_G] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G + 500}, - [SPECIES_OLD_UNOWN_H] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H + 500}, - [SPECIES_OLD_UNOWN_I] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I + 500}, - [SPECIES_OLD_UNOWN_J] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J + 500}, - [SPECIES_OLD_UNOWN_K] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K + 500}, - [SPECIES_OLD_UNOWN_L] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L + 500}, - [SPECIES_OLD_UNOWN_M] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M + 500}, - [SPECIES_OLD_UNOWN_N] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N + 500}, - [SPECIES_OLD_UNOWN_O] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O + 500}, - [SPECIES_OLD_UNOWN_P] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P + 500}, - [SPECIES_OLD_UNOWN_Q] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q + 500}, - [SPECIES_OLD_UNOWN_R] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R + 500}, - [SPECIES_OLD_UNOWN_S] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S + 500}, - [SPECIES_OLD_UNOWN_T] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T + 500}, - [SPECIES_OLD_UNOWN_U] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U + 500}, - [SPECIES_OLD_UNOWN_V] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V + 500}, - [SPECIES_OLD_UNOWN_W] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W + 500}, - [SPECIES_OLD_UNOWN_X] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X + 500}, - [SPECIES_OLD_UNOWN_Y] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y + 500}, - [SPECIES_OLD_UNOWN_Z] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z + 500}, - [SPECIES_TREECKO] = {gMonShinyPalette_Treecko, SPECIES_TREECKO + 500}, - [SPECIES_GROVYLE] = {gMonShinyPalette_Grovyle, SPECIES_GROVYLE + 500}, - [SPECIES_SCEPTILE] = {gMonShinyPalette_Sceptile, SPECIES_SCEPTILE + 500}, - [SPECIES_TORCHIC] = {gMonShinyPalette_Torchic, SPECIES_TORCHIC + 500}, - [SPECIES_COMBUSKEN] = {gMonShinyPalette_Combusken, SPECIES_COMBUSKEN + 500}, - [SPECIES_BLAZIKEN] = {gMonShinyPalette_Blaziken, SPECIES_BLAZIKEN + 500}, - [SPECIES_MUDKIP] = {gMonShinyPalette_Mudkip, SPECIES_MUDKIP + 500}, - [SPECIES_MARSHTOMP] = {gMonShinyPalette_Marshtomp, SPECIES_MARSHTOMP + 500}, - [SPECIES_SWAMPERT] = {gMonShinyPalette_Swampert, SPECIES_SWAMPERT + 500}, - [SPECIES_POOCHYENA] = {gMonShinyPalette_Poochyena, SPECIES_POOCHYENA + 500}, - [SPECIES_MIGHTYENA] = {gMonShinyPalette_Mightyena, SPECIES_MIGHTYENA + 500}, - [SPECIES_ZIGZAGOON] = {gMonShinyPalette_Zigzagoon, SPECIES_ZIGZAGOON + 500}, - [SPECIES_LINOONE] = {gMonShinyPalette_Linoone, SPECIES_LINOONE + 500}, - [SPECIES_WURMPLE] = {gMonShinyPalette_Wurmple, SPECIES_WURMPLE + 500}, - [SPECIES_SILCOON] = {gMonShinyPalette_Silcoon, SPECIES_SILCOON + 500}, - [SPECIES_BEAUTIFLY] = {gMonShinyPalette_Beautifly, SPECIES_BEAUTIFLY + 500}, - [SPECIES_CASCOON] = {gMonShinyPalette_Cascoon, SPECIES_CASCOON + 500}, - [SPECIES_DUSTOX] = {gMonShinyPalette_Dustox, SPECIES_DUSTOX + 500}, - [SPECIES_LOTAD] = {gMonShinyPalette_Lotad, SPECIES_LOTAD + 500}, - [SPECIES_LOMBRE] = {gMonShinyPalette_Lombre, SPECIES_LOMBRE + 500}, - [SPECIES_LUDICOLO] = {gMonShinyPalette_Ludicolo, SPECIES_LUDICOLO + 500}, - [SPECIES_SEEDOT] = {gMonShinyPalette_Seedot, SPECIES_SEEDOT + 500}, - [SPECIES_NUZLEAF] = {gMonShinyPalette_Nuzleaf, SPECIES_NUZLEAF + 500}, - [SPECIES_SHIFTRY] = {gMonShinyPalette_Shiftry, SPECIES_SHIFTRY + 500}, - [SPECIES_NINCADA] = {gMonShinyPalette_Nincada, SPECIES_NINCADA + 500}, - [SPECIES_NINJASK] = {gMonShinyPalette_Ninjask, SPECIES_NINJASK + 500}, - [SPECIES_SHEDINJA] = {gMonShinyPalette_Shedinja, SPECIES_SHEDINJA + 500}, - [SPECIES_TAILLOW] = {gMonShinyPalette_Taillow, SPECIES_TAILLOW + 500}, - [SPECIES_SWELLOW] = {gMonShinyPalette_Swellow, SPECIES_SWELLOW + 500}, - [SPECIES_SHROOMISH] = {gMonShinyPalette_Shroomish, SPECIES_SHROOMISH + 500}, - [SPECIES_BRELOOM] = {gMonShinyPalette_Breloom, SPECIES_BRELOOM + 500}, - [SPECIES_SPINDA] = {gMonShinyPalette_Spinda, SPECIES_SPINDA + 500}, - [SPECIES_WINGULL] = {gMonShinyPalette_Wingull, SPECIES_WINGULL + 500}, - [SPECIES_PELIPPER] = {gMonShinyPalette_Pelipper, SPECIES_PELIPPER + 500}, - [SPECIES_SURSKIT] = {gMonShinyPalette_Surskit, SPECIES_SURSKIT + 500}, - [SPECIES_MASQUERAIN] = {gMonShinyPalette_Masquerain, SPECIES_MASQUERAIN + 500}, - [SPECIES_WAILMER] = {gMonShinyPalette_Wailmer, SPECIES_WAILMER + 500}, - [SPECIES_WAILORD] = {gMonShinyPalette_Wailord, SPECIES_WAILORD + 500}, - [SPECIES_SKITTY] = {gMonShinyPalette_Skitty, SPECIES_SKITTY + 500}, - [SPECIES_DELCATTY] = {gMonShinyPalette_Delcatty, SPECIES_DELCATTY + 500}, - [SPECIES_KECLEON] = {gMonShinyPalette_Kecleon, SPECIES_KECLEON + 500}, - [SPECIES_BALTOY] = {gMonShinyPalette_Baltoy, SPECIES_BALTOY + 500}, - [SPECIES_CLAYDOL] = {gMonShinyPalette_Claydol, SPECIES_CLAYDOL + 500}, - [SPECIES_NOSEPASS] = {gMonShinyPalette_Nosepass, SPECIES_NOSEPASS + 500}, - [SPECIES_TORKOAL] = {gMonShinyPalette_Torkoal, SPECIES_TORKOAL + 500}, - [SPECIES_SABLEYE] = {gMonShinyPalette_Sableye, SPECIES_SABLEYE + 500}, - [SPECIES_BARBOACH] = {gMonShinyPalette_Barboach, SPECIES_BARBOACH + 500}, - [SPECIES_WHISCASH] = {gMonShinyPalette_Whiscash, SPECIES_WHISCASH + 500}, - [SPECIES_LUVDISC] = {gMonShinyPalette_Luvdisc, SPECIES_LUVDISC + 500}, - [SPECIES_CORPHISH] = {gMonShinyPalette_Corphish, SPECIES_CORPHISH + 500}, - [SPECIES_CRAWDAUNT] = {gMonShinyPalette_Crawdaunt, SPECIES_CRAWDAUNT + 500}, - [SPECIES_FEEBAS] = {gMonShinyPalette_Feebas, SPECIES_FEEBAS + 500}, - [SPECIES_MILOTIC] = {gMonShinyPalette_Milotic, SPECIES_MILOTIC + 500}, - [SPECIES_CARVANHA] = {gMonShinyPalette_Carvanha, SPECIES_CARVANHA + 500}, - [SPECIES_SHARPEDO] = {gMonShinyPalette_Sharpedo, SPECIES_SHARPEDO + 500}, - [SPECIES_TRAPINCH] = {gMonShinyPalette_Trapinch, SPECIES_TRAPINCH + 500}, - [SPECIES_VIBRAVA] = {gMonShinyPalette_Vibrava, SPECIES_VIBRAVA + 500}, - [SPECIES_FLYGON] = {gMonShinyPalette_Flygon, SPECIES_FLYGON + 500}, - [SPECIES_MAKUHITA] = {gMonShinyPalette_Makuhita, SPECIES_MAKUHITA + 500}, - [SPECIES_HARIYAMA] = {gMonShinyPalette_Hariyama, SPECIES_HARIYAMA + 500}, - [SPECIES_ELECTRIKE] = {gMonShinyPalette_Electrike, SPECIES_ELECTRIKE + 500}, - [SPECIES_MANECTRIC] = {gMonShinyPalette_Manectric, SPECIES_MANECTRIC + 500}, - [SPECIES_NUMEL] = {gMonShinyPalette_Numel, SPECIES_NUMEL + 500}, - [SPECIES_CAMERUPT] = {gMonShinyPalette_Camerupt, SPECIES_CAMERUPT + 500}, - [SPECIES_SPHEAL] = {gMonShinyPalette_Spheal, SPECIES_SPHEAL + 500}, - [SPECIES_SEALEO] = {gMonShinyPalette_Sealeo, SPECIES_SEALEO + 500}, - [SPECIES_WALREIN] = {gMonShinyPalette_Walrein, SPECIES_WALREIN + 500}, - [SPECIES_CACNEA] = {gMonShinyPalette_Cacnea, SPECIES_CACNEA + 500}, - [SPECIES_CACTURNE] = {gMonShinyPalette_Cacturne, SPECIES_CACTURNE + 500}, - [SPECIES_SNORUNT] = {gMonShinyPalette_Snorunt, SPECIES_SNORUNT + 500}, - [SPECIES_GLALIE] = {gMonShinyPalette_Glalie, SPECIES_GLALIE + 500}, - [SPECIES_LUNATONE] = {gMonShinyPalette_Lunatone, SPECIES_LUNATONE + 500}, - [SPECIES_SOLROCK] = {gMonShinyPalette_Solrock, SPECIES_SOLROCK + 500}, - [SPECIES_AZURILL] = {gMonShinyPalette_Azurill, SPECIES_AZURILL + 500}, - [SPECIES_SPOINK] = {gMonShinyPalette_Spoink, SPECIES_SPOINK + 500}, - [SPECIES_GRUMPIG] = {gMonShinyPalette_Grumpig, SPECIES_GRUMPIG + 500}, - [SPECIES_PLUSLE] = {gMonShinyPalette_Plusle, SPECIES_PLUSLE + 500}, - [SPECIES_MINUN] = {gMonShinyPalette_Minun, SPECIES_MINUN + 500}, - [SPECIES_MAWILE] = {gMonShinyPalette_Mawile, SPECIES_MAWILE + 500}, - [SPECIES_MEDITITE] = {gMonShinyPalette_Meditite, SPECIES_MEDITITE + 500}, - [SPECIES_MEDICHAM] = {gMonShinyPalette_Medicham, SPECIES_MEDICHAM + 500}, - [SPECIES_SWABLU] = {gMonShinyPalette_Swablu, SPECIES_SWABLU + 500}, - [SPECIES_ALTARIA] = {gMonShinyPalette_Altaria, SPECIES_ALTARIA + 500}, - [SPECIES_WYNAUT] = {gMonShinyPalette_Wynaut, SPECIES_WYNAUT + 500}, - [SPECIES_DUSKULL] = {gMonShinyPalette_Duskull, SPECIES_DUSKULL + 500}, - [SPECIES_DUSCLOPS] = {gMonShinyPalette_Dusclops, SPECIES_DUSCLOPS + 500}, - [SPECIES_ROSELIA] = {gMonShinyPalette_Roselia, SPECIES_ROSELIA + 500}, - [SPECIES_SLAKOTH] = {gMonShinyPalette_Slakoth, SPECIES_SLAKOTH + 500}, - [SPECIES_VIGOROTH] = {gMonShinyPalette_Vigoroth, SPECIES_VIGOROTH + 500}, - [SPECIES_SLAKING] = {gMonShinyPalette_Slaking, SPECIES_SLAKING + 500}, - [SPECIES_GULPIN] = {gMonShinyPalette_Gulpin, SPECIES_GULPIN + 500}, - [SPECIES_SWALOT] = {gMonShinyPalette_Swalot, SPECIES_SWALOT + 500}, - [SPECIES_TROPIUS] = {gMonShinyPalette_Tropius, SPECIES_TROPIUS + 500}, - [SPECIES_WHISMUR] = {gMonShinyPalette_Whismur, SPECIES_WHISMUR + 500}, - [SPECIES_LOUDRED] = {gMonShinyPalette_Loudred, SPECIES_LOUDRED + 500}, - [SPECIES_EXPLOUD] = {gMonShinyPalette_Exploud, SPECIES_EXPLOUD + 500}, - [SPECIES_CLAMPERL] = {gMonShinyPalette_Clamperl, SPECIES_CLAMPERL + 500}, - [SPECIES_HUNTAIL] = {gMonShinyPalette_Huntail, SPECIES_HUNTAIL + 500}, - [SPECIES_GOREBYSS] = {gMonShinyPalette_Gorebyss, SPECIES_GOREBYSS + 500}, - [SPECIES_ABSOL] = {gMonShinyPalette_Absol, SPECIES_ABSOL + 500}, - [SPECIES_SHUPPET] = {gMonShinyPalette_Shuppet, SPECIES_SHUPPET + 500}, - [SPECIES_BANETTE] = {gMonShinyPalette_Banette, SPECIES_BANETTE + 500}, - [SPECIES_SEVIPER] = {gMonShinyPalette_Seviper, SPECIES_SEVIPER + 500}, - [SPECIES_ZANGOOSE] = {gMonShinyPalette_Zangoose, SPECIES_ZANGOOSE + 500}, - [SPECIES_RELICANTH] = {gMonShinyPalette_Relicanth, SPECIES_RELICANTH + 500}, - [SPECIES_ARON] = {gMonShinyPalette_Aron, SPECIES_ARON + 500}, - [SPECIES_LAIRON] = {gMonShinyPalette_Lairon, SPECIES_LAIRON + 500}, - [SPECIES_AGGRON] = {gMonShinyPalette_Aggron, SPECIES_AGGRON + 500}, - [SPECIES_CASTFORM] = {gMonShinyPalette_Castform, SPECIES_CASTFORM + 500}, - [SPECIES_VOLBEAT] = {gMonShinyPalette_Volbeat, SPECIES_VOLBEAT + 500}, - [SPECIES_ILLUMISE] = {gMonShinyPalette_Illumise, SPECIES_ILLUMISE + 500}, - [SPECIES_LILEEP] = {gMonShinyPalette_Lileep, SPECIES_LILEEP + 500}, - [SPECIES_CRADILY] = {gMonShinyPalette_Cradily, SPECIES_CRADILY + 500}, - [SPECIES_ANORITH] = {gMonShinyPalette_Anorith, SPECIES_ANORITH + 500}, - [SPECIES_ARMALDO] = {gMonShinyPalette_Armaldo, SPECIES_ARMALDO + 500}, - [SPECIES_RALTS] = {gMonShinyPalette_Ralts, SPECIES_RALTS + 500}, - [SPECIES_KIRLIA] = {gMonShinyPalette_Kirlia, SPECIES_KIRLIA + 500}, - [SPECIES_GARDEVOIR] = {gMonShinyPalette_Gardevoir, SPECIES_GARDEVOIR + 500}, - [SPECIES_BAGON] = {gMonShinyPalette_Bagon, SPECIES_BAGON + 500}, - [SPECIES_SHELGON] = {gMonShinyPalette_Shelgon, SPECIES_SHELGON + 500}, - [SPECIES_SALAMENCE] = {gMonShinyPalette_Salamence, SPECIES_SALAMENCE + 500}, - [SPECIES_BELDUM] = {gMonShinyPalette_Beldum, SPECIES_BELDUM + 500}, - [SPECIES_METANG] = {gMonShinyPalette_Metang, SPECIES_METANG + 500}, - [SPECIES_METAGROSS] = {gMonShinyPalette_Metagross, SPECIES_METAGROSS + 500}, - [SPECIES_REGIROCK] = {gMonShinyPalette_Regirock, SPECIES_REGIROCK + 500}, - [SPECIES_REGICE] = {gMonShinyPalette_Regice, SPECIES_REGICE + 500}, - [SPECIES_REGISTEEL] = {gMonShinyPalette_Registeel, SPECIES_REGISTEEL + 500}, - [SPECIES_KYOGRE] = {gMonShinyPalette_Kyogre, SPECIES_KYOGRE + 500}, - [SPECIES_GROUDON] = {gMonShinyPalette_Groudon, SPECIES_GROUDON + 500}, - [SPECIES_RAYQUAZA] = {gMonShinyPalette_Rayquaza, SPECIES_RAYQUAZA + 500}, - [SPECIES_LATIAS] = {gMonShinyPalette_Latias, SPECIES_LATIAS + 500}, - [SPECIES_LATIOS] = {gMonShinyPalette_Latios, SPECIES_LATIOS + 500}, - [SPECIES_JIRACHI] = {gMonShinyPalette_Jirachi, SPECIES_JIRACHI + 500}, - [SPECIES_DEOXYS] = {gMonShinyPalette_Deoxys, SPECIES_DEOXYS + 500}, - [SPECIES_CHIMECHO] = {gMonShinyPalette_Chimecho, SPECIES_CHIMECHO + 500}, - [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG + 500}, - [SPECIES_UNOWN_B] = {gMonShinyPalette_Unown, SPECIES_UNOWN_B + 500}, - [SPECIES_UNOWN_C] = {gMonShinyPalette_Unown, SPECIES_UNOWN_C + 500}, - [SPECIES_UNOWN_D] = {gMonShinyPalette_Unown, SPECIES_UNOWN_D + 500}, - [SPECIES_UNOWN_E] = {gMonShinyPalette_Unown, SPECIES_UNOWN_E + 500}, - [SPECIES_UNOWN_F] = {gMonShinyPalette_Unown, SPECIES_UNOWN_F + 500}, - [SPECIES_UNOWN_G] = {gMonShinyPalette_Unown, SPECIES_UNOWN_G + 500}, - [SPECIES_UNOWN_H] = {gMonShinyPalette_Unown, SPECIES_UNOWN_H + 500}, - [SPECIES_UNOWN_I] = {gMonShinyPalette_Unown, SPECIES_UNOWN_I + 500}, - [SPECIES_UNOWN_J] = {gMonShinyPalette_Unown, SPECIES_UNOWN_J + 500}, - [SPECIES_UNOWN_K] = {gMonShinyPalette_Unown, SPECIES_UNOWN_K + 500}, - [SPECIES_UNOWN_L] = {gMonShinyPalette_Unown, SPECIES_UNOWN_L + 500}, - [SPECIES_UNOWN_M] = {gMonShinyPalette_Unown, SPECIES_UNOWN_M + 500}, - [SPECIES_UNOWN_N] = {gMonShinyPalette_Unown, SPECIES_UNOWN_N + 500}, - [SPECIES_UNOWN_O] = {gMonShinyPalette_Unown, SPECIES_UNOWN_O + 500}, - [SPECIES_UNOWN_P] = {gMonShinyPalette_Unown, SPECIES_UNOWN_P + 500}, - [SPECIES_UNOWN_Q] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Q + 500}, - [SPECIES_UNOWN_R] = {gMonShinyPalette_Unown, SPECIES_UNOWN_R + 500}, - [SPECIES_UNOWN_S] = {gMonShinyPalette_Unown, SPECIES_UNOWN_S + 500}, - [SPECIES_UNOWN_T] = {gMonShinyPalette_Unown, SPECIES_UNOWN_T + 500}, - [SPECIES_UNOWN_U] = {gMonShinyPalette_Unown, SPECIES_UNOWN_U + 500}, - [SPECIES_UNOWN_V] = {gMonShinyPalette_Unown, SPECIES_UNOWN_V + 500}, - [SPECIES_UNOWN_W] = {gMonShinyPalette_Unown, SPECIES_UNOWN_W + 500}, - [SPECIES_UNOWN_X] = {gMonShinyPalette_Unown, SPECIES_UNOWN_X + 500}, - [SPECIES_UNOWN_Y] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Y + 500}, - [SPECIES_UNOWN_Z] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Z + 500}, - [SPECIES_UNOWN_EMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_EMARK + 500}, - [SPECIES_UNOWN_QMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_QMARK + 500}, + SPECIES_SHINY_PAL(NONE, gMonShinyPalette_CircledQuestionMark), + SPECIES_SHINY_PAL(BULBASAUR, gMonShinyPalette_Bulbasaur), + SPECIES_SHINY_PAL(IVYSAUR, gMonShinyPalette_Ivysaur), + SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur), + SPECIES_SHINY_PAL(CHARMANDER, gMonShinyPalette_Charmander), + SPECIES_SHINY_PAL(CHARMELEON, gMonShinyPalette_Charmeleon), + SPECIES_SHINY_PAL(CHARIZARD, gMonShinyPalette_Charizard), + SPECIES_SHINY_PAL(SQUIRTLE, gMonShinyPalette_Squirtle), + SPECIES_SHINY_PAL(WARTORTLE, gMonShinyPalette_Wartortle), + SPECIES_SHINY_PAL(BLASTOISE, gMonShinyPalette_Blastoise), + SPECIES_SHINY_PAL(CATERPIE, gMonShinyPalette_Caterpie), + SPECIES_SHINY_PAL(METAPOD, gMonShinyPalette_Metapod), + SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree), + SPECIES_SHINY_PAL(WEEDLE, gMonShinyPalette_Weedle), + SPECIES_SHINY_PAL(KAKUNA, gMonShinyPalette_Kakuna), + SPECIES_SHINY_PAL(BEEDRILL, gMonShinyPalette_Beedrill), + SPECIES_SHINY_PAL(PIDGEY, gMonShinyPalette_Pidgey), + SPECIES_SHINY_PAL(PIDGEOTTO, gMonShinyPalette_Pidgeotto), + SPECIES_SHINY_PAL(PIDGEOT, gMonShinyPalette_Pidgeot), + SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata), + SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate), + SPECIES_SHINY_PAL(SPEAROW, gMonShinyPalette_Spearow), + SPECIES_SHINY_PAL(FEAROW, gMonShinyPalette_Fearow), + SPECIES_SHINY_PAL(EKANS, gMonShinyPalette_Ekans), + SPECIES_SHINY_PAL(ARBOK, gMonShinyPalette_Arbok), + SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu), + SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu), + SPECIES_SHINY_PAL(SANDSHREW, gMonShinyPalette_Sandshrew), + SPECIES_SHINY_PAL(SANDSLASH, gMonShinyPalette_Sandslash), + SPECIES_SHINY_PAL(NIDORAN_F, gMonShinyPalette_NidoranF), + SPECIES_SHINY_PAL(NIDORINA, gMonShinyPalette_Nidorina), + SPECIES_SHINY_PAL(NIDOQUEEN, gMonShinyPalette_Nidoqueen), + SPECIES_SHINY_PAL(NIDORAN_M, gMonShinyPalette_NidoranM), + SPECIES_SHINY_PAL(NIDORINO, gMonShinyPalette_Nidorino), + SPECIES_SHINY_PAL(NIDOKING, gMonShinyPalette_Nidoking), + SPECIES_SHINY_PAL(CLEFAIRY, gMonShinyPalette_Clefairy), + SPECIES_SHINY_PAL(CLEFABLE, gMonShinyPalette_Clefable), + SPECIES_SHINY_PAL(VULPIX, gMonShinyPalette_Vulpix), + SPECIES_SHINY_PAL(NINETALES, gMonShinyPalette_Ninetales), + SPECIES_SHINY_PAL(JIGGLYPUFF, gMonShinyPalette_Jigglypuff), + SPECIES_SHINY_PAL(WIGGLYTUFF, gMonShinyPalette_Wigglytuff), + SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat), + SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat), + SPECIES_SHINY_PAL(ODDISH, gMonShinyPalette_Oddish), + SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom), + SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume), + SPECIES_SHINY_PAL(PARAS, gMonShinyPalette_Paras), + SPECIES_SHINY_PAL(PARASECT, gMonShinyPalette_Parasect), + SPECIES_SHINY_PAL(VENONAT, gMonShinyPalette_Venonat), + SPECIES_SHINY_PAL(VENOMOTH, gMonShinyPalette_Venomoth), + SPECIES_SHINY_PAL(DIGLETT, gMonShinyPalette_Diglett), + SPECIES_SHINY_PAL(DUGTRIO, gMonShinyPalette_Dugtrio), + SPECIES_SHINY_PAL(MEOWTH, gMonShinyPalette_Meowth), + SPECIES_SHINY_PAL(PERSIAN, gMonShinyPalette_Persian), + SPECIES_SHINY_PAL(PSYDUCK, gMonShinyPalette_Psyduck), + SPECIES_SHINY_PAL(GOLDUCK, gMonShinyPalette_Golduck), + SPECIES_SHINY_PAL(MANKEY, gMonShinyPalette_Mankey), + SPECIES_SHINY_PAL(PRIMEAPE, gMonShinyPalette_Primeape), + SPECIES_SHINY_PAL(GROWLITHE, gMonShinyPalette_Growlithe), + SPECIES_SHINY_PAL(ARCANINE, gMonShinyPalette_Arcanine), + SPECIES_SHINY_PAL(POLIWAG, gMonShinyPalette_Poliwag), + SPECIES_SHINY_PAL(POLIWHIRL, gMonShinyPalette_Poliwhirl), + SPECIES_SHINY_PAL(POLIWRATH, gMonShinyPalette_Poliwrath), + SPECIES_SHINY_PAL(ABRA, gMonShinyPalette_Abra), + SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra), + SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam), + SPECIES_SHINY_PAL(MACHOP, gMonShinyPalette_Machop), + SPECIES_SHINY_PAL(MACHOKE, gMonShinyPalette_Machoke), + SPECIES_SHINY_PAL(MACHAMP, gMonShinyPalette_Machamp), + SPECIES_SHINY_PAL(BELLSPROUT, gMonShinyPalette_Bellsprout), + SPECIES_SHINY_PAL(WEEPINBELL, gMonShinyPalette_Weepinbell), + SPECIES_SHINY_PAL(VICTREEBEL, gMonShinyPalette_Victreebel), + SPECIES_SHINY_PAL(TENTACOOL, gMonShinyPalette_Tentacool), + SPECIES_SHINY_PAL(TENTACRUEL, gMonShinyPalette_Tentacruel), + SPECIES_SHINY_PAL(GEODUDE, gMonShinyPalette_Geodude), + SPECIES_SHINY_PAL(GRAVELER, gMonShinyPalette_Graveler), + SPECIES_SHINY_PAL(GOLEM, gMonShinyPalette_Golem), + SPECIES_SHINY_PAL(PONYTA, gMonShinyPalette_Ponyta), + SPECIES_SHINY_PAL(RAPIDASH, gMonShinyPalette_Rapidash), + SPECIES_SHINY_PAL(SLOWPOKE, gMonShinyPalette_Slowpoke), + SPECIES_SHINY_PAL(SLOWBRO, gMonShinyPalette_Slowbro), + SPECIES_SHINY_PAL(MAGNEMITE, gMonShinyPalette_Magnemite), + SPECIES_SHINY_PAL(MAGNETON, gMonShinyPalette_Magneton), + SPECIES_SHINY_PAL(FARFETCHD, gMonShinyPalette_Farfetchd), + SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo), + SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio), + SPECIES_SHINY_PAL(SEEL, gMonShinyPalette_Seel), + SPECIES_SHINY_PAL(DEWGONG, gMonShinyPalette_Dewgong), + SPECIES_SHINY_PAL(GRIMER, gMonShinyPalette_Grimer), + SPECIES_SHINY_PAL(MUK, gMonShinyPalette_Muk), + SPECIES_SHINY_PAL(SHELLDER, gMonShinyPalette_Shellder), + SPECIES_SHINY_PAL(CLOYSTER, gMonShinyPalette_Cloyster), + SPECIES_SHINY_PAL(GASTLY, gMonShinyPalette_Gastly), + SPECIES_SHINY_PAL(HAUNTER, gMonShinyPalette_Haunter), + SPECIES_SHINY_PAL(GENGAR, gMonShinyPalette_Gengar), + SPECIES_SHINY_PAL(ONIX, gMonShinyPalette_Onix), + SPECIES_SHINY_PAL(DROWZEE, gMonShinyPalette_Drowzee), + SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno), + SPECIES_SHINY_PAL(KRABBY, gMonShinyPalette_Krabby), + SPECIES_SHINY_PAL(KINGLER, gMonShinyPalette_Kingler), + SPECIES_SHINY_PAL(VOLTORB, gMonShinyPalette_Voltorb), + SPECIES_SHINY_PAL(ELECTRODE, gMonShinyPalette_Electrode), + SPECIES_SHINY_PAL(EXEGGCUTE, gMonShinyPalette_Exeggcute), + SPECIES_SHINY_PAL(EXEGGUTOR, gMonShinyPalette_Exeggutor), + SPECIES_SHINY_PAL(CUBONE, gMonShinyPalette_Cubone), + SPECIES_SHINY_PAL(MAROWAK, gMonShinyPalette_Marowak), + SPECIES_SHINY_PAL(HITMONLEE, gMonShinyPalette_Hitmonlee), + SPECIES_SHINY_PAL(HITMONCHAN, gMonShinyPalette_Hitmonchan), + SPECIES_SHINY_PAL(LICKITUNG, gMonShinyPalette_Lickitung), + SPECIES_SHINY_PAL(KOFFING, gMonShinyPalette_Koffing), + SPECIES_SHINY_PAL(WEEZING, gMonShinyPalette_Weezing), + SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn), + SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon), + SPECIES_SHINY_PAL(CHANSEY, gMonShinyPalette_Chansey), + SPECIES_SHINY_PAL(TANGELA, gMonShinyPalette_Tangela), + SPECIES_SHINY_PAL(KANGASKHAN, gMonShinyPalette_Kangaskhan), + SPECIES_SHINY_PAL(HORSEA, gMonShinyPalette_Horsea), + SPECIES_SHINY_PAL(SEADRA, gMonShinyPalette_Seadra), + SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen), + SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking), + SPECIES_SHINY_PAL(STARYU, gMonShinyPalette_Staryu), + SPECIES_SHINY_PAL(STARMIE, gMonShinyPalette_Starmie), + SPECIES_SHINY_PAL(MR_MIME, gMonShinyPalette_Mrmime), + SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther), + SPECIES_SHINY_PAL(JYNX, gMonShinyPalette_Jynx), + SPECIES_SHINY_PAL(ELECTABUZZ, gMonShinyPalette_Electabuzz), + SPECIES_SHINY_PAL(MAGMAR, gMonShinyPalette_Magmar), + SPECIES_SHINY_PAL(PINSIR, gMonShinyPalette_Pinsir), + SPECIES_SHINY_PAL(TAUROS, gMonShinyPalette_Tauros), + SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp), + SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados), + SPECIES_SHINY_PAL(LAPRAS, gMonShinyPalette_Lapras), + SPECIES_SHINY_PAL(DITTO, gMonShinyPalette_Ditto), + SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), + SPECIES_SHINY_PAL(VAPOREON, gMonShinyPalette_Vaporeon), + SPECIES_SHINY_PAL(JOLTEON, gMonShinyPalette_Jolteon), + SPECIES_SHINY_PAL(FLAREON, gMonShinyPalette_Flareon), + SPECIES_SHINY_PAL(PORYGON, gMonShinyPalette_Porygon), + SPECIES_SHINY_PAL(OMANYTE, gMonShinyPalette_Omanyte), + SPECIES_SHINY_PAL(OMASTAR, gMonShinyPalette_Omastar), + SPECIES_SHINY_PAL(KABUTO, gMonShinyPalette_Kabuto), + SPECIES_SHINY_PAL(KABUTOPS, gMonShinyPalette_Kabutops), + SPECIES_SHINY_PAL(AERODACTYL, gMonShinyPalette_Aerodactyl), + SPECIES_SHINY_PAL(SNORLAX, gMonShinyPalette_Snorlax), + SPECIES_SHINY_PAL(ARTICUNO, gMonShinyPalette_Articuno), + SPECIES_SHINY_PAL(ZAPDOS, gMonShinyPalette_Zapdos), + SPECIES_SHINY_PAL(MOLTRES, gMonShinyPalette_Moltres), + SPECIES_SHINY_PAL(DRATINI, gMonShinyPalette_Dratini), + SPECIES_SHINY_PAL(DRAGONAIR, gMonShinyPalette_Dragonair), + SPECIES_SHINY_PAL(DRAGONITE, gMonShinyPalette_Dragonite), + SPECIES_SHINY_PAL(MEWTWO, gMonShinyPalette_Mewtwo), + SPECIES_SHINY_PAL(MEW, gMonShinyPalette_Mew), + SPECIES_SHINY_PAL(CHIKORITA, gMonShinyPalette_Chikorita), + SPECIES_SHINY_PAL(BAYLEEF, gMonShinyPalette_Bayleef), + SPECIES_SHINY_PAL(MEGANIUM, gMonShinyPalette_Meganium), + SPECIES_SHINY_PAL(CYNDAQUIL, gMonShinyPalette_Cyndaquil), + SPECIES_SHINY_PAL(QUILAVA, gMonShinyPalette_Quilava), + SPECIES_SHINY_PAL(TYPHLOSION, gMonShinyPalette_Typhlosion), + SPECIES_SHINY_PAL(TOTODILE, gMonShinyPalette_Totodile), + SPECIES_SHINY_PAL(CROCONAW, gMonShinyPalette_Croconaw), + SPECIES_SHINY_PAL(FERALIGATR, gMonShinyPalette_Feraligatr), + SPECIES_SHINY_PAL(SENTRET, gMonShinyPalette_Sentret), + SPECIES_SHINY_PAL(FURRET, gMonShinyPalette_Furret), + SPECIES_SHINY_PAL(HOOTHOOT, gMonShinyPalette_Hoothoot), + SPECIES_SHINY_PAL(NOCTOWL, gMonShinyPalette_Noctowl), + SPECIES_SHINY_PAL(LEDYBA, gMonShinyPalette_Ledyba), + SPECIES_SHINY_PAL(LEDIAN, gMonShinyPalette_Ledian), + SPECIES_SHINY_PAL(SPINARAK, gMonShinyPalette_Spinarak), + SPECIES_SHINY_PAL(ARIADOS, gMonShinyPalette_Ariados), + SPECIES_SHINY_PAL(CROBAT, gMonShinyPalette_Crobat), + SPECIES_SHINY_PAL(CHINCHOU, gMonShinyPalette_Chinchou), + SPECIES_SHINY_PAL(LANTURN, gMonShinyPalette_Lanturn), + SPECIES_SHINY_PAL(PICHU, gMonShinyPalette_Pichu), + SPECIES_SHINY_PAL(CLEFFA, gMonShinyPalette_Cleffa), + SPECIES_SHINY_PAL(IGGLYBUFF, gMonShinyPalette_Igglybuff), + SPECIES_SHINY_PAL(TOGEPI, gMonShinyPalette_Togepi), + SPECIES_SHINY_PAL(TOGETIC, gMonShinyPalette_Togetic), + SPECIES_SHINY_PAL(NATU, gMonShinyPalette_Natu), + SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu), + SPECIES_SHINY_PAL(MAREEP, gMonShinyPalette_Mareep), + SPECIES_SHINY_PAL(FLAAFFY, gMonShinyPalette_Flaaffy), + SPECIES_SHINY_PAL(AMPHAROS, gMonShinyPalette_Ampharos), + SPECIES_SHINY_PAL(BELLOSSOM, gMonShinyPalette_Bellossom), + SPECIES_SHINY_PAL(MARILL, gMonShinyPalette_Marill), + SPECIES_SHINY_PAL(AZUMARILL, gMonShinyPalette_Azumarill), + SPECIES_SHINY_PAL(SUDOWOODO, gMonShinyPalette_Sudowoodo), + SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed), + SPECIES_SHINY_PAL(HOPPIP, gMonShinyPalette_Hoppip), + SPECIES_SHINY_PAL(SKIPLOOM, gMonShinyPalette_Skiploom), + SPECIES_SHINY_PAL(JUMPLUFF, gMonShinyPalette_Jumpluff), + SPECIES_SHINY_PAL(AIPOM, gMonShinyPalette_Aipom), + SPECIES_SHINY_PAL(SUNKERN, gMonShinyPalette_Sunkern), + SPECIES_SHINY_PAL(SUNFLORA, gMonShinyPalette_Sunflora), + SPECIES_SHINY_PAL(YANMA, gMonShinyPalette_Yanma), + SPECIES_SHINY_PAL(WOOPER, gMonShinyPalette_Wooper), + SPECIES_SHINY_PAL(QUAGSIRE, gMonShinyPalette_Quagsire), + SPECIES_SHINY_PAL(ESPEON, gMonShinyPalette_Espeon), + SPECIES_SHINY_PAL(UMBREON, gMonShinyPalette_Umbreon), + SPECIES_SHINY_PAL(MURKROW, gMonShinyPalette_Murkrow), + SPECIES_SHINY_PAL(SLOWKING, gMonShinyPalette_Slowking), + SPECIES_SHINY_PAL(MISDREAVUS, gMonShinyPalette_Misdreavus), + SPECIES_SHINY_PAL(UNOWN, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(WOBBUFFET, gMonShinyPalette_Wobbuffet), + SPECIES_SHINY_PAL(GIRAFARIG, gMonShinyPalette_Girafarig), + SPECIES_SHINY_PAL(PINECO, gMonShinyPalette_Pineco), + SPECIES_SHINY_PAL(FORRETRESS, gMonShinyPalette_Forretress), + SPECIES_SHINY_PAL(DUNSPARCE, gMonShinyPalette_Dunsparce), + SPECIES_SHINY_PAL(GLIGAR, gMonShinyPalette_Gligar), + SPECIES_SHINY_PAL(STEELIX, gMonShinyPalette_Steelix), + SPECIES_SHINY_PAL(SNUBBULL, gMonShinyPalette_Snubbull), + SPECIES_SHINY_PAL(GRANBULL, gMonShinyPalette_Granbull), + SPECIES_SHINY_PAL(QWILFISH, gMonShinyPalette_Qwilfish), + SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor), + SPECIES_SHINY_PAL(SHUCKLE, gMonShinyPalette_Shuckle), + SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross), + SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel), + SPECIES_SHINY_PAL(TEDDIURSA, gMonShinyPalette_Teddiursa), + SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring), + SPECIES_SHINY_PAL(SLUGMA, gMonShinyPalette_Slugma), + SPECIES_SHINY_PAL(MAGCARGO, gMonShinyPalette_Magcargo), + SPECIES_SHINY_PAL(SWINUB, gMonShinyPalette_Swinub), + SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine), + SPECIES_SHINY_PAL(CORSOLA, gMonShinyPalette_Corsola), + SPECIES_SHINY_PAL(REMORAID, gMonShinyPalette_Remoraid), + SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery), + SPECIES_SHINY_PAL(DELIBIRD, gMonShinyPalette_Delibird), + SPECIES_SHINY_PAL(MANTINE, gMonShinyPalette_Mantine), + SPECIES_SHINY_PAL(SKARMORY, gMonShinyPalette_Skarmory), + SPECIES_SHINY_PAL(HOUNDOUR, gMonShinyPalette_Houndour), + SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom), + SPECIES_SHINY_PAL(KINGDRA, gMonShinyPalette_Kingdra), + SPECIES_SHINY_PAL(PHANPY, gMonShinyPalette_Phanpy), + SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan), + SPECIES_SHINY_PAL(PORYGON2, gMonShinyPalette_Porygon2), + SPECIES_SHINY_PAL(STANTLER, gMonShinyPalette_Stantler), + SPECIES_SHINY_PAL(SMEARGLE, gMonShinyPalette_Smeargle), + SPECIES_SHINY_PAL(TYROGUE, gMonShinyPalette_Tyrogue), + SPECIES_SHINY_PAL(HITMONTOP, gMonShinyPalette_Hitmontop), + SPECIES_SHINY_PAL(SMOOCHUM, gMonShinyPalette_Smoochum), + SPECIES_SHINY_PAL(ELEKID, gMonShinyPalette_Elekid), + SPECIES_SHINY_PAL(MAGBY, gMonShinyPalette_Magby), + SPECIES_SHINY_PAL(MILTANK, gMonShinyPalette_Miltank), + SPECIES_SHINY_PAL(BLISSEY, gMonShinyPalette_Blissey), + SPECIES_SHINY_PAL(RAIKOU, gMonShinyPalette_Raikou), + SPECIES_SHINY_PAL(ENTEI, gMonShinyPalette_Entei), + SPECIES_SHINY_PAL(SUICUNE, gMonShinyPalette_Suicune), + SPECIES_SHINY_PAL(LARVITAR, gMonShinyPalette_Larvitar), + SPECIES_SHINY_PAL(PUPITAR, gMonShinyPalette_Pupitar), + SPECIES_SHINY_PAL(TYRANITAR, gMonShinyPalette_Tyranitar), + SPECIES_SHINY_PAL(LUGIA, gMonShinyPalette_Lugia), + SPECIES_SHINY_PAL(HO_OH, gMonShinyPalette_HoOh), + SPECIES_SHINY_PAL(CELEBI, gMonShinyPalette_Celebi), + SPECIES_SHINY_PAL(OLD_UNOWN_B, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_C, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_D, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_E, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_F, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_G, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_H, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_I, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_J, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_K, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_L, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_M, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_N, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_O, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_P, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Q, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_R, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_S, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_T, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_U, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_V, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_W, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_X, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Y, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Z, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(TREECKO, gMonShinyPalette_Treecko), + SPECIES_SHINY_PAL(GROVYLE, gMonShinyPalette_Grovyle), + SPECIES_SHINY_PAL(SCEPTILE, gMonShinyPalette_Sceptile), + SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic), + SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken), + SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken), + SPECIES_SHINY_PAL(MUDKIP, gMonShinyPalette_Mudkip), + SPECIES_SHINY_PAL(MARSHTOMP, gMonShinyPalette_Marshtomp), + SPECIES_SHINY_PAL(SWAMPERT, gMonShinyPalette_Swampert), + SPECIES_SHINY_PAL(POOCHYENA, gMonShinyPalette_Poochyena), + SPECIES_SHINY_PAL(MIGHTYENA, gMonShinyPalette_Mightyena), + SPECIES_SHINY_PAL(ZIGZAGOON, gMonShinyPalette_Zigzagoon), + SPECIES_SHINY_PAL(LINOONE, gMonShinyPalette_Linoone), + SPECIES_SHINY_PAL(WURMPLE, gMonShinyPalette_Wurmple), + SPECIES_SHINY_PAL(SILCOON, gMonShinyPalette_Silcoon), + SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly), + SPECIES_SHINY_PAL(CASCOON, gMonShinyPalette_Cascoon), + SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox), + SPECIES_SHINY_PAL(LOTAD, gMonShinyPalette_Lotad), + SPECIES_SHINY_PAL(LOMBRE, gMonShinyPalette_Lombre), + SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo), + SPECIES_SHINY_PAL(SEEDOT, gMonShinyPalette_Seedot), + SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf), + SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry), + SPECIES_SHINY_PAL(NINCADA, gMonShinyPalette_Nincada), + SPECIES_SHINY_PAL(NINJASK, gMonShinyPalette_Ninjask), + SPECIES_SHINY_PAL(SHEDINJA, gMonShinyPalette_Shedinja), + SPECIES_SHINY_PAL(TAILLOW, gMonShinyPalette_Taillow), + SPECIES_SHINY_PAL(SWELLOW, gMonShinyPalette_Swellow), + SPECIES_SHINY_PAL(SHROOMISH, gMonShinyPalette_Shroomish), + SPECIES_SHINY_PAL(BRELOOM, gMonShinyPalette_Breloom), + SPECIES_SHINY_PAL(SPINDA, gMonShinyPalette_Spinda), + SPECIES_SHINY_PAL(WINGULL, gMonShinyPalette_Wingull), + SPECIES_SHINY_PAL(PELIPPER, gMonShinyPalette_Pelipper), + SPECIES_SHINY_PAL(SURSKIT, gMonShinyPalette_Surskit), + SPECIES_SHINY_PAL(MASQUERAIN, gMonShinyPalette_Masquerain), + SPECIES_SHINY_PAL(WAILMER, gMonShinyPalette_Wailmer), + SPECIES_SHINY_PAL(WAILORD, gMonShinyPalette_Wailord), + SPECIES_SHINY_PAL(SKITTY, gMonShinyPalette_Skitty), + SPECIES_SHINY_PAL(DELCATTY, gMonShinyPalette_Delcatty), + SPECIES_SHINY_PAL(KECLEON, gMonShinyPalette_Kecleon), + SPECIES_SHINY_PAL(BALTOY, gMonShinyPalette_Baltoy), + SPECIES_SHINY_PAL(CLAYDOL, gMonShinyPalette_Claydol), + SPECIES_SHINY_PAL(NOSEPASS, gMonShinyPalette_Nosepass), + SPECIES_SHINY_PAL(TORKOAL, gMonShinyPalette_Torkoal), + SPECIES_SHINY_PAL(SABLEYE, gMonShinyPalette_Sableye), + SPECIES_SHINY_PAL(BARBOACH, gMonShinyPalette_Barboach), + SPECIES_SHINY_PAL(WHISCASH, gMonShinyPalette_Whiscash), + SPECIES_SHINY_PAL(LUVDISC, gMonShinyPalette_Luvdisc), + SPECIES_SHINY_PAL(CORPHISH, gMonShinyPalette_Corphish), + SPECIES_SHINY_PAL(CRAWDAUNT, gMonShinyPalette_Crawdaunt), + SPECIES_SHINY_PAL(FEEBAS, gMonShinyPalette_Feebas), + SPECIES_SHINY_PAL(MILOTIC, gMonShinyPalette_Milotic), + SPECIES_SHINY_PAL(CARVANHA, gMonShinyPalette_Carvanha), + SPECIES_SHINY_PAL(SHARPEDO, gMonShinyPalette_Sharpedo), + SPECIES_SHINY_PAL(TRAPINCH, gMonShinyPalette_Trapinch), + SPECIES_SHINY_PAL(VIBRAVA, gMonShinyPalette_Vibrava), + SPECIES_SHINY_PAL(FLYGON, gMonShinyPalette_Flygon), + SPECIES_SHINY_PAL(MAKUHITA, gMonShinyPalette_Makuhita), + SPECIES_SHINY_PAL(HARIYAMA, gMonShinyPalette_Hariyama), + SPECIES_SHINY_PAL(ELECTRIKE, gMonShinyPalette_Electrike), + SPECIES_SHINY_PAL(MANECTRIC, gMonShinyPalette_Manectric), + SPECIES_SHINY_PAL(NUMEL, gMonShinyPalette_Numel), + SPECIES_SHINY_PAL(CAMERUPT, gMonShinyPalette_Camerupt), + SPECIES_SHINY_PAL(SPHEAL, gMonShinyPalette_Spheal), + SPECIES_SHINY_PAL(SEALEO, gMonShinyPalette_Sealeo), + SPECIES_SHINY_PAL(WALREIN, gMonShinyPalette_Walrein), + SPECIES_SHINY_PAL(CACNEA, gMonShinyPalette_Cacnea), + SPECIES_SHINY_PAL(CACTURNE, gMonShinyPalette_Cacturne), + SPECIES_SHINY_PAL(SNORUNT, gMonShinyPalette_Snorunt), + SPECIES_SHINY_PAL(GLALIE, gMonShinyPalette_Glalie), + SPECIES_SHINY_PAL(LUNATONE, gMonShinyPalette_Lunatone), + SPECIES_SHINY_PAL(SOLROCK, gMonShinyPalette_Solrock), + SPECIES_SHINY_PAL(AZURILL, gMonShinyPalette_Azurill), + SPECIES_SHINY_PAL(SPOINK, gMonShinyPalette_Spoink), + SPECIES_SHINY_PAL(GRUMPIG, gMonShinyPalette_Grumpig), + SPECIES_SHINY_PAL(PLUSLE, gMonShinyPalette_Plusle), + SPECIES_SHINY_PAL(MINUN, gMonShinyPalette_Minun), + SPECIES_SHINY_PAL(MAWILE, gMonShinyPalette_Mawile), + SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite), + SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham), + SPECIES_SHINY_PAL(SWABLU, gMonShinyPalette_Swablu), + SPECIES_SHINY_PAL(ALTARIA, gMonShinyPalette_Altaria), + SPECIES_SHINY_PAL(WYNAUT, gMonShinyPalette_Wynaut), + SPECIES_SHINY_PAL(DUSKULL, gMonShinyPalette_Duskull), + SPECIES_SHINY_PAL(DUSCLOPS, gMonShinyPalette_Dusclops), + SPECIES_SHINY_PAL(ROSELIA, gMonShinyPalette_Roselia), + SPECIES_SHINY_PAL(SLAKOTH, gMonShinyPalette_Slakoth), + SPECIES_SHINY_PAL(VIGOROTH, gMonShinyPalette_Vigoroth), + SPECIES_SHINY_PAL(SLAKING, gMonShinyPalette_Slaking), + SPECIES_SHINY_PAL(GULPIN, gMonShinyPalette_Gulpin), + SPECIES_SHINY_PAL(SWALOT, gMonShinyPalette_Swalot), + SPECIES_SHINY_PAL(TROPIUS, gMonShinyPalette_Tropius), + SPECIES_SHINY_PAL(WHISMUR, gMonShinyPalette_Whismur), + SPECIES_SHINY_PAL(LOUDRED, gMonShinyPalette_Loudred), + SPECIES_SHINY_PAL(EXPLOUD, gMonShinyPalette_Exploud), + SPECIES_SHINY_PAL(CLAMPERL, gMonShinyPalette_Clamperl), + SPECIES_SHINY_PAL(HUNTAIL, gMonShinyPalette_Huntail), + SPECIES_SHINY_PAL(GOREBYSS, gMonShinyPalette_Gorebyss), + SPECIES_SHINY_PAL(ABSOL, gMonShinyPalette_Absol), + SPECIES_SHINY_PAL(SHUPPET, gMonShinyPalette_Shuppet), + SPECIES_SHINY_PAL(BANETTE, gMonShinyPalette_Banette), + SPECIES_SHINY_PAL(SEVIPER, gMonShinyPalette_Seviper), + SPECIES_SHINY_PAL(ZANGOOSE, gMonShinyPalette_Zangoose), + SPECIES_SHINY_PAL(RELICANTH, gMonShinyPalette_Relicanth), + SPECIES_SHINY_PAL(ARON, gMonShinyPalette_Aron), + SPECIES_SHINY_PAL(LAIRON, gMonShinyPalette_Lairon), + SPECIES_SHINY_PAL(AGGRON, gMonShinyPalette_Aggron), + SPECIES_SHINY_PAL(CASTFORM, gMonShinyPalette_Castform), + SPECIES_SHINY_PAL(VOLBEAT, gMonShinyPalette_Volbeat), + SPECIES_SHINY_PAL(ILLUMISE, gMonShinyPalette_Illumise), + SPECIES_SHINY_PAL(LILEEP, gMonShinyPalette_Lileep), + SPECIES_SHINY_PAL(CRADILY, gMonShinyPalette_Cradily), + SPECIES_SHINY_PAL(ANORITH, gMonShinyPalette_Anorith), + SPECIES_SHINY_PAL(ARMALDO, gMonShinyPalette_Armaldo), + SPECIES_SHINY_PAL(RALTS, gMonShinyPalette_Ralts), + SPECIES_SHINY_PAL(KIRLIA, gMonShinyPalette_Kirlia), + SPECIES_SHINY_PAL(GARDEVOIR, gMonShinyPalette_Gardevoir), + SPECIES_SHINY_PAL(BAGON, gMonShinyPalette_Bagon), + SPECIES_SHINY_PAL(SHELGON, gMonShinyPalette_Shelgon), + SPECIES_SHINY_PAL(SALAMENCE, gMonShinyPalette_Salamence), + SPECIES_SHINY_PAL(BELDUM, gMonShinyPalette_Beldum), + SPECIES_SHINY_PAL(METANG, gMonShinyPalette_Metang), + SPECIES_SHINY_PAL(METAGROSS, gMonShinyPalette_Metagross), + SPECIES_SHINY_PAL(REGIROCK, gMonShinyPalette_Regirock), + SPECIES_SHINY_PAL(REGICE, gMonShinyPalette_Regice), + SPECIES_SHINY_PAL(REGISTEEL, gMonShinyPalette_Registeel), + SPECIES_SHINY_PAL(KYOGRE, gMonShinyPalette_Kyogre), + SPECIES_SHINY_PAL(GROUDON, gMonShinyPalette_Groudon), + SPECIES_SHINY_PAL(RAYQUAZA, gMonShinyPalette_Rayquaza), + SPECIES_SHINY_PAL(LATIAS, gMonShinyPalette_Latias), + SPECIES_SHINY_PAL(LATIOS, gMonShinyPalette_Latios), + SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi), + SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys), + SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho), + SPECIES_SHINY_PAL(EGG, gMonPalette_Egg), + SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_E, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_F, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_G, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_H, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_I, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_J, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_K, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_L, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_M, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_N, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_O, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_P, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Q, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_R, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_S, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_T, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_U, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_V, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_W, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_X, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Y, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Z, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_EMARK, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_QMARK, gMonShinyPalette_Unown), }; diff --git a/src/data/pokemon_graphics/still_front_pic_table.h b/src/data/pokemon_graphics/still_front_pic_table.h index 308a872b48..985a3aa2fd 100644 --- a/src/data/pokemon_graphics/still_front_pic_table.h +++ b/src/data/pokemon_graphics/still_front_pic_table.h @@ -1,448 +1,446 @@ -#define STILL_FRONT_PIC(species, frontpic) [SPECIES_##species] = {frontpic, 0x800, SPECIES_##species} - -const struct CompressedSpriteSheet gMonStillFrontPicTable[] = +const struct CompressedSpriteSheet gMonStillFrontPicTable[] = { - STILL_FRONT_PIC(NONE, gMonStillFrontPic_CircledQuestionMark), - STILL_FRONT_PIC(BULBASAUR, gMonStillFrontPic_Bulbasaur), - STILL_FRONT_PIC(IVYSAUR, gMonStillFrontPic_Ivysaur), - STILL_FRONT_PIC(VENUSAUR, gMonStillFrontPic_Venusaur), - STILL_FRONT_PIC(CHARMANDER, gMonStillFrontPic_Charmander), - STILL_FRONT_PIC(CHARMELEON, gMonStillFrontPic_Charmeleon), - STILL_FRONT_PIC(CHARIZARD, gMonStillFrontPic_Charizard), - STILL_FRONT_PIC(SQUIRTLE, gMonStillFrontPic_Squirtle), - STILL_FRONT_PIC(WARTORTLE, gMonStillFrontPic_Wartortle), - STILL_FRONT_PIC(BLASTOISE, gMonStillFrontPic_Blastoise), - STILL_FRONT_PIC(CATERPIE, gMonStillFrontPic_Caterpie), - STILL_FRONT_PIC(METAPOD, gMonStillFrontPic_Metapod), - STILL_FRONT_PIC(BUTTERFREE, gMonStillFrontPic_Butterfree), - STILL_FRONT_PIC(WEEDLE, gMonStillFrontPic_Weedle), - STILL_FRONT_PIC(KAKUNA, gMonStillFrontPic_Kakuna), - STILL_FRONT_PIC(BEEDRILL, gMonStillFrontPic_Beedrill), - STILL_FRONT_PIC(PIDGEY, gMonStillFrontPic_Pidgey), - STILL_FRONT_PIC(PIDGEOTTO, gMonStillFrontPic_Pidgeotto), - STILL_FRONT_PIC(PIDGEOT, gMonStillFrontPic_Pidgeot), - STILL_FRONT_PIC(RATTATA, gMonStillFrontPic_Rattata), - STILL_FRONT_PIC(RATICATE, gMonStillFrontPic_Raticate), - STILL_FRONT_PIC(SPEAROW, gMonStillFrontPic_Spearow), - STILL_FRONT_PIC(FEAROW, gMonStillFrontPic_Fearow), - STILL_FRONT_PIC(EKANS, gMonStillFrontPic_Ekans), - STILL_FRONT_PIC(ARBOK, gMonStillFrontPic_Arbok), - STILL_FRONT_PIC(PIKACHU, gMonStillFrontPic_Pikachu), - STILL_FRONT_PIC(RAICHU, gMonStillFrontPic_Raichu), - STILL_FRONT_PIC(SANDSHREW, gMonStillFrontPic_Sandshrew), - STILL_FRONT_PIC(SANDSLASH, gMonStillFrontPic_Sandslash), - STILL_FRONT_PIC(NIDORAN_F, gMonStillFrontPic_NidoranF), - STILL_FRONT_PIC(NIDORINA, gMonStillFrontPic_Nidorina), - STILL_FRONT_PIC(NIDOQUEEN, gMonStillFrontPic_Nidoqueen), - STILL_FRONT_PIC(NIDORAN_M, gMonStillFrontPic_NidoranM), - STILL_FRONT_PIC(NIDORINO, gMonStillFrontPic_Nidorino), - STILL_FRONT_PIC(NIDOKING, gMonStillFrontPic_Nidoking), - STILL_FRONT_PIC(CLEFAIRY, gMonStillFrontPic_Clefairy), - STILL_FRONT_PIC(CLEFABLE, gMonStillFrontPic_Clefable), - STILL_FRONT_PIC(VULPIX, gMonStillFrontPic_Vulpix), - STILL_FRONT_PIC(NINETALES, gMonStillFrontPic_Ninetales), - STILL_FRONT_PIC(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff), - STILL_FRONT_PIC(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff), - STILL_FRONT_PIC(ZUBAT, gMonStillFrontPic_Zubat), - STILL_FRONT_PIC(GOLBAT, gMonStillFrontPic_Golbat), - STILL_FRONT_PIC(ODDISH, gMonStillFrontPic_Oddish), - STILL_FRONT_PIC(GLOOM, gMonStillFrontPic_Gloom), - STILL_FRONT_PIC(VILEPLUME, gMonStillFrontPic_Vileplume), - STILL_FRONT_PIC(PARAS, gMonStillFrontPic_Paras), - STILL_FRONT_PIC(PARASECT, gMonStillFrontPic_Parasect), - STILL_FRONT_PIC(VENONAT, gMonStillFrontPic_Venonat), - STILL_FRONT_PIC(VENOMOTH, gMonStillFrontPic_Venomoth), - STILL_FRONT_PIC(DIGLETT, gMonStillFrontPic_Diglett), - STILL_FRONT_PIC(DUGTRIO, gMonStillFrontPic_Dugtrio), - STILL_FRONT_PIC(MEOWTH, gMonStillFrontPic_Meowth), - STILL_FRONT_PIC(PERSIAN, gMonStillFrontPic_Persian), - STILL_FRONT_PIC(PSYDUCK, gMonStillFrontPic_Psyduck), - STILL_FRONT_PIC(GOLDUCK, gMonStillFrontPic_Golduck), - STILL_FRONT_PIC(MANKEY, gMonStillFrontPic_Mankey), - STILL_FRONT_PIC(PRIMEAPE, gMonStillFrontPic_Primeape), - STILL_FRONT_PIC(GROWLITHE, gMonStillFrontPic_Growlithe), - STILL_FRONT_PIC(ARCANINE, gMonStillFrontPic_Arcanine), - STILL_FRONT_PIC(POLIWAG, gMonStillFrontPic_Poliwag), - STILL_FRONT_PIC(POLIWHIRL, gMonStillFrontPic_Poliwhirl), - STILL_FRONT_PIC(POLIWRATH, gMonStillFrontPic_Poliwrath), - STILL_FRONT_PIC(ABRA, gMonStillFrontPic_Abra), - STILL_FRONT_PIC(KADABRA, gMonStillFrontPic_Kadabra), - STILL_FRONT_PIC(ALAKAZAM, gMonStillFrontPic_Alakazam), - STILL_FRONT_PIC(MACHOP, gMonStillFrontPic_Machop), - STILL_FRONT_PIC(MACHOKE, gMonStillFrontPic_Machoke), - STILL_FRONT_PIC(MACHAMP, gMonStillFrontPic_Machamp), - STILL_FRONT_PIC(BELLSPROUT, gMonStillFrontPic_Bellsprout), - STILL_FRONT_PIC(WEEPINBELL, gMonStillFrontPic_Weepinbell), - STILL_FRONT_PIC(VICTREEBEL, gMonStillFrontPic_Victreebel), - STILL_FRONT_PIC(TENTACOOL, gMonStillFrontPic_Tentacool), - STILL_FRONT_PIC(TENTACRUEL, gMonStillFrontPic_Tentacruel), - STILL_FRONT_PIC(GEODUDE, gMonStillFrontPic_Geodude), - STILL_FRONT_PIC(GRAVELER, gMonStillFrontPic_Graveler), - STILL_FRONT_PIC(GOLEM, gMonStillFrontPic_Golem), - STILL_FRONT_PIC(PONYTA, gMonStillFrontPic_Ponyta), - STILL_FRONT_PIC(RAPIDASH, gMonStillFrontPic_Rapidash), - STILL_FRONT_PIC(SLOWPOKE, gMonStillFrontPic_Slowpoke), - STILL_FRONT_PIC(SLOWBRO, gMonStillFrontPic_Slowbro), - STILL_FRONT_PIC(MAGNEMITE, gMonStillFrontPic_Magnemite), - STILL_FRONT_PIC(MAGNETON, gMonStillFrontPic_Magneton), - STILL_FRONT_PIC(FARFETCHD, gMonStillFrontPic_Farfetchd), - STILL_FRONT_PIC(DODUO, gMonStillFrontPic_Doduo), - STILL_FRONT_PIC(DODRIO, gMonStillFrontPic_Dodrio), - STILL_FRONT_PIC(SEEL, gMonStillFrontPic_Seel), - STILL_FRONT_PIC(DEWGONG, gMonStillFrontPic_Dewgong), - STILL_FRONT_PIC(GRIMER, gMonStillFrontPic_Grimer), - STILL_FRONT_PIC(MUK, gMonStillFrontPic_Muk), - STILL_FRONT_PIC(SHELLDER, gMonStillFrontPic_Shellder), - STILL_FRONT_PIC(CLOYSTER, gMonStillFrontPic_Cloyster), - STILL_FRONT_PIC(GASTLY, gMonStillFrontPic_Gastly), - STILL_FRONT_PIC(HAUNTER, gMonStillFrontPic_Haunter), - STILL_FRONT_PIC(GENGAR, gMonStillFrontPic_Gengar), - STILL_FRONT_PIC(ONIX, gMonStillFrontPic_Onix), - STILL_FRONT_PIC(DROWZEE, gMonStillFrontPic_Drowzee), - STILL_FRONT_PIC(HYPNO, gMonStillFrontPic_Hypno), - STILL_FRONT_PIC(KRABBY, gMonStillFrontPic_Krabby), - STILL_FRONT_PIC(KINGLER, gMonStillFrontPic_Kingler), - STILL_FRONT_PIC(VOLTORB, gMonStillFrontPic_Voltorb), - STILL_FRONT_PIC(ELECTRODE, gMonStillFrontPic_Electrode), - STILL_FRONT_PIC(EXEGGCUTE, gMonStillFrontPic_Exeggcute), - STILL_FRONT_PIC(EXEGGUTOR, gMonStillFrontPic_Exeggutor), - STILL_FRONT_PIC(CUBONE, gMonStillFrontPic_Cubone), - STILL_FRONT_PIC(MAROWAK, gMonStillFrontPic_Marowak), - STILL_FRONT_PIC(HITMONLEE, gMonStillFrontPic_Hitmonlee), - STILL_FRONT_PIC(HITMONCHAN, gMonStillFrontPic_Hitmonchan), - STILL_FRONT_PIC(LICKITUNG, gMonStillFrontPic_Lickitung), - STILL_FRONT_PIC(KOFFING, gMonStillFrontPic_Koffing), - STILL_FRONT_PIC(WEEZING, gMonStillFrontPic_Weezing), - STILL_FRONT_PIC(RHYHORN, gMonStillFrontPic_Rhyhorn), - STILL_FRONT_PIC(RHYDON, gMonStillFrontPic_Rhydon), - STILL_FRONT_PIC(CHANSEY, gMonStillFrontPic_Chansey), - STILL_FRONT_PIC(TANGELA, gMonStillFrontPic_Tangela), - STILL_FRONT_PIC(KANGASKHAN, gMonStillFrontPic_Kangaskhan), - STILL_FRONT_PIC(HORSEA, gMonStillFrontPic_Horsea), - STILL_FRONT_PIC(SEADRA, gMonStillFrontPic_Seadra), - STILL_FRONT_PIC(GOLDEEN, gMonStillFrontPic_Goldeen), - STILL_FRONT_PIC(SEAKING, gMonStillFrontPic_Seaking), - STILL_FRONT_PIC(STARYU, gMonStillFrontPic_Staryu), - STILL_FRONT_PIC(STARMIE, gMonStillFrontPic_Starmie), - STILL_FRONT_PIC(MR_MIME, gMonStillFrontPic_Mrmime), - STILL_FRONT_PIC(SCYTHER, gMonStillFrontPic_Scyther), - STILL_FRONT_PIC(JYNX, gMonStillFrontPic_Jynx), - STILL_FRONT_PIC(ELECTABUZZ, gMonStillFrontPic_Electabuzz), - STILL_FRONT_PIC(MAGMAR, gMonStillFrontPic_Magmar), - STILL_FRONT_PIC(PINSIR, gMonStillFrontPic_Pinsir), - STILL_FRONT_PIC(TAUROS, gMonStillFrontPic_Tauros), - STILL_FRONT_PIC(MAGIKARP, gMonStillFrontPic_Magikarp), - STILL_FRONT_PIC(GYARADOS, gMonStillFrontPic_Gyarados), - STILL_FRONT_PIC(LAPRAS, gMonStillFrontPic_Lapras), - STILL_FRONT_PIC(DITTO, gMonStillFrontPic_Ditto), - STILL_FRONT_PIC(EEVEE, gMonStillFrontPic_Eevee), - STILL_FRONT_PIC(VAPOREON, gMonStillFrontPic_Vaporeon), - STILL_FRONT_PIC(JOLTEON, gMonStillFrontPic_Jolteon), - STILL_FRONT_PIC(FLAREON, gMonStillFrontPic_Flareon), - STILL_FRONT_PIC(PORYGON, gMonStillFrontPic_Porygon), - STILL_FRONT_PIC(OMANYTE, gMonStillFrontPic_Omanyte), - STILL_FRONT_PIC(OMASTAR, gMonStillFrontPic_Omastar), - STILL_FRONT_PIC(KABUTO, gMonStillFrontPic_Kabuto), - STILL_FRONT_PIC(KABUTOPS, gMonStillFrontPic_Kabutops), - STILL_FRONT_PIC(AERODACTYL, gMonStillFrontPic_Aerodactyl), - STILL_FRONT_PIC(SNORLAX, gMonStillFrontPic_Snorlax), - STILL_FRONT_PIC(ARTICUNO, gMonStillFrontPic_Articuno), - STILL_FRONT_PIC(ZAPDOS, gMonStillFrontPic_Zapdos), - STILL_FRONT_PIC(MOLTRES, gMonStillFrontPic_Moltres), - STILL_FRONT_PIC(DRATINI, gMonStillFrontPic_Dratini), - STILL_FRONT_PIC(DRAGONAIR, gMonStillFrontPic_Dragonair), - STILL_FRONT_PIC(DRAGONITE, gMonStillFrontPic_Dragonite), - STILL_FRONT_PIC(MEWTWO, gMonStillFrontPic_Mewtwo), - STILL_FRONT_PIC(MEW, gMonStillFrontPic_Mew), + SPECIES_SPRITE(NONE, gMonStillFrontPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonStillFrontPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonStillFrontPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonStillFrontPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonStillFrontPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonStillFrontPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonStillFrontPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonStillFrontPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonStillFrontPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonStillFrontPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonStillFrontPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonStillFrontPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonStillFrontPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonStillFrontPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonStillFrontPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonStillFrontPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonStillFrontPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonStillFrontPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonStillFrontPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonStillFrontPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonStillFrontPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonStillFrontPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonStillFrontPic_Fearow), + SPECIES_SPRITE(EKANS, gMonStillFrontPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonStillFrontPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonStillFrontPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonStillFrontPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonStillFrontPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonStillFrontPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonStillFrontPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonStillFrontPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonStillFrontPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonStillFrontPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonStillFrontPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonStillFrontPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonStillFrontPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonStillFrontPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonStillFrontPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonStillFrontPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonStillFrontPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonStillFrontPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonStillFrontPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonStillFrontPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonStillFrontPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonStillFrontPic_Paras), + SPECIES_SPRITE(PARASECT, gMonStillFrontPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonStillFrontPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonStillFrontPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonStillFrontPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonStillFrontPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonStillFrontPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonStillFrontPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonStillFrontPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonStillFrontPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonStillFrontPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonStillFrontPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonStillFrontPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonStillFrontPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonStillFrontPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonStillFrontPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonStillFrontPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonStillFrontPic_Abra), + SPECIES_SPRITE(KADABRA, gMonStillFrontPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonStillFrontPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonStillFrontPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonStillFrontPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonStillFrontPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonStillFrontPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonStillFrontPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonStillFrontPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonStillFrontPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonStillFrontPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonStillFrontPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonStillFrontPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonStillFrontPic_Golem), + SPECIES_SPRITE(PONYTA, gMonStillFrontPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonStillFrontPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonStillFrontPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonStillFrontPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonStillFrontPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonStillFrontPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonStillFrontPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonStillFrontPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonStillFrontPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonStillFrontPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonStillFrontPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonStillFrontPic_Grimer), + SPECIES_SPRITE(MUK, gMonStillFrontPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonStillFrontPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonStillFrontPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonStillFrontPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonStillFrontPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonStillFrontPic_Gengar), + SPECIES_SPRITE(ONIX, gMonStillFrontPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonStillFrontPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonStillFrontPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonStillFrontPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonStillFrontPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonStillFrontPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonStillFrontPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonStillFrontPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonStillFrontPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonStillFrontPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonStillFrontPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonStillFrontPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonStillFrontPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonStillFrontPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonStillFrontPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonStillFrontPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonStillFrontPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonStillFrontPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonStillFrontPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonStillFrontPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonStillFrontPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonStillFrontPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonStillFrontPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonStillFrontPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonStillFrontPic_Seaking), + SPECIES_SPRITE(STARYU, gMonStillFrontPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonStillFrontPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonStillFrontPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonStillFrontPic_Scyther), + SPECIES_SPRITE(JYNX, gMonStillFrontPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonStillFrontPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonStillFrontPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonStillFrontPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonStillFrontPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonStillFrontPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonStillFrontPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonStillFrontPic_Lapras), + SPECIES_SPRITE(DITTO, gMonStillFrontPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonStillFrontPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonStillFrontPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonStillFrontPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonStillFrontPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonStillFrontPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonStillFrontPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonStillFrontPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonStillFrontPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonStillFrontPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonStillFrontPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonStillFrontPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonStillFrontPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonStillFrontPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonStillFrontPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonStillFrontPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonStillFrontPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonStillFrontPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonStillFrontPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonStillFrontPic_Mew), // Gen II - STILL_FRONT_PIC(CHIKORITA, gMonStillFrontPic_Chikorita), - STILL_FRONT_PIC(BAYLEEF, gMonStillFrontPic_Bayleef), - STILL_FRONT_PIC(MEGANIUM, gMonStillFrontPic_Meganium), - STILL_FRONT_PIC(CYNDAQUIL, gMonStillFrontPic_Cyndaquil), - STILL_FRONT_PIC(QUILAVA, gMonStillFrontPic_Quilava), - STILL_FRONT_PIC(TYPHLOSION, gMonStillFrontPic_Typhlosion), - STILL_FRONT_PIC(TOTODILE, gMonStillFrontPic_Totodile), - STILL_FRONT_PIC(CROCONAW, gMonStillFrontPic_Croconaw), - STILL_FRONT_PIC(FERALIGATR, gMonStillFrontPic_Feraligatr), - STILL_FRONT_PIC(SENTRET, gMonStillFrontPic_Sentret), - STILL_FRONT_PIC(FURRET, gMonStillFrontPic_Furret), - STILL_FRONT_PIC(HOOTHOOT, gMonStillFrontPic_Hoothoot), - STILL_FRONT_PIC(NOCTOWL, gMonStillFrontPic_Noctowl), - STILL_FRONT_PIC(LEDYBA, gMonStillFrontPic_Ledyba), - STILL_FRONT_PIC(LEDIAN, gMonStillFrontPic_Ledian), - STILL_FRONT_PIC(SPINARAK, gMonStillFrontPic_Spinarak), - STILL_FRONT_PIC(ARIADOS, gMonStillFrontPic_Ariados), - STILL_FRONT_PIC(CROBAT, gMonStillFrontPic_Crobat), - STILL_FRONT_PIC(CHINCHOU, gMonStillFrontPic_Chinchou), - STILL_FRONT_PIC(LANTURN, gMonStillFrontPic_Lanturn), - STILL_FRONT_PIC(PICHU, gMonStillFrontPic_Pichu), - STILL_FRONT_PIC(CLEFFA, gMonStillFrontPic_Cleffa), - STILL_FRONT_PIC(IGGLYBUFF, gMonStillFrontPic_Igglybuff), - STILL_FRONT_PIC(TOGEPI, gMonStillFrontPic_Togepi), - STILL_FRONT_PIC(TOGETIC, gMonStillFrontPic_Togetic), - STILL_FRONT_PIC(NATU, gMonStillFrontPic_Natu), - STILL_FRONT_PIC(XATU, gMonStillFrontPic_Xatu), - STILL_FRONT_PIC(MAREEP, gMonStillFrontPic_Mareep), - STILL_FRONT_PIC(FLAAFFY, gMonStillFrontPic_Flaaffy), - STILL_FRONT_PIC(AMPHAROS, gMonStillFrontPic_Ampharos), - STILL_FRONT_PIC(BELLOSSOM, gMonStillFrontPic_Bellossom), - STILL_FRONT_PIC(MARILL, gMonStillFrontPic_Marill), - STILL_FRONT_PIC(AZUMARILL, gMonStillFrontPic_Azumarill), - STILL_FRONT_PIC(SUDOWOODO, gMonStillFrontPic_Sudowoodo), - STILL_FRONT_PIC(POLITOED, gMonStillFrontPic_Politoed), - STILL_FRONT_PIC(HOPPIP, gMonStillFrontPic_Hoppip), - STILL_FRONT_PIC(SKIPLOOM, gMonStillFrontPic_Skiploom), - STILL_FRONT_PIC(JUMPLUFF, gMonStillFrontPic_Jumpluff), - STILL_FRONT_PIC(AIPOM, gMonStillFrontPic_Aipom), - STILL_FRONT_PIC(SUNKERN, gMonStillFrontPic_Sunkern), - STILL_FRONT_PIC(SUNFLORA, gMonStillFrontPic_Sunflora), - STILL_FRONT_PIC(YANMA, gMonStillFrontPic_Yanma), - STILL_FRONT_PIC(WOOPER, gMonStillFrontPic_Wooper), - STILL_FRONT_PIC(QUAGSIRE, gMonStillFrontPic_Quagsire), - STILL_FRONT_PIC(ESPEON, gMonStillFrontPic_Espeon), - STILL_FRONT_PIC(UMBREON, gMonStillFrontPic_Umbreon), - STILL_FRONT_PIC(MURKROW, gMonStillFrontPic_Murkrow), - STILL_FRONT_PIC(SLOWKING, gMonStillFrontPic_Slowking), - STILL_FRONT_PIC(MISDREAVUS, gMonStillFrontPic_Misdreavus), - STILL_FRONT_PIC(UNOWN, gMonStillFrontPic_UnownA), - STILL_FRONT_PIC(WOBBUFFET, gMonStillFrontPic_Wobbuffet), - STILL_FRONT_PIC(GIRAFARIG, gMonStillFrontPic_Girafarig), - STILL_FRONT_PIC(PINECO, gMonStillFrontPic_Pineco), - STILL_FRONT_PIC(FORRETRESS, gMonStillFrontPic_Forretress), - STILL_FRONT_PIC(DUNSPARCE, gMonStillFrontPic_Dunsparce), - STILL_FRONT_PIC(GLIGAR, gMonStillFrontPic_Gligar), - STILL_FRONT_PIC(STEELIX, gMonStillFrontPic_Steelix), - STILL_FRONT_PIC(SNUBBULL, gMonStillFrontPic_Snubbull), - STILL_FRONT_PIC(GRANBULL, gMonStillFrontPic_Granbull), - STILL_FRONT_PIC(QWILFISH, gMonStillFrontPic_Qwilfish), - STILL_FRONT_PIC(SCIZOR, gMonStillFrontPic_Scizor), - STILL_FRONT_PIC(SHUCKLE, gMonStillFrontPic_Shuckle), - STILL_FRONT_PIC(HERACROSS, gMonStillFrontPic_Heracross), - STILL_FRONT_PIC(SNEASEL, gMonStillFrontPic_Sneasel), - STILL_FRONT_PIC(TEDDIURSA, gMonStillFrontPic_Teddiursa), - STILL_FRONT_PIC(URSARING, gMonStillFrontPic_Ursaring), - STILL_FRONT_PIC(SLUGMA, gMonStillFrontPic_Slugma), - STILL_FRONT_PIC(MAGCARGO, gMonStillFrontPic_Magcargo), - STILL_FRONT_PIC(SWINUB, gMonStillFrontPic_Swinub), - STILL_FRONT_PIC(PILOSWINE, gMonStillFrontPic_Piloswine), - STILL_FRONT_PIC(CORSOLA, gMonStillFrontPic_Corsola), - STILL_FRONT_PIC(REMORAID, gMonStillFrontPic_Remoraid), - STILL_FRONT_PIC(OCTILLERY, gMonStillFrontPic_Octillery), - STILL_FRONT_PIC(DELIBIRD, gMonStillFrontPic_Delibird), - STILL_FRONT_PIC(MANTINE, gMonStillFrontPic_Mantine), - STILL_FRONT_PIC(SKARMORY, gMonStillFrontPic_Skarmory), - STILL_FRONT_PIC(HOUNDOUR, gMonStillFrontPic_Houndour), - STILL_FRONT_PIC(HOUNDOOM, gMonStillFrontPic_Houndoom), - STILL_FRONT_PIC(KINGDRA, gMonStillFrontPic_Kingdra), - STILL_FRONT_PIC(PHANPY, gMonStillFrontPic_Phanpy), - STILL_FRONT_PIC(DONPHAN, gMonStillFrontPic_Donphan), - STILL_FRONT_PIC(PORYGON2, gMonStillFrontPic_Porygon2), - STILL_FRONT_PIC(STANTLER, gMonStillFrontPic_Stantler), - STILL_FRONT_PIC(SMEARGLE, gMonStillFrontPic_Smeargle), - STILL_FRONT_PIC(TYROGUE, gMonStillFrontPic_Tyrogue), - STILL_FRONT_PIC(HITMONTOP, gMonStillFrontPic_Hitmontop), - STILL_FRONT_PIC(SMOOCHUM, gMonStillFrontPic_Smoochum), - STILL_FRONT_PIC(ELEKID, gMonStillFrontPic_Elekid), - STILL_FRONT_PIC(MAGBY, gMonStillFrontPic_Magby), - STILL_FRONT_PIC(MILTANK, gMonStillFrontPic_Miltank), - STILL_FRONT_PIC(BLISSEY, gMonStillFrontPic_Blissey), - STILL_FRONT_PIC(RAIKOU, gMonStillFrontPic_Raikou), - STILL_FRONT_PIC(ENTEI, gMonStillFrontPic_Entei), - STILL_FRONT_PIC(SUICUNE, gMonStillFrontPic_Suicune), - STILL_FRONT_PIC(LARVITAR, gMonStillFrontPic_Larvitar), - STILL_FRONT_PIC(PUPITAR, gMonStillFrontPic_Pupitar), - STILL_FRONT_PIC(TYRANITAR, gMonStillFrontPic_Tyranitar), - STILL_FRONT_PIC(LUGIA, gMonStillFrontPic_Lugia), - STILL_FRONT_PIC(HO_OH, gMonStillFrontPic_HoOh), - STILL_FRONT_PIC(CELEBI, gMonStillFrontPic_Celebi), + SPECIES_SPRITE(CHIKORITA, gMonStillFrontPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonStillFrontPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonStillFrontPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonStillFrontPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonStillFrontPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonStillFrontPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonStillFrontPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonStillFrontPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonStillFrontPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonStillFrontPic_Sentret), + SPECIES_SPRITE(FURRET, gMonStillFrontPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonStillFrontPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonStillFrontPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonStillFrontPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonStillFrontPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonStillFrontPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonStillFrontPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonStillFrontPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonStillFrontPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonStillFrontPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonStillFrontPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonStillFrontPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonStillFrontPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonStillFrontPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonStillFrontPic_Togetic), + SPECIES_SPRITE(NATU, gMonStillFrontPic_Natu), + SPECIES_SPRITE(XATU, gMonStillFrontPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonStillFrontPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonStillFrontPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonStillFrontPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonStillFrontPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonStillFrontPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonStillFrontPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonStillFrontPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonStillFrontPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonStillFrontPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonStillFrontPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonStillFrontPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonStillFrontPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonStillFrontPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonStillFrontPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonStillFrontPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonStillFrontPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonStillFrontPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonStillFrontPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonStillFrontPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonStillFrontPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonStillFrontPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonStillFrontPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonStillFrontPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonStillFrontPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonStillFrontPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonStillFrontPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonStillFrontPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonStillFrontPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonStillFrontPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonStillFrontPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonStillFrontPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonStillFrontPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonStillFrontPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonStillFrontPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonStillFrontPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonStillFrontPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonStillFrontPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonStillFrontPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonStillFrontPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonStillFrontPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonStillFrontPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonStillFrontPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonStillFrontPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonStillFrontPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonStillFrontPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonStillFrontPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonStillFrontPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonStillFrontPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonStillFrontPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonStillFrontPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonStillFrontPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonStillFrontPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonStillFrontPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonStillFrontPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonStillFrontPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonStillFrontPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonStillFrontPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonStillFrontPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonStillFrontPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonStillFrontPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonStillFrontPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonStillFrontPic_Magby), + SPECIES_SPRITE(MILTANK, gMonStillFrontPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonStillFrontPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonStillFrontPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonStillFrontPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonStillFrontPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonStillFrontPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonStillFrontPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonStillFrontPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonStillFrontPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonStillFrontPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonStillFrontPic_Celebi), // Empty slots - STILL_FRONT_PIC(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark), // Gen III - STILL_FRONT_PIC(TREECKO, gMonStillFrontPic_Treecko), - STILL_FRONT_PIC(GROVYLE, gMonStillFrontPic_Grovyle), - STILL_FRONT_PIC(SCEPTILE, gMonStillFrontPic_Sceptile), - STILL_FRONT_PIC(TORCHIC, gMonStillFrontPic_Torchic), - STILL_FRONT_PIC(COMBUSKEN, gMonStillFrontPic_Combusken), - STILL_FRONT_PIC(BLAZIKEN, gMonStillFrontPic_Blaziken), - STILL_FRONT_PIC(MUDKIP, gMonStillFrontPic_Mudkip), - STILL_FRONT_PIC(MARSHTOMP, gMonStillFrontPic_Marshtomp), - STILL_FRONT_PIC(SWAMPERT, gMonStillFrontPic_Swampert), - STILL_FRONT_PIC(POOCHYENA, gMonStillFrontPic_Poochyena), - STILL_FRONT_PIC(MIGHTYENA, gMonStillFrontPic_Mightyena), - STILL_FRONT_PIC(ZIGZAGOON, gMonStillFrontPic_Zigzagoon), - STILL_FRONT_PIC(LINOONE, gMonStillFrontPic_Linoone), - STILL_FRONT_PIC(WURMPLE, gMonStillFrontPic_Wurmple), - STILL_FRONT_PIC(SILCOON, gMonStillFrontPic_Silcoon), - STILL_FRONT_PIC(BEAUTIFLY, gMonStillFrontPic_Beautifly), - STILL_FRONT_PIC(CASCOON, gMonStillFrontPic_Cascoon), - STILL_FRONT_PIC(DUSTOX, gMonStillFrontPic_Dustox), - STILL_FRONT_PIC(LOTAD, gMonStillFrontPic_Lotad), - STILL_FRONT_PIC(LOMBRE, gMonStillFrontPic_Lombre), - STILL_FRONT_PIC(LUDICOLO, gMonStillFrontPic_Ludicolo), - STILL_FRONT_PIC(SEEDOT, gMonStillFrontPic_Seedot), - STILL_FRONT_PIC(NUZLEAF, gMonStillFrontPic_Nuzleaf), - STILL_FRONT_PIC(SHIFTRY, gMonStillFrontPic_Shiftry), - STILL_FRONT_PIC(NINCADA, gMonStillFrontPic_Nincada), - STILL_FRONT_PIC(NINJASK, gMonStillFrontPic_Ninjask), - STILL_FRONT_PIC(SHEDINJA, gMonStillFrontPic_Shedinja), - STILL_FRONT_PIC(TAILLOW, gMonStillFrontPic_Taillow), - STILL_FRONT_PIC(SWELLOW, gMonStillFrontPic_Swellow), - STILL_FRONT_PIC(SHROOMISH, gMonStillFrontPic_Shroomish), - STILL_FRONT_PIC(BRELOOM, gMonStillFrontPic_Breloom), - STILL_FRONT_PIC(SPINDA, gMonStillFrontPic_Spinda), - STILL_FRONT_PIC(WINGULL, gMonStillFrontPic_Wingull), - STILL_FRONT_PIC(PELIPPER, gMonStillFrontPic_Pelipper), - STILL_FRONT_PIC(SURSKIT, gMonStillFrontPic_Surskit), - STILL_FRONT_PIC(MASQUERAIN, gMonStillFrontPic_Masquerain), - STILL_FRONT_PIC(WAILMER, gMonStillFrontPic_Wailmer), - STILL_FRONT_PIC(WAILORD, gMonStillFrontPic_Wailord), - STILL_FRONT_PIC(SKITTY, gMonStillFrontPic_Skitty), - STILL_FRONT_PIC(DELCATTY, gMonStillFrontPic_Delcatty), - STILL_FRONT_PIC(KECLEON, gMonStillFrontPic_Kecleon), - STILL_FRONT_PIC(BALTOY, gMonStillFrontPic_Baltoy), - STILL_FRONT_PIC(CLAYDOL, gMonStillFrontPic_Claydol), - STILL_FRONT_PIC(NOSEPASS, gMonStillFrontPic_Nosepass), - STILL_FRONT_PIC(TORKOAL, gMonStillFrontPic_Torkoal), - STILL_FRONT_PIC(SABLEYE, gMonStillFrontPic_Sableye), - STILL_FRONT_PIC(BARBOACH, gMonStillFrontPic_Barboach), - STILL_FRONT_PIC(WHISCASH, gMonStillFrontPic_Whiscash), - STILL_FRONT_PIC(LUVDISC, gMonStillFrontPic_Luvdisc), - STILL_FRONT_PIC(CORPHISH, gMonStillFrontPic_Corphish), - STILL_FRONT_PIC(CRAWDAUNT, gMonStillFrontPic_Crawdaunt), - STILL_FRONT_PIC(FEEBAS, gMonStillFrontPic_Feebas), - STILL_FRONT_PIC(MILOTIC, gMonStillFrontPic_Milotic), - STILL_FRONT_PIC(CARVANHA, gMonStillFrontPic_Carvanha), - STILL_FRONT_PIC(SHARPEDO, gMonStillFrontPic_Sharpedo), - STILL_FRONT_PIC(TRAPINCH, gMonStillFrontPic_Trapinch), - STILL_FRONT_PIC(VIBRAVA, gMonStillFrontPic_Vibrava), - STILL_FRONT_PIC(FLYGON, gMonStillFrontPic_Flygon), - STILL_FRONT_PIC(MAKUHITA, gMonStillFrontPic_Makuhita), - STILL_FRONT_PIC(HARIYAMA, gMonStillFrontPic_Hariyama), - STILL_FRONT_PIC(ELECTRIKE, gMonStillFrontPic_Electrike), - STILL_FRONT_PIC(MANECTRIC, gMonStillFrontPic_Manectric), - STILL_FRONT_PIC(NUMEL, gMonStillFrontPic_Numel), - STILL_FRONT_PIC(CAMERUPT, gMonStillFrontPic_Camerupt), - STILL_FRONT_PIC(SPHEAL, gMonStillFrontPic_Spheal), - STILL_FRONT_PIC(SEALEO, gMonStillFrontPic_Sealeo), - STILL_FRONT_PIC(WALREIN, gMonStillFrontPic_Walrein), - STILL_FRONT_PIC(CACNEA, gMonStillFrontPic_Cacnea), - STILL_FRONT_PIC(CACTURNE, gMonStillFrontPic_Cacturne), - STILL_FRONT_PIC(SNORUNT, gMonStillFrontPic_Snorunt), - STILL_FRONT_PIC(GLALIE, gMonStillFrontPic_Glalie), - STILL_FRONT_PIC(LUNATONE, gMonStillFrontPic_Lunatone), - STILL_FRONT_PIC(SOLROCK, gMonStillFrontPic_Solrock), - STILL_FRONT_PIC(AZURILL, gMonStillFrontPic_Azurill), - STILL_FRONT_PIC(SPOINK, gMonStillFrontPic_Spoink), - STILL_FRONT_PIC(GRUMPIG, gMonStillFrontPic_Grumpig), - STILL_FRONT_PIC(PLUSLE, gMonStillFrontPic_Plusle), - STILL_FRONT_PIC(MINUN, gMonStillFrontPic_Minun), - STILL_FRONT_PIC(MAWILE, gMonStillFrontPic_Mawile), - STILL_FRONT_PIC(MEDITITE, gMonStillFrontPic_Meditite), - STILL_FRONT_PIC(MEDICHAM, gMonStillFrontPic_Medicham), - STILL_FRONT_PIC(SWABLU, gMonStillFrontPic_Swablu), - STILL_FRONT_PIC(ALTARIA, gMonStillFrontPic_Altaria), - STILL_FRONT_PIC(WYNAUT, gMonStillFrontPic_Wynaut), - STILL_FRONT_PIC(DUSKULL, gMonStillFrontPic_Duskull), - STILL_FRONT_PIC(DUSCLOPS, gMonStillFrontPic_Dusclops), - STILL_FRONT_PIC(ROSELIA, gMonStillFrontPic_Roselia), - STILL_FRONT_PIC(SLAKOTH, gMonStillFrontPic_Slakoth), - STILL_FRONT_PIC(VIGOROTH, gMonStillFrontPic_Vigoroth), - STILL_FRONT_PIC(SLAKING, gMonStillFrontPic_Slaking), - STILL_FRONT_PIC(GULPIN, gMonStillFrontPic_Gulpin), - STILL_FRONT_PIC(SWALOT, gMonStillFrontPic_Swalot), - STILL_FRONT_PIC(TROPIUS, gMonStillFrontPic_Tropius), - STILL_FRONT_PIC(WHISMUR, gMonStillFrontPic_Whismur), - STILL_FRONT_PIC(LOUDRED, gMonStillFrontPic_Loudred), - STILL_FRONT_PIC(EXPLOUD, gMonStillFrontPic_Exploud), - STILL_FRONT_PIC(CLAMPERL, gMonStillFrontPic_Clamperl), - STILL_FRONT_PIC(HUNTAIL, gMonStillFrontPic_Huntail), - STILL_FRONT_PIC(GOREBYSS, gMonStillFrontPic_Gorebyss), - STILL_FRONT_PIC(ABSOL, gMonStillFrontPic_Absol), - STILL_FRONT_PIC(SHUPPET, gMonStillFrontPic_Shuppet), - STILL_FRONT_PIC(BANETTE, gMonStillFrontPic_Banette), - STILL_FRONT_PIC(SEVIPER, gMonStillFrontPic_Seviper), - STILL_FRONT_PIC(ZANGOOSE, gMonStillFrontPic_Zangoose), - STILL_FRONT_PIC(RELICANTH, gMonStillFrontPic_Relicanth), - STILL_FRONT_PIC(ARON, gMonStillFrontPic_Aron), - STILL_FRONT_PIC(LAIRON, gMonStillFrontPic_Lairon), - STILL_FRONT_PIC(AGGRON, gMonStillFrontPic_Aggron), - STILL_FRONT_PIC(CASTFORM, gMonStillFrontPic_Castform), - STILL_FRONT_PIC(VOLBEAT, gMonStillFrontPic_Volbeat), - STILL_FRONT_PIC(ILLUMISE, gMonStillFrontPic_Illumise), - STILL_FRONT_PIC(LILEEP, gMonStillFrontPic_Lileep), - STILL_FRONT_PIC(CRADILY, gMonStillFrontPic_Cradily), - STILL_FRONT_PIC(ANORITH, gMonStillFrontPic_Anorith), - STILL_FRONT_PIC(ARMALDO, gMonStillFrontPic_Armaldo), - STILL_FRONT_PIC(RALTS, gMonStillFrontPic_Ralts), - STILL_FRONT_PIC(KIRLIA, gMonStillFrontPic_Kirlia), - STILL_FRONT_PIC(GARDEVOIR, gMonStillFrontPic_Gardevoir), - STILL_FRONT_PIC(BAGON, gMonStillFrontPic_Bagon), - STILL_FRONT_PIC(SHELGON, gMonStillFrontPic_Shelgon), - STILL_FRONT_PIC(SALAMENCE, gMonStillFrontPic_Salamence), - STILL_FRONT_PIC(BELDUM, gMonStillFrontPic_Beldum), - STILL_FRONT_PIC(METANG, gMonStillFrontPic_Metang), - STILL_FRONT_PIC(METAGROSS, gMonStillFrontPic_Metagross), - STILL_FRONT_PIC(REGIROCK, gMonStillFrontPic_Regirock), - STILL_FRONT_PIC(REGICE, gMonStillFrontPic_Regice), - STILL_FRONT_PIC(REGISTEEL, gMonStillFrontPic_Registeel), - STILL_FRONT_PIC(KYOGRE, gMonStillFrontPic_Kyogre), - STILL_FRONT_PIC(GROUDON, gMonStillFrontPic_Groudon), - STILL_FRONT_PIC(RAYQUAZA, gMonStillFrontPic_Rayquaza), - STILL_FRONT_PIC(LATIAS, gMonStillFrontPic_Latias), - STILL_FRONT_PIC(LATIOS, gMonStillFrontPic_Latios), - STILL_FRONT_PIC(JIRACHI, gMonStillFrontPic_Jirachi), - STILL_FRONT_PIC(DEOXYS, gMonStillFrontPic_Deoxys), - STILL_FRONT_PIC(CHIMECHO, gMonStillFrontPic_Chimecho), - STILL_FRONT_PIC(EGG, gMonStillFrontPic_Egg), - STILL_FRONT_PIC(UNOWN_B, gMonStillFrontPic_UnownB), - STILL_FRONT_PIC(UNOWN_C, gMonStillFrontPic_UnownC), - STILL_FRONT_PIC(UNOWN_D, gMonStillFrontPic_UnownD), - STILL_FRONT_PIC(UNOWN_E, gMonStillFrontPic_UnownE), - STILL_FRONT_PIC(UNOWN_F, gMonStillFrontPic_UnownF), - STILL_FRONT_PIC(UNOWN_G, gMonStillFrontPic_UnownG), - STILL_FRONT_PIC(UNOWN_H, gMonStillFrontPic_UnownH), - STILL_FRONT_PIC(UNOWN_I, gMonStillFrontPic_UnownI), - STILL_FRONT_PIC(UNOWN_J, gMonStillFrontPic_UnownJ), - STILL_FRONT_PIC(UNOWN_K, gMonStillFrontPic_UnownK), - STILL_FRONT_PIC(UNOWN_L, gMonStillFrontPic_UnownL), - STILL_FRONT_PIC(UNOWN_M, gMonStillFrontPic_UnownM), - STILL_FRONT_PIC(UNOWN_N, gMonStillFrontPic_UnownN), - STILL_FRONT_PIC(UNOWN_O, gMonStillFrontPic_UnownO), - STILL_FRONT_PIC(UNOWN_P, gMonStillFrontPic_UnownP), - STILL_FRONT_PIC(UNOWN_Q, gMonStillFrontPic_UnownQ), - STILL_FRONT_PIC(UNOWN_R, gMonStillFrontPic_UnownR), - STILL_FRONT_PIC(UNOWN_S, gMonStillFrontPic_UnownS), - STILL_FRONT_PIC(UNOWN_T, gMonStillFrontPic_UnownT), - STILL_FRONT_PIC(UNOWN_U, gMonStillFrontPic_UnownU), - STILL_FRONT_PIC(UNOWN_V, gMonStillFrontPic_UnownV), - STILL_FRONT_PIC(UNOWN_W, gMonStillFrontPic_UnownW), - STILL_FRONT_PIC(UNOWN_X, gMonStillFrontPic_UnownX), - STILL_FRONT_PIC(UNOWN_Y, gMonStillFrontPic_UnownY), - STILL_FRONT_PIC(UNOWN_Z, gMonStillFrontPic_UnownZ), - STILL_FRONT_PIC(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark), - STILL_FRONT_PIC(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark), + SPECIES_SPRITE(TREECKO, gMonStillFrontPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonStillFrontPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonStillFrontPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonStillFrontPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonStillFrontPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonStillFrontPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonStillFrontPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonStillFrontPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonStillFrontPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonStillFrontPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonStillFrontPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonStillFrontPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonStillFrontPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonStillFrontPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonStillFrontPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonStillFrontPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonStillFrontPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonStillFrontPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonStillFrontPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonStillFrontPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonStillFrontPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonStillFrontPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonStillFrontPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonStillFrontPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonStillFrontPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonStillFrontPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonStillFrontPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonStillFrontPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonStillFrontPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonStillFrontPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonStillFrontPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonStillFrontPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonStillFrontPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonStillFrontPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonStillFrontPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonStillFrontPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonStillFrontPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonStillFrontPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonStillFrontPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonStillFrontPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonStillFrontPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonStillFrontPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonStillFrontPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonStillFrontPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonStillFrontPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonStillFrontPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonStillFrontPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonStillFrontPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonStillFrontPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonStillFrontPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonStillFrontPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonStillFrontPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonStillFrontPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonStillFrontPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonStillFrontPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonStillFrontPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonStillFrontPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonStillFrontPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonStillFrontPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonStillFrontPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonStillFrontPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonStillFrontPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonStillFrontPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonStillFrontPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonStillFrontPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonStillFrontPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonStillFrontPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonStillFrontPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonStillFrontPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonStillFrontPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonStillFrontPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonStillFrontPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonStillFrontPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonStillFrontPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonStillFrontPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonStillFrontPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonStillFrontPic_Plusle), + SPECIES_SPRITE(MINUN, gMonStillFrontPic_Minun), + SPECIES_SPRITE(MAWILE, gMonStillFrontPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonStillFrontPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonStillFrontPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonStillFrontPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonStillFrontPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonStillFrontPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonStillFrontPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonStillFrontPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonStillFrontPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonStillFrontPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonStillFrontPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonStillFrontPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonStillFrontPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonStillFrontPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonStillFrontPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonStillFrontPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonStillFrontPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonStillFrontPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonStillFrontPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonStillFrontPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonStillFrontPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonStillFrontPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonStillFrontPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonStillFrontPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonStillFrontPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonStillFrontPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonStillFrontPic_Relicanth), + SPECIES_SPRITE(ARON, gMonStillFrontPic_Aron), + SPECIES_SPRITE(LAIRON, gMonStillFrontPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonStillFrontPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonStillFrontPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonStillFrontPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonStillFrontPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonStillFrontPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonStillFrontPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonStillFrontPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonStillFrontPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonStillFrontPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonStillFrontPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonStillFrontPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonStillFrontPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonStillFrontPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonStillFrontPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonStillFrontPic_Beldum), + SPECIES_SPRITE(METANG, gMonStillFrontPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonStillFrontPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonStillFrontPic_Regirock), + SPECIES_SPRITE(REGICE, gMonStillFrontPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonStillFrontPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonStillFrontPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonStillFrontPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonStillFrontPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonStillFrontPic_Latias), + SPECIES_SPRITE(LATIOS, gMonStillFrontPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonStillFrontPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonStillFrontPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonStillFrontPic_Chimecho), + SPECIES_SPRITE(EGG, gMonStillFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonStillFrontPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonStillFrontPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonStillFrontPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonStillFrontPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonStillFrontPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonStillFrontPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonStillFrontPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonStillFrontPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonStillFrontPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonStillFrontPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonStillFrontPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonStillFrontPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonStillFrontPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonStillFrontPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonStillFrontPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonStillFrontPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonStillFrontPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonStillFrontPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonStillFrontPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonStillFrontPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonStillFrontPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonStillFrontPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonStillFrontPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonStillFrontPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonStillFrontPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark), }; diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h index 313e7ae35a..bb4862d098 100644 --- a/src/data/pokemon_graphics/unknown_anims.h +++ b/src/data/pokemon_graphics/unknown_anims.h @@ -1,36 +1,5 @@ -const union AnimCmd gUnknown_082FF6EC[] = -{ - ANIMCMD_FRAME(0, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF6F4[] = -{ - ANIMCMD_FRAME(1, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF6FC[] = -{ - ANIMCMD_FRAME(2, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF704[] = -{ - ANIMCMD_FRAME(3, 0), - ANIMCMD_END, -}; - -const union AnimCmd *const gPlayerMonSpriteAnimsTable[] = -{ - gUnknown_082FF6EC, - gUnknown_082FF6F4, - gUnknown_082FF6FC, - gUnknown_082FF704, -}; - -const union AnimCmd gUnknown_082FF71C[] = +// unused and unkown +static const union AnimCmd gUnknown_082FF71C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -40,7 +9,7 @@ const union AnimCmd gUnknown_082FF71C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF734[] = +static const union AnimCmd gUnknown_082FF734[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -48,20 +17,20 @@ const union AnimCmd gUnknown_082FF734[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF744[] = +static const union AnimCmd gUnknown_082FF744[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF750[] = +static const union AnimCmd gUnknown_082FF750[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF758[] = +static const union AnimCmd gUnknown_082FF758[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 5), @@ -72,7 +41,7 @@ const union AnimCmd gUnknown_082FF758[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF774[] = +static const union AnimCmd gUnknown_082FF774[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 12), @@ -83,14 +52,14 @@ const union AnimCmd gUnknown_082FF774[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF790[] = +static const union AnimCmd gUnknown_082FF790[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(2, 12), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF79C[] = +static const union AnimCmd gUnknown_082FF79C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -99,7 +68,7 @@ const union AnimCmd gUnknown_082FF79C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7B0[] = +static const union AnimCmd gUnknown_082FF7B0[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), @@ -108,193 +77,193 @@ const union AnimCmd gUnknown_082FF7B0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7C4[] = +static const union AnimCmd gUnknown_082FF7C4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7CC[] = +static const union AnimCmd gUnknown_082FF7CC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7D4[] = +static const union AnimCmd gUnknown_082FF7D4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7DC[] = +static const union AnimCmd gUnknown_082FF7DC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7E4[] = +static const union AnimCmd gUnknown_082FF7E4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7EC[] = +static const union AnimCmd gUnknown_082FF7EC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7F4[] = +static const union AnimCmd gUnknown_082FF7F4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7FC[] = +static const union AnimCmd gUnknown_082FF7FC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF804[] = +static const union AnimCmd gUnknown_082FF804[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF80C[] = +static const union AnimCmd gUnknown_082FF80C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF814[] = +static const union AnimCmd gUnknown_082FF814[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF81C[] = +static const union AnimCmd gUnknown_082FF81C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF824[] = +static const union AnimCmd gUnknown_082FF824[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF82C[] = +static const union AnimCmd gUnknown_082FF82C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF834[] = +static const union AnimCmd gUnknown_082FF834[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF83C[] = +static const union AnimCmd gUnknown_082FF83C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF844[] = +static const union AnimCmd gUnknown_082FF844[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF84C[] = +static const union AnimCmd gUnknown_082FF84C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF854[] = +static const union AnimCmd gUnknown_082FF854[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF85C[] = +static const union AnimCmd gUnknown_082FF85C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF864[] = +static const union AnimCmd gUnknown_082FF864[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF86C[] = +static const union AnimCmd gUnknown_082FF86C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF874[] = +static const union AnimCmd gUnknown_082FF874[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF87C[] = +static const union AnimCmd gUnknown_082FF87C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF884[] = +static const union AnimCmd gUnknown_082FF884[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF88C[] = +static const union AnimCmd gUnknown_082FF88C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF894[] = +static const union AnimCmd gUnknown_082FF894[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF89C[] = +static const union AnimCmd gUnknown_082FF89C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8A4[] = +static const union AnimCmd gUnknown_082FF8A4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8AC[] = +static const union AnimCmd gUnknown_082FF8AC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8B4[] = +static const union AnimCmd gUnknown_082FF8B4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8BC[] = +static const union AnimCmd gUnknown_082FF8BC[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(8, 15), @@ -314,7 +283,7 @@ const union AnimCmd gUnknown_082FF8BC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8FC[] = +static const union AnimCmd gUnknown_082FF8FC[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(8, 15), @@ -326,7 +295,7 @@ const union AnimCmd gUnknown_082FF8FC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF91C[] = +static const union AnimCmd gUnknown_082FF91C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(9, 10), @@ -335,26 +304,26 @@ const union AnimCmd gUnknown_082FF91C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF930[] = +static const union AnimCmd gUnknown_082FF930[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(11, 15), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF93C[] = +static const union AnimCmd gUnknown_082FF93C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF944[] = +static const union AnimCmd gUnknown_082FF944[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF94C[] = +static const union AnimCmd gUnknown_082FF94C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 7), @@ -381,7 +350,7 @@ const union AnimCmd gUnknown_082FF94C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF9A8[] = +static const union AnimCmd gUnknown_082FF9A8[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(7, 12), @@ -407,7 +376,7 @@ const union AnimCmd gUnknown_082FF9A8[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA00[] = +static const union AnimCmd gUnknown_082FFA00[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(7, 12), @@ -433,182 +402,182 @@ const union AnimCmd gUnknown_082FFA00[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA58[] = +static const union AnimCmd gUnknown_082FFA58[] = { ANIMCMD_FRAME(0,18), ANIMCMD_FRAME(10, 18), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA64[] = +static const union AnimCmd gUnknown_082FFA64[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA6C[] = +static const union AnimCmd gUnknown_082FFA6C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA74[] = +static const union AnimCmd gUnknown_082FFA74[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA7C[] = +static const union AnimCmd gUnknown_082FFA7C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA84[] = +static const union AnimCmd gUnknown_082FFA84[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA8C[] = +static const union AnimCmd gUnknown_082FFA8C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA94[] = +static const union AnimCmd gUnknown_082FFA94[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA9C[] = +static const union AnimCmd gUnknown_082FFA9C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAA4[] = +static const union AnimCmd gUnknown_082FFAA4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAAC[] = +static const union AnimCmd gUnknown_082FFAAC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAB4[] = +static const union AnimCmd gUnknown_082FFAB4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFABC[] = +static const union AnimCmd gUnknown_082FFABC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAC4[] = +static const union AnimCmd gUnknown_082FFAC4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFACC[] = +static const union AnimCmd gUnknown_082FFACC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAD4[] = +static const union AnimCmd gUnknown_082FFAD4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFADC[] = +static const union AnimCmd gUnknown_082FFADC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAE4[] = +static const union AnimCmd gUnknown_082FFAE4[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAEC[] = +static const union AnimCmd gUnknown_082FFAEC[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAF4[] = +static const union AnimCmd gUnknown_082FFAF4[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAFC[] = +static const union AnimCmd gUnknown_082FFAFC[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB04[] = +static const union AnimCmd gUnknown_082FFB04[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB0C[] = +static const union AnimCmd gUnknown_082FFB0C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB14[] = +static const union AnimCmd gUnknown_082FFB14[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB1C[] = +static const union AnimCmd gUnknown_082FFB1C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB24[] = +static const union AnimCmd gUnknown_082FFB24[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB2C[] = +static const union AnimCmd gUnknown_082FFB2C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB34[] = +static const union AnimCmd gUnknown_082FFB34[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB3C[] = +static const union AnimCmd gUnknown_082FFB3C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB44[] = +static const union AnimCmd gUnknown_082FFB44[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 18), @@ -619,7 +588,7 @@ const union AnimCmd gUnknown_082FFB44[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB60[] = +static const union AnimCmd gUnknown_082FFB60[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 18), @@ -630,7 +599,7 @@ const union AnimCmd gUnknown_082FFB60[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB7C[] = +static const union AnimCmd gUnknown_082FFB7C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(2, 5), @@ -650,7 +619,7 @@ const union AnimCmd gUnknown_082FFB7C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBBC[] = +static const union AnimCmd gUnknown_082FFBBC[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -663,7 +632,7 @@ const union AnimCmd gUnknown_082FFBBC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBE0[] = +static const union AnimCmd gUnknown_082FFBE0[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(5, 12), @@ -672,61 +641,61 @@ const union AnimCmd gUnknown_082FFBE0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBF4[] = +static const union AnimCmd gUnknown_082FFBF4[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBFC[] = +static const union AnimCmd gUnknown_082FFBFC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC04[] = +static const union AnimCmd gUnknown_082FFC04[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC0C[] = +static const union AnimCmd gUnknown_082FFC0C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC14[] = +static const union AnimCmd gUnknown_082FFC14[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC1C[] = +static const union AnimCmd gUnknown_082FFC1C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC24[] = +static const union AnimCmd gUnknown_082FFC24[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC2C[] = +static const union AnimCmd gUnknown_082FFC2C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC34[] = +static const union AnimCmd gUnknown_082FFC34[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC3C[] = +static const union AnimCmd gUnknown_082FFC3C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -737,7 +706,7 @@ const union AnimCmd gUnknown_082FFC3C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC58[] = +static const union AnimCmd gUnknown_082FFC58[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -748,217 +717,217 @@ const union AnimCmd gUnknown_082FFC58[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC74[] = +static const union AnimCmd gUnknown_082FFC74[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC7C[] = +static const union AnimCmd gUnknown_082FFC7C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC84[] = +static const union AnimCmd gUnknown_082FFC84[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC8C[] = +static const union AnimCmd gUnknown_082FFC8C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC94[] = +static const union AnimCmd gUnknown_082FFC94[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC9C[] = +static const union AnimCmd gUnknown_082FFC9C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCA4[] = +static const union AnimCmd gUnknown_082FFCA4[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCAC[] = +static const union AnimCmd gUnknown_082FFCAC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCB4[] = +static const union AnimCmd gUnknown_082FFCB4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCBC[] = +static const union AnimCmd gUnknown_082FFCBC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCC4[] = +static const union AnimCmd gUnknown_082FFCC4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCCC[] = +static const union AnimCmd gUnknown_082FFCCC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCD4[] = +static const union AnimCmd gUnknown_082FFCD4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCDC[] = +static const union AnimCmd gUnknown_082FFCDC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCE4[] = +static const union AnimCmd gUnknown_082FFCE4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCEC[] = +static const union AnimCmd gUnknown_082FFCEC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCF4[] = +static const union AnimCmd gUnknown_082FFCF4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCFC[] = +static const union AnimCmd gUnknown_082FFCFC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD04[] = +static const union AnimCmd gUnknown_082FFD04[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD0C[] = +static const union AnimCmd gUnknown_082FFD0C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD14[] = +static const union AnimCmd gUnknown_082FFD14[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD1C[] = +static const union AnimCmd gUnknown_082FFD1C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD24[] = +static const union AnimCmd gUnknown_082FFD24[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD2C[] = +static const union AnimCmd gUnknown_082FFD2C[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD34[] = +static const union AnimCmd gUnknown_082FFD34[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD3C[] = +static const union AnimCmd gUnknown_082FFD3C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD44[] = +static const union AnimCmd gUnknown_082FFD44[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD4C[] = +static const union AnimCmd gUnknown_082FFD4C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD54[] = +static const union AnimCmd gUnknown_082FFD54[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD5C[] = +static const union AnimCmd gUnknown_082FFD5C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD64[] = +static const union AnimCmd gUnknown_082FFD64[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD6C[] = +static const union AnimCmd gUnknown_082FFD6C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD74[] = +static const union AnimCmd gUnknown_082FFD74[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD7C[] = +static const union AnimCmd gUnknown_082FFD7C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD84[] = +static const union AnimCmd gUnknown_082FFD84[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD8C[] = +static const union AnimCmd gUnknown_082FFD8C[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 30), @@ -967,7 +936,7 @@ const union AnimCmd gUnknown_082FFD8C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDA0[] = +static const union AnimCmd gUnknown_082FFDA0[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -976,933 +945,933 @@ const union AnimCmd gUnknown_082FFDA0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDB4[] = +static const union AnimCmd gUnknown_082FFDB4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDBC[] = +static const union AnimCmd gUnknown_082FFDBC[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDC4[] = +static const union AnimCmd gUnknown_082FFDC4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_082FFDCC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE00[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE04[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE08[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE0C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE10[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE14[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE18[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE1C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE20[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE24[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE28[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE2C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE30[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE34[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE38[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE3C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE40[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE44[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE48[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE4C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE50[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE54[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE58[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE5C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE60[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE64[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE68[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE6C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE70[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE74[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE78[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE7C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE80[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE84[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE88[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE8C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE90[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE94[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE98[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE9C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEAC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEBC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFECC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF00[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF04[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF08[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF0C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF10[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF14[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF18[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF1C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF20[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF24[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF28[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF2C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF30[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF34[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF38[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF3C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF40[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF44[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF48[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF4C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF50[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF54[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF58[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF5C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF60[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF64[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF68[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF6C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF70[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF74[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF78[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF7C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF80[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF84[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF88[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF8C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF90[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF94[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF98[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF9C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFAC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFBC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFCC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300000[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300004[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300008[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830000C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300010[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300014[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300018[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830001C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300020[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300024[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300028[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830002C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300030[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300034[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300038[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830003C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300040[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300044[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300048[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830004C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300050[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300054[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300058[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830005C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300060[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300064[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300068[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830006C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300070[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300074[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300078[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830007C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300080[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300084[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300088[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830008C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300090[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300094[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300098[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830009C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000AC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000BC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000CC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000DC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000EC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000FC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300100[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300104[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300108[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830010C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300110[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300114[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300118[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830011C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300120[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300124[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300128[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830012C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300130[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300134[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300138[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830013C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300140[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300144[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300148[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830014C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300150[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300154[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300158[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830015C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300160[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300164[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300168[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830016C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300170[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300174[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300178[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830017C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300180[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300184[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300188[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830018C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300190[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300194[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300198[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830019C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001AC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001BC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001CC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001D0[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_082FFDCC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE00[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE04[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE08[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE0C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE10[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE14[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE18[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE1C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE20[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE24[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE28[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE2C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE30[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE34[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE38[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE3C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE40[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE44[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE48[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE4C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE50[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE54[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE58[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE5C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE60[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE64[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE68[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE6C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE70[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE74[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE78[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE7C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE80[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE84[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE88[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE8C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE90[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE94[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE98[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE9C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEAC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEBC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFECC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF00[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF04[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF08[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF0C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF10[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF14[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF18[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF1C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF20[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF24[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF28[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF2C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF30[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF34[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF38[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF3C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF40[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF44[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF48[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF4C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF50[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF54[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF58[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF5C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF60[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF64[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF68[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF6C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF70[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF74[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF78[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF7C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF80[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF84[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF88[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF8C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF90[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF94[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF98[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF9C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFAC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFBC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFCC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300000[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300004[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300008[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830000C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300010[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300014[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300018[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830001C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300020[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300024[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300028[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830002C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300030[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300034[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300038[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830003C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300040[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300044[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300048[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830004C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300050[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300054[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300058[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830005C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300060[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300064[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300068[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830006C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300070[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300074[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300078[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830007C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300080[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300084[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300088[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830008C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300090[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300094[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300098[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830009C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000AC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000BC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000CC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000DC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000EC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000FC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300100[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300104[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300108[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830010C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300110[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300114[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300118[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830011C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300120[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300124[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300128[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830012C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300130[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300134[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300138[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830013C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300140[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300144[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300148[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830014C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300150[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300154[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300158[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830015C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300160[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300164[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300168[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830016C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300170[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300174[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300178[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830017C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300180[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300184[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300188[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830018C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300190[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300194[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300198[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830019C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001AC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001BC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001CC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001D0[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083001D4[] = +static const union AnimCmd *const gUnknown_083001D4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF71C, gUnknown_082FF734, gUnknown_082FF744, gUnknown_082FF750, }; -const union AnimCmd *const gUnknown_083001E8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083001E8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083001EC[] = +static const union AnimCmd *const gUnknown_083001EC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF758, gUnknown_082FF774, gUnknown_082FF790, }; -const union AnimCmd *const gUnknown_083001FC[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083001FC[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300200[] = +static const union AnimCmd *const gUnknown_08300200[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF79C, gUnknown_082FF7B0, }; -const union AnimCmd *const gUnknown_0830020C[] = +static const union AnimCmd *const gUnknown_0830020C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7C4, }; -const union AnimCmd *const gUnknown_08300214[] = +static const union AnimCmd *const gUnknown_08300214[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7CC, }; -const union AnimCmd *const gUnknown_0830021C[] = +static const union AnimCmd *const gUnknown_0830021C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7D4, }; -const union AnimCmd *const gUnknown_08300224[] = +static const union AnimCmd *const gUnknown_08300224[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7DC, gUnknown_082FF7E4, }; -const union AnimCmd *const gUnknown_08300230[] = +static const union AnimCmd *const gUnknown_08300230[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7EC, gUnknown_082FF7F4, }; -const union AnimCmd *const gUnknown_0830023C[] = +static const union AnimCmd *const gUnknown_0830023C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7FC, gUnknown_082FF804, }; -const union AnimCmd *const gUnknown_08300248[] = +static const union AnimCmd *const gUnknown_08300248[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF80C, gUnknown_082FF814, }; -const union AnimCmd *const gUnknown_08300254[] = +static const union AnimCmd *const gUnknown_08300254[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF81C, gUnknown_082FF824, }; -const union AnimCmd *const gUnknown_08300260[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300260[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300264[] = +static const union AnimCmd *const gUnknown_08300264[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF82C, }; -const union AnimCmd *const gUnknown_0830026C[] = +static const union AnimCmd *const gUnknown_0830026C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF834, gUnknown_082FF83C, }; -const union AnimCmd *const gUnknown_08300278[] = +static const union AnimCmd *const gUnknown_08300278[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF844, }; -const union AnimCmd *const gUnknown_08300280[] = +static const union AnimCmd *const gUnknown_08300280[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF84C, }; -const union AnimCmd *const gUnknown_08300288[] = +static const union AnimCmd *const gUnknown_08300288[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF854, gUnknown_082FF85C, }; -const union AnimCmd *const gUnknown_08300294[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300298[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830029C[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300294[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300298[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830029C[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083002A0[] = +static const union AnimCmd *const gUnknown_083002A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF864, }; -const union AnimCmd *const gUnknown_083002A8[] = +static const union AnimCmd *const gUnknown_083002A8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF86C, }; -const union AnimCmd *const gUnknown_083002B0[] = +static const union AnimCmd *const gUnknown_083002B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF874, }; -const union AnimCmd *const gUnknown_083002B8[] = +static const union AnimCmd *const gUnknown_083002B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF87C, }; -const union AnimCmd *const gUnknown_083002C0[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083002C0[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083002C4[] = +static const union AnimCmd *const gUnknown_083002C4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF884, }; -const union AnimCmd *const gUnknown_083002CC[] = +static const union AnimCmd *const gUnknown_083002CC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF88C, gUnknown_082FF894, }; -const union AnimCmd *const gUnknown_083002D8[] = +static const union AnimCmd *const gUnknown_083002D8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF89C, gUnknown_082FF8A4, }; -const union AnimCmd *const gUnknown_083002E4[] = +static const union AnimCmd *const gUnknown_083002E4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF8AC, gUnknown_082FF8B4, }; -const union AnimCmd *const gUnknown_083002F0[] = +static const union AnimCmd *const gUnknown_083002F0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF8BC, gUnknown_082FF8FC, gUnknown_082FF91C, gUnknown_082FF930, }; -const union AnimCmd *const gUnknown_08300304[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300304[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300308[] = +static const union AnimCmd *const gUnknown_08300308[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF93C, }; -const union AnimCmd *const gUnknown_08300310[] = +static const union AnimCmd *const gUnknown_08300310[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF944, }; -const union AnimCmd *const gUnknown_08300318[] = +static const union AnimCmd *const gUnknown_08300318[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF94C, gUnknown_082FF9A8, gUnknown_082FFA00, gUnknown_082FFA58, }; -const union AnimCmd *const gUnknown_0830032C[] = +static const union AnimCmd *const gUnknown_0830032C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA64, }; -const union AnimCmd *const gUnknown_08300334[] = +static const union AnimCmd *const gUnknown_08300334[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA6C, }; -const union AnimCmd *const gUnknown_0830033C[] = +static const union AnimCmd *const gUnknown_0830033C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA74, }; -const union AnimCmd *const gUnknown_08300344[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300344[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300348[] = +static const union AnimCmd *const gUnknown_08300348[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA7C, gUnknown_082FFA84, }; -const union AnimCmd *const gUnknown_08300354[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300358[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300354[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300358[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830035C[] = +static const union AnimCmd *const gUnknown_0830035C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA8C, gUnknown_082FFA94, }; -const union AnimCmd *const gUnknown_08300368[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830036C[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300368[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830036C[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300370[] = +static const union AnimCmd *const gUnknown_08300370[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA9C, gUnknown_082FFAA4, }; -const union AnimCmd *const gUnknown_0830037C[] = +static const union AnimCmd *const gUnknown_0830037C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAAC, gUnknown_082FFAB4, }; -const union AnimCmd *const gUnknown_08300388[] = +static const union AnimCmd *const gUnknown_08300388[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFABC, gUnknown_082FFAC4, }; -const union AnimCmd *const gUnknown_08300394[] = +static const union AnimCmd *const gUnknown_08300394[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFACC, gUnknown_082FFAD4, }; -const union AnimCmd *const gUnknown_083003A0[] = +static const union AnimCmd *const gUnknown_083003A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFADC, }; -const union AnimCmd *const gUnknown_083003A8[] = +static const union AnimCmd *const gUnknown_083003A8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAE4, }; -const union AnimCmd *const gUnknown_083003B0[] = +static const union AnimCmd *const gUnknown_083003B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAEC, }; -const union AnimCmd *const gUnknown_083003B8[] = +static const union AnimCmd *const gUnknown_083003B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAF4, }; -const union AnimCmd *const gUnknown_083003C0[] = +static const union AnimCmd *const gUnknown_083003C0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAFC, }; -const union AnimCmd *const gUnknown_083003C8[] = +static const union AnimCmd *const gUnknown_083003C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB04, gUnknown_082FFB0C, }; -const union AnimCmd *const gUnknown_083003D4[] = +static const union AnimCmd *const gUnknown_083003D4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB14, }; -const union AnimCmd *const gUnknown_083003DC[] = +static const union AnimCmd *const gUnknown_083003DC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB1C, gUnknown_082FFB24, }; -const union AnimCmd *const gUnknown_083003E8[] = +static const union AnimCmd *const gUnknown_083003E8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB2C, }; -const union AnimCmd *const gUnknown_083003F0[] = +static const union AnimCmd *const gUnknown_083003F0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB34, }; -const union AnimCmd *const gUnknown_083003F8[] = +static const union AnimCmd *const gUnknown_083003F8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB3C, }; -const union AnimCmd *const gUnknown_08300400[] = +static const union AnimCmd *const gUnknown_08300400[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB44, gUnknown_082FFB60, }; -const union AnimCmd *const gUnknown_0830040C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300410[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300414[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300418[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830041C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300420[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_0830040C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300410[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300414[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300418[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830041C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300420[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300424[] = +static const union AnimCmd *const gUnknown_08300424[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB7C, gUnknown_082FFBBC, gUnknown_082FFBE0, gUnknown_082FFBF4, }; -const union AnimCmd *const gUnknown_08300438[] = +static const union AnimCmd *const gUnknown_08300438[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFBFC, gUnknown_082FFC04, }; -const union AnimCmd *const gUnknown_08300444[] = +static const union AnimCmd *const gUnknown_08300444[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC0C, }; -const union AnimCmd *const gUnknown_0830044C[] = +static const union AnimCmd *const gUnknown_0830044C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC14, }; -const union AnimCmd *const gUnknown_08300454[] = +static const union AnimCmd *const gUnknown_08300454[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC1C, }; -const union AnimCmd *const gUnknown_0830045C[] = +static const union AnimCmd *const gUnknown_0830045C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC24, }; -const union AnimCmd *const gUnknown_08300464[] = +static const union AnimCmd *const gUnknown_08300464[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC2C, }; -const union AnimCmd *const gUnknown_0830046C[] = +static const union AnimCmd *const gUnknown_0830046C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC34, }; -const union AnimCmd *const gUnknown_08300474[] = +static const union AnimCmd *const gUnknown_08300474[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC3C, gUnknown_082FFC58, }; -const union AnimCmd *const gUnknown_08300480[] = +static const union AnimCmd *const gUnknown_08300480[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC74, }; -const union AnimCmd *const gUnknown_08300488[] = +static const union AnimCmd *const gUnknown_08300488[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC7C, gUnknown_082FFC84, }; -const union AnimCmd *const gUnknown_08300494[] = +static const union AnimCmd *const gUnknown_08300494[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC8C, gUnknown_082FFC94, }; -const union AnimCmd *const gUnknown_083004A0[] = +static const union AnimCmd *const gUnknown_083004A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC9C, gUnknown_082FFCA4, }; -const union AnimCmd *const gUnknown_083004AC[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004AC[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004B0[] = +static const union AnimCmd *const gUnknown_083004B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCAC, }; -const union AnimCmd *const gUnknown_083004B8[] = +static const union AnimCmd *const gUnknown_083004B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCB4, }; -const union AnimCmd *const gUnknown_083004C0[] = +static const union AnimCmd *const gUnknown_083004C0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCBC, }; -const union AnimCmd *const gUnknown_083004C8[] = +static const union AnimCmd *const gUnknown_083004C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCC4, }; -const union AnimCmd *const gUnknown_083004D0[] = +static const union AnimCmd *const gUnknown_083004D0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCCC, }; -const union AnimCmd *const gUnknown_083004D8[] = +static const union AnimCmd *const gUnknown_083004D8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCD4, }; -const union AnimCmd *const gUnknown_083004E0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004E8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004E0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004E8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004EC[] = +static const union AnimCmd *const gUnknown_083004EC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCDC, }; -const union AnimCmd *const gUnknown_083004F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004F8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004F8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004FC[] = +static const union AnimCmd *const gUnknown_083004FC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCE4, }; -const union AnimCmd *const gUnknown_08300504[] = +static const union AnimCmd *const gUnknown_08300504[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCEC, gUnknown_082FFCF4, }; -const union AnimCmd *const gUnknown_08300510[] = +static const union AnimCmd *const gUnknown_08300510[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCFC, }; -const union AnimCmd *const gUnknown_08300518[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830051C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300520[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300518[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830051C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300520[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300524[] = +static const union AnimCmd *const gUnknown_08300524[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD04, }; -const union AnimCmd *const gUnknown_0830052C[] = +static const union AnimCmd *const gUnknown_0830052C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD0C, }; -const union AnimCmd *const gUnknown_08300534[] = +static const union AnimCmd *const gUnknown_08300534[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD14, }; -const union AnimCmd *const gUnknown_0830053C[] = +static const union AnimCmd *const gUnknown_0830053C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD1C, gUnknown_082FFD24, gUnknown_082FFD2C, gUnknown_082FFD34, }; -const union AnimCmd *const gUnknown_08300550[] = +static const union AnimCmd *const gUnknown_08300550[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD3C, }; -const union AnimCmd *const gUnknown_08300558[] = +static const union AnimCmd *const gUnknown_08300558[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD44, }; -const union AnimCmd *const gUnknown_08300560[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300564[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300568[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830056C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300570[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300574[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300578[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300560[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300564[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300568[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830056C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300570[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300574[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300578[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830057C[] = +static const union AnimCmd *const gUnknown_0830057C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD4C, gUnknown_082FFD54, }; -const union AnimCmd *const gUnknown_08300588[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300588[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830058C[] = +static const union AnimCmd *const gUnknown_0830058C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD5C, gUnknown_082FFD64, }; -const union AnimCmd *const gUnknown_08300598[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830059C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005A0[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300598[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830059C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005A0[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005A4[] = +static const union AnimCmd *const gUnknown_083005A4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD6C, }; -const union AnimCmd *const gUnknown_083005AC[] = +static const union AnimCmd *const gUnknown_083005AC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD74, }; -const union AnimCmd *const gUnknown_083005B4[] = +static const union AnimCmd *const gUnknown_083005B4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD7C, gUnknown_082FFD84, }; -const union AnimCmd *const gUnknown_083005C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005C4[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083005C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005C4[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005C8[] = +static const union AnimCmd *const gUnknown_083005C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD8C, gUnknown_082FFDA0, }; -const union AnimCmd *const gUnknown_083005D4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005D8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083005D4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005D8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005DC[] = +static const union AnimCmd *const gUnknown_083005DC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFDC4, }; -const union AnimCmd *const gUnknown_083005E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005E8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005EC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005FC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300600[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300604[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300608[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830060C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300610[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300614[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300618[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830061C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300620[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300624[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300628[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830062C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300630[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300634[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300638[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830063C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300640[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300644[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300648[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830064C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300650[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300654[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083005E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005E8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005EC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005FC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300600[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300604[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300608[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830060C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300610[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300614[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300618[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830061C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300620[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300624[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300628[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830062C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300630[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300634[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300638[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830063C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300640[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300644[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300648[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830064C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300650[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300654[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const *const gUnusedTrainerFrontAnimsPtrTable[] = +const union AnimCmd *const *const gUnknownAnimsTable[] = { gUnknown_082FFDCC, gUnknown_082FFDD0, diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h index 0cc4bb2035..821039cb3b 100644 --- a/src/data/trainer_graphics/back_pic_anims.h +++ b/src/data/trainer_graphics/back_pic_anims.h @@ -1,4 +1,4 @@ -const union AnimCmd gAnimCmd_Brendan_1[] = +static const union AnimCmd gAnimCmd_Brendan_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -8,7 +8,7 @@ const union AnimCmd gAnimCmd_Brendan_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_May_Steven_1[] = +static const union AnimCmd gAnimCmd_May_Steven_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -18,7 +18,7 @@ const union AnimCmd gAnimCmd_May_Steven_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Wally_1[] = +static const union AnimCmd gAnimCmd_Wally_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -28,7 +28,7 @@ const union AnimCmd gAnimCmd_Wally_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Red_1[] = +static const union AnimCmd gAnimCmd_Red_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(2, 6), @@ -38,7 +38,7 @@ const union AnimCmd gAnimCmd_Red_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Leaf_1[] = +static const union AnimCmd gAnimCmd_Leaf_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(2, 6), @@ -48,7 +48,7 @@ const union AnimCmd gAnimCmd_Leaf_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = +static const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -58,72 +58,72 @@ const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RubySapphireMay_1[] = +static const union AnimCmd gAnimCmd_RubySapphireMay_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(2, 24), ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(3, 50), ANIMCMD_END, }; -const union AnimCmd *const gTrainerBackAnims_Brendan[] = +static const union AnimCmd *const sBackAnims_Brendan[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_Brendan_1, }; -const union AnimCmd *const gTrainerBackAnims_May[] = +static const union AnimCmd *const sBackAnims_May[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_May_Steven_1, }; -const union AnimCmd *const gTrainerBackAnims_Red[] = +static const union AnimCmd *const sBackAnims_Red[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gAnimCmd_Red_1, }; -const union AnimCmd *const gTrainerBackAnims_Leaf[] = +static const union AnimCmd *const sBackAnims_Leaf[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gAnimCmd_Leaf_1, }; -const union AnimCmd *const gTrainerBackAnims_RubySapphireBrendan[] = +static const union AnimCmd *const sBackAnims_RubySapphireBrendan[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_RubySapphireBrendan_1, }; -const union AnimCmd *const gTrainerBackAnims_RubySapphireMay[] = +static const union AnimCmd *const sBackAnims_RubySapphireMay[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_RubySapphireMay_1, }; -const union AnimCmd *const gTrainerBackAnims_Wally[] = +static const union AnimCmd *const sBackAnims_Wally[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_Wally_1, }; -const union AnimCmd *const gTrainerBackAnims_Steven[] = +static const union AnimCmd *const sBackAnims_Steven[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_May_Steven_1, }; const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = { - gTrainerBackAnims_Brendan, - gTrainerBackAnims_May, - gTrainerBackAnims_Red, - gTrainerBackAnims_Leaf, - gTrainerBackAnims_RubySapphireBrendan, - gTrainerBackAnims_RubySapphireMay, - gTrainerBackAnims_Wally, - gTrainerBackAnims_Steven, + [TRAINER_BACK_PIC_BRENDAN] = sBackAnims_Brendan, + [TRAINER_BACK_PIC_MAY] = sBackAnims_May, + [TRAINER_BACK_PIC_RED] = sBackAnims_Red, + [TRAINER_BACK_PIC_LEAF] = sBackAnims_Leaf, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = sBackAnims_RubySapphireBrendan, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = sBackAnims_RubySapphireMay, + [TRAINER_BACK_PIC_WALLY] = sBackAnims_Wally, + [TRAINER_BACK_PIC_STEVEN] = sBackAnims_Steven, }; diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h index 0f6b0cb918..86efd7905c 100644 --- a/src/data/trainer_graphics/back_pic_tables.h +++ b/src/data/trainer_graphics/back_pic_tables.h @@ -1,13 +1,13 @@ const struct MonCoords gTrainerBackPicCoords[] = { - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 5}, - {.size = 8, .y_offset = 5}, - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_BRENDAN] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_MAY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_RED] = {.size = 8, .y_offset = 5}, + [TRAINER_BACK_PIC_LEAF] = {.size = 8, .y_offset = 5}, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_WALLY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_STEVEN] = {.size = 8, .y_offset = 4}, }; // this table goes functionally unused, since none of these pics are compressed @@ -25,14 +25,14 @@ const struct CompressedSpriteSheet gTrainerBackPicTable[] = (const u32 *)gTrainerBackPic_Steven, 0x2000, TRAINER_BACK_PIC_STEVEN, }; -const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = +const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = { - gTrainerPalette_Brendan, TRAINER_BACK_PIC_BRENDAN, - gTrainerPalette_May, TRAINER_BACK_PIC_MAY, - gTrainerBackPicPalette_Red, TRAINER_BACK_PIC_RED, - gTrainerBackPicPalette_Leaf, TRAINER_BACK_PIC_LEAF, - gTrainerPalette_RubySapphireBrendan, TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN, - gTrainerPalette_RubySapphireMay, TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY, - gTrainerPalette_Wally, TRAINER_BACK_PIC_WALLY, - gTrainerPalette_Steven, TRAINER_BACK_PIC_STEVEN, + TRAINER_BACK_PAL(BRENDAN, gTrainerPalette_Brendan), + TRAINER_BACK_PAL(MAY, gTrainerPalette_May), + TRAINER_BACK_PAL(RED, gTrainerBackPicPalette_Red), + TRAINER_BACK_PAL(LEAF, gTrainerBackPicPalette_Leaf), + TRAINER_BACK_PAL(RUBY_SAPPHIRE_BRENDAN, gTrainerPalette_RubySapphireBrendan), + TRAINER_BACK_PAL(RUBY_SAPPHIRE_MAY, gTrainerPalette_RubySapphireMay), + TRAINER_BACK_PAL(WALLY, gTrainerPalette_Wally), + TRAINER_BACK_PAL(STEVEN, gTrainerPalette_Steven), }; diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h index 371e5a3002..f01394532a 100644 --- a/src/data/trainer_graphics/front_pic_anims.h +++ b/src/data/trainer_graphics/front_pic_anims.h @@ -1,470 +1,468 @@ -#include "constants/trainers.h" - -const union AnimCmd *const gTrainerFrontAnims_Hiker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Hiker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaGruntM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaGruntM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonBreederF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonBreederF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CoolTrainerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CoolTrainerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BirdKeeper[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BirdKeeper[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Collector[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Collector[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaGruntF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaGruntF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaGruntM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaGruntM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ExpertM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ExpertM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaAdminM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaAdminM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BlackBelt[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BlackBelt[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaAdminF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaAdminF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaLeaderArchie[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaLeaderArchie[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_HexManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_HexManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AromaLady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AromaLady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RuinManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RuinManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Interviewer[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Interviewer[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_TuberF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_TuberF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_TuberM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_TuberM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CoolTrainerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CoolTrainerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Lady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Lady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Beauty[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Beauty[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RichBoy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RichBoy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ExpertF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ExpertF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Pokemaniac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Pokemaniac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaGruntF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaGruntF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Guitarist[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Guitarist[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Kindler[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Kindler[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Camper[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Camper[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Picnicker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Picnicker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BugManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BugManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonBreederM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonBreederM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PsychicM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PsychicM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PsychicF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PsychicF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Gentleman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Gentleman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourSidney[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourSidney[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourPhoebe[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourPhoebe[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourGlacia[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourGlacia[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourDrake[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourDrake[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderRoxanne[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderRoxanne[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderBrawly[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderBrawly[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderWattson[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderWattson[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderFlannery[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderFlannery[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderNorman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderNorman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderWinona[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderWinona[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderTateAndLiza[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderTateAndLiza[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderJuan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderJuan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SchoolKidM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SchoolKidM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SchoolKidF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SchoolKidF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SrAndJr[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SrAndJr[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokefanM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokefanM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokefanF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokefanF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Youngster[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Youngster[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ChampionWallace[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ChampionWallace[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Fisherman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Fisherman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CyclingTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CyclingTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RunningTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RunningTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmingTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmingTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_DragonTamer[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_DragonTamer[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_NinjaBoy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_NinjaBoy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BattleGirl[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BattleGirl[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ParasolLady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ParasolLady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Twins[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Twins[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Sailor[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Sailor[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaAdmin[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaAdmin[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Wally[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Wally[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Brendan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Brendan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_May[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_May[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BugCatcher[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BugCatcher[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonRangerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonRangerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonRangerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonRangerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaLeaderMaxie[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaLeaderMaxie[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Lass[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Lass[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_YoungCouple[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_YoungCouple[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_OldCouple[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_OldCouple[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SisAndBro[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SisAndBro[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Steven[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Steven[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SalonMaidenAnabel[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SalonMaidenAnabel[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_DomeAceTucker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_DomeAceTucker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PalaceMavenSpenser[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PalaceMavenSpenser[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ArenaTycoonGreta[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ArenaTycoonGreta[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_FactoryHeadNoland[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_FactoryHeadNoland[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PikeQueenLucy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PikeQueenLucy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PyramidKingBrandon[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PyramidKingBrandon[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Red[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Red[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Leaf[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Leaf[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RubySapphireBrendan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RubySapphireBrendan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RubySapphireMay[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RubySapphireMay[] ={ + sAnim_GeneralFrame0, }; const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] = { - [TRAINER_PIC_HIKER] = gTrainerFrontAnims_Hiker, - [TRAINER_PIC_AQUA_GRUNT_M] = gTrainerFrontAnims_AquaGruntM, - [TRAINER_PIC_POKEMON_BREEDER_F] = gTrainerFrontAnims_PokemonBreederF, - [TRAINER_PIC_COOLTRAINER_M] = gTrainerFrontAnims_CoolTrainerM, - [TRAINER_PIC_BIRD_KEEPER] = gTrainerFrontAnims_BirdKeeper, - [TRAINER_PIC_COLLECTOR] = gTrainerFrontAnims_Collector, - [TRAINER_PIC_AQUA_GRUNT_F] = gTrainerFrontAnims_AquaGruntF, - [TRAINER_PIC_SWIMMER_M] = gTrainerFrontAnims_SwimmerM, - [TRAINER_PIC_MAGMA_GRUNT_M] = gTrainerFrontAnims_MagmaGruntM, - [TRAINER_PIC_EXPERT_M] = gTrainerFrontAnims_ExpertM, - [TRAINER_PIC_AQUA_ADMIN_M] = gTrainerFrontAnims_AquaAdminM, - [TRAINER_PIC_BLACK_BELT] = gTrainerFrontAnims_BlackBelt, - [TRAINER_PIC_AQUA_ADMIN_F] = gTrainerFrontAnims_AquaAdminF, - [TRAINER_PIC_AQUA_LEADER_ARCHIE] = gTrainerFrontAnims_AquaLeaderArchie, - [TRAINER_PIC_HEX_MANIAC] = gTrainerFrontAnims_HexManiac, - [TRAINER_PIC_AROMA_LADY] = gTrainerFrontAnims_AromaLady, - [TRAINER_PIC_RUIN_MANIAC] = gTrainerFrontAnims_RuinManiac, - [TRAINER_PIC_INTERVIEWER] = gTrainerFrontAnims_Interviewer, - [TRAINER_PIC_TUBER_F] = gTrainerFrontAnims_TuberF, - [TRAINER_PIC_TUBER_M] = gTrainerFrontAnims_TuberM, - [TRAINER_PIC_COOLTRAINER_F] = gTrainerFrontAnims_CoolTrainerF, - [TRAINER_PIC_LADY] = gTrainerFrontAnims_Lady, - [TRAINER_PIC_BEAUTY] = gTrainerFrontAnims_Beauty, - [TRAINER_PIC_RICH_BOY] = gTrainerFrontAnims_RichBoy, - [TRAINER_PIC_EXPERT_F] = gTrainerFrontAnims_ExpertF, - [TRAINER_PIC_POKEMANIAC] = gTrainerFrontAnims_Pokemaniac, - [TRAINER_PIC_MAGMA_GRUNT_F] = gTrainerFrontAnims_MagmaGruntF, - [TRAINER_PIC_GUITARIST] = gTrainerFrontAnims_Guitarist, - [TRAINER_PIC_KINDLER] = gTrainerFrontAnims_Kindler, - [TRAINER_PIC_CAMPER] = gTrainerFrontAnims_Camper, - [TRAINER_PIC_PICNICKER] = gTrainerFrontAnims_Picnicker, - [TRAINER_PIC_BUG_MANIAC] = gTrainerFrontAnims_BugManiac, - [TRAINER_PIC_POKEMON_BREEDER_M] = gTrainerFrontAnims_PokemonBreederM, - [TRAINER_PIC_PSYCHIC_M] = gTrainerFrontAnims_PsychicM, - [TRAINER_PIC_PSYCHIC_F] = gTrainerFrontAnims_PsychicF, - [TRAINER_PIC_GENTLEMAN] = gTrainerFrontAnims_Gentleman, - [TRAINER_PIC_ELITE_FOUR_SIDNEY] = gTrainerFrontAnims_EliteFourSidney, - [TRAINER_PIC_ELITE_FOUR_PHOEBE] = gTrainerFrontAnims_EliteFourPhoebe, - [TRAINER_PIC_ELITE_FOUR_GLACIA] = gTrainerFrontAnims_EliteFourGlacia, - [TRAINER_PIC_ELITE_FOUR_DRAKE] = gTrainerFrontAnims_EliteFourDrake, - [TRAINER_PIC_LEADER_ROXANNE] = gTrainerFrontAnims_LeaderRoxanne, - [TRAINER_PIC_LEADER_BRAWLY] = gTrainerFrontAnims_LeaderBrawly, - [TRAINER_PIC_LEADER_WATTSON] = gTrainerFrontAnims_LeaderWattson, - [TRAINER_PIC_LEADER_FLANNERY] = gTrainerFrontAnims_LeaderFlannery, - [TRAINER_PIC_LEADER_NORMAN] = gTrainerFrontAnims_LeaderNorman, - [TRAINER_PIC_LEADER_WINONA] = gTrainerFrontAnims_LeaderWinona, - [TRAINER_PIC_LEADER_TATE_AND_LIZA] = gTrainerFrontAnims_LeaderTateAndLiza, - [TRAINER_PIC_LEADER_JUAN] = gTrainerFrontAnims_LeaderJuan, - [TRAINER_PIC_SCHOOL_KID_M] = gTrainerFrontAnims_SchoolKidM, - [TRAINER_PIC_SCHOOL_KID_F] = gTrainerFrontAnims_SchoolKidF, - [TRAINER_PIC_SR_AND_JR] = gTrainerFrontAnims_SrAndJr, - [TRAINER_PIC_POKEFAN_M] = gTrainerFrontAnims_PokefanM, - [TRAINER_PIC_POKEFAN_F] = gTrainerFrontAnims_PokefanF, - [TRAINER_PIC_YOUNGSTER] = gTrainerFrontAnims_Youngster, - [TRAINER_PIC_CHAMPION_WALLACE] = gTrainerFrontAnims_ChampionWallace, - [TRAINER_PIC_FISHERMAN] = gTrainerFrontAnims_Fisherman, - [TRAINER_PIC_CYCLING_TRIATHLETE_M] = gTrainerFrontAnims_CyclingTriathleteM, - [TRAINER_PIC_CYCLING_TRIATHLETE_F] = gTrainerFrontAnims_CyclingTriathleteF, - [TRAINER_PIC_RUNNING_TRIATHLETE_M] = gTrainerFrontAnims_RunningTriathleteM, - [TRAINER_PIC_RUNNING_TRIATHLETE_F] = gTrainerFrontAnims_RunningTriathleteF, - [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = gTrainerFrontAnims_SwimmingTriathleteM, - [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = gTrainerFrontAnims_SwimmingTriathleteF, - [TRAINER_PIC_DRAGON_TAMER] = gTrainerFrontAnims_DragonTamer, - [TRAINER_PIC_NINJA_BOY] = gTrainerFrontAnims_NinjaBoy, - [TRAINER_PIC_BATTLE_GIRL] = gTrainerFrontAnims_BattleGirl, - [TRAINER_PIC_PARASOL_LADY] = gTrainerFrontAnims_ParasolLady, - [TRAINER_PIC_SWIMMER_F] = gTrainerFrontAnims_SwimmerF, - [TRAINER_PIC_TWINS] = gTrainerFrontAnims_Twins, - [TRAINER_PIC_SAILOR] = gTrainerFrontAnims_Sailor, - [TRAINER_PIC_MAGMA_ADMIN] = gTrainerFrontAnims_MagmaAdmin, - [TRAINER_PIC_WALLY] = gTrainerFrontAnims_Wally, - [TRAINER_PIC_BRENDAN] = gTrainerFrontAnims_Brendan, - [TRAINER_PIC_MAY] = gTrainerFrontAnims_May, - [TRAINER_PIC_BUG_CATCHER] = gTrainerFrontAnims_BugCatcher, - [TRAINER_PIC_POKEMON_RANGER_M] = gTrainerFrontAnims_PokemonRangerM, - [TRAINER_PIC_POKEMON_RANGER_F] = gTrainerFrontAnims_PokemonRangerF, - [TRAINER_PIC_MAGMA_LEADER_MAXIE] = gTrainerFrontAnims_MagmaLeaderMaxie, - [TRAINER_PIC_LASS] = gTrainerFrontAnims_Lass, - [TRAINER_PIC_YOUNG_COUPLE] = gTrainerFrontAnims_YoungCouple, - [TRAINER_PIC_OLD_COUPLE] = gTrainerFrontAnims_OldCouple, - [TRAINER_PIC_SIS_AND_BRO] = gTrainerFrontAnims_SisAndBro, - [TRAINER_PIC_STEVEN] = gTrainerFrontAnims_Steven, - [TRAINER_PIC_SALON_MAIDEN_ANABEL] = gTrainerFrontAnims_SalonMaidenAnabel, - [TRAINER_PIC_DOME_ACE_TUCKER] = gTrainerFrontAnims_DomeAceTucker, - [TRAINER_PIC_PALACE_MAVEN_SPENSER] = gTrainerFrontAnims_PalaceMavenSpenser, - [TRAINER_PIC_ARENA_TYCOON_GRETA] = gTrainerFrontAnims_ArenaTycoonGreta, - [TRAINER_PIC_FACTORY_HEAD_NOLAND] = gTrainerFrontAnims_FactoryHeadNoland, - [TRAINER_PIC_PIKE_QUEEN_LUCY] = gTrainerFrontAnims_PikeQueenLucy, - [TRAINER_PIC_PYRAMID_KING_BRANDON] = gTrainerFrontAnims_PyramidKingBrandon, - [TRAINER_PIC_RED] = gTrainerFrontAnims_Red, - [TRAINER_PIC_LEAF] = gTrainerFrontAnims_Leaf, - [TRAINER_PIC_RS_BRENDAN] = gTrainerFrontAnims_RubySapphireBrendan, - [TRAINER_PIC_RS_MAY] = gTrainerFrontAnims_RubySapphireMay, + [TRAINER_PIC_HIKER] = sAnims_Hiker, + [TRAINER_PIC_AQUA_GRUNT_M] = sAnims_AquaGruntM, + [TRAINER_PIC_POKEMON_BREEDER_F] = sAnims_PokemonBreederF, + [TRAINER_PIC_COOLTRAINER_M] = sAnims_CoolTrainerM, + [TRAINER_PIC_BIRD_KEEPER] = sAnims_BirdKeeper, + [TRAINER_PIC_COLLECTOR] = sAnims_Collector, + [TRAINER_PIC_AQUA_GRUNT_F] = sAnims_AquaGruntF, + [TRAINER_PIC_SWIMMER_M] = sAnims_SwimmerM, + [TRAINER_PIC_MAGMA_GRUNT_M] = sAnims_MagmaGruntM, + [TRAINER_PIC_EXPERT_M] = sAnims_ExpertM, + [TRAINER_PIC_AQUA_ADMIN_M] = sAnims_AquaAdminM, + [TRAINER_PIC_BLACK_BELT] = sAnims_BlackBelt, + [TRAINER_PIC_AQUA_ADMIN_F] = sAnims_AquaAdminF, + [TRAINER_PIC_AQUA_LEADER_ARCHIE] = sAnims_AquaLeaderArchie, + [TRAINER_PIC_HEX_MANIAC] = sAnims_HexManiac, + [TRAINER_PIC_AROMA_LADY] = sAnims_AromaLady, + [TRAINER_PIC_RUIN_MANIAC] = sAnims_RuinManiac, + [TRAINER_PIC_INTERVIEWER] = sAnims_Interviewer, + [TRAINER_PIC_TUBER_F] = sAnims_TuberF, + [TRAINER_PIC_TUBER_M] = sAnims_TuberM, + [TRAINER_PIC_COOLTRAINER_F] = sAnims_CoolTrainerF, + [TRAINER_PIC_LADY] = sAnims_Lady, + [TRAINER_PIC_BEAUTY] = sAnims_Beauty, + [TRAINER_PIC_RICH_BOY] = sAnims_RichBoy, + [TRAINER_PIC_EXPERT_F] = sAnims_ExpertF, + [TRAINER_PIC_POKEMANIAC] = sAnims_Pokemaniac, + [TRAINER_PIC_MAGMA_GRUNT_F] = sAnims_MagmaGruntF, + [TRAINER_PIC_GUITARIST] = sAnims_Guitarist, + [TRAINER_PIC_KINDLER] = sAnims_Kindler, + [TRAINER_PIC_CAMPER] = sAnims_Camper, + [TRAINER_PIC_PICNICKER] = sAnims_Picnicker, + [TRAINER_PIC_BUG_MANIAC] = sAnims_BugManiac, + [TRAINER_PIC_POKEMON_BREEDER_M] = sAnims_PokemonBreederM, + [TRAINER_PIC_PSYCHIC_M] = sAnims_PsychicM, + [TRAINER_PIC_PSYCHIC_F] = sAnims_PsychicF, + [TRAINER_PIC_GENTLEMAN] = sAnims_Gentleman, + [TRAINER_PIC_ELITE_FOUR_SIDNEY] = sAnims_EliteFourSidney, + [TRAINER_PIC_ELITE_FOUR_PHOEBE] = sAnims_EliteFourPhoebe, + [TRAINER_PIC_ELITE_FOUR_GLACIA] = sAnims_EliteFourGlacia, + [TRAINER_PIC_ELITE_FOUR_DRAKE] = sAnims_EliteFourDrake, + [TRAINER_PIC_LEADER_ROXANNE] = sAnims_LeaderRoxanne, + [TRAINER_PIC_LEADER_BRAWLY] = sAnims_LeaderBrawly, + [TRAINER_PIC_LEADER_WATTSON] = sAnims_LeaderWattson, + [TRAINER_PIC_LEADER_FLANNERY] = sAnims_LeaderFlannery, + [TRAINER_PIC_LEADER_NORMAN] = sAnims_LeaderNorman, + [TRAINER_PIC_LEADER_WINONA] = sAnims_LeaderWinona, + [TRAINER_PIC_LEADER_TATE_AND_LIZA] = sAnims_LeaderTateAndLiza, + [TRAINER_PIC_LEADER_JUAN] = sAnims_LeaderJuan, + [TRAINER_PIC_SCHOOL_KID_M] = sAnims_SchoolKidM, + [TRAINER_PIC_SCHOOL_KID_F] = sAnims_SchoolKidF, + [TRAINER_PIC_SR_AND_JR] = sAnims_SrAndJr, + [TRAINER_PIC_POKEFAN_M] = sAnims_PokefanM, + [TRAINER_PIC_POKEFAN_F] = sAnims_PokefanF, + [TRAINER_PIC_YOUNGSTER] = sAnims_Youngster, + [TRAINER_PIC_CHAMPION_WALLACE] = sAnims_ChampionWallace, + [TRAINER_PIC_FISHERMAN] = sAnims_Fisherman, + [TRAINER_PIC_CYCLING_TRIATHLETE_M] = sAnims_CyclingTriathleteM, + [TRAINER_PIC_CYCLING_TRIATHLETE_F] = sAnims_CyclingTriathleteF, + [TRAINER_PIC_RUNNING_TRIATHLETE_M] = sAnims_RunningTriathleteM, + [TRAINER_PIC_RUNNING_TRIATHLETE_F] = sAnims_RunningTriathleteF, + [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = sAnims_SwimmingTriathleteM, + [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = sAnims_SwimmingTriathleteF, + [TRAINER_PIC_DRAGON_TAMER] = sAnims_DragonTamer, + [TRAINER_PIC_NINJA_BOY] = sAnims_NinjaBoy, + [TRAINER_PIC_BATTLE_GIRL] = sAnims_BattleGirl, + [TRAINER_PIC_PARASOL_LADY] = sAnims_ParasolLady, + [TRAINER_PIC_SWIMMER_F] = sAnims_SwimmerF, + [TRAINER_PIC_TWINS] = sAnims_Twins, + [TRAINER_PIC_SAILOR] = sAnims_Sailor, + [TRAINER_PIC_MAGMA_ADMIN] = sAnims_MagmaAdmin, + [TRAINER_PIC_WALLY] = sAnims_Wally, + [TRAINER_PIC_BRENDAN] = sAnims_Brendan, + [TRAINER_PIC_MAY] = sAnims_May, + [TRAINER_PIC_BUG_CATCHER] = sAnims_BugCatcher, + [TRAINER_PIC_POKEMON_RANGER_M] = sAnims_PokemonRangerM, + [TRAINER_PIC_POKEMON_RANGER_F] = sAnims_PokemonRangerF, + [TRAINER_PIC_MAGMA_LEADER_MAXIE] = sAnims_MagmaLeaderMaxie, + [TRAINER_PIC_LASS] = sAnims_Lass, + [TRAINER_PIC_YOUNG_COUPLE] = sAnims_YoungCouple, + [TRAINER_PIC_OLD_COUPLE] = sAnims_OldCouple, + [TRAINER_PIC_SIS_AND_BRO] = sAnims_SisAndBro, + [TRAINER_PIC_STEVEN] = sAnims_Steven, + [TRAINER_PIC_SALON_MAIDEN_ANABEL] = sAnims_SalonMaidenAnabel, + [TRAINER_PIC_DOME_ACE_TUCKER] = sAnims_DomeAceTucker, + [TRAINER_PIC_PALACE_MAVEN_SPENSER] = sAnims_PalaceMavenSpenser, + [TRAINER_PIC_ARENA_TYCOON_GRETA] = sAnims_ArenaTycoonGreta, + [TRAINER_PIC_FACTORY_HEAD_NOLAND] = sAnims_FactoryHeadNoland, + [TRAINER_PIC_PIKE_QUEEN_LUCY] = sAnims_PikeQueenLucy, + [TRAINER_PIC_PYRAMID_KING_BRANDON] = sAnims_PyramidKingBrandon, + [TRAINER_PIC_RED] = sAnims_Red, + [TRAINER_PIC_LEAF] = sAnims_Leaf, + [TRAINER_PIC_RS_BRENDAN] = sAnims_RubySapphireBrendan, + [TRAINER_PIC_RS_MAY] = sAnims_RubySapphireMay, }; diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h index fc637fc6e8..c3408b4c35 100644 --- a/src/data/trainer_graphics/front_pic_tables.h +++ b/src/data/trainer_graphics/front_pic_tables.h @@ -1,290 +1,290 @@ const struct MonCoords gTrainerFrontPicCoords[] = { - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, + [TRAINER_PIC_HIKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_GRUNT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_BREEDER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COOLTRAINER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BIRD_KEEPER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COLLECTOR] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_GRUNT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_GRUNT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_EXPERT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_ADMIN_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BLACK_BELT] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_ADMIN_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_LEADER_ARCHIE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_HEX_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AROMA_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUIN_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_INTERVIEWER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TUBER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TUBER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COOLTRAINER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BEAUTY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RICH_BOY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_EXPERT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_GRUNT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_GUITARIST] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_KINDLER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CAMPER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PICNICKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BUG_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_BREEDER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PSYCHIC_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PSYCHIC_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_GENTLEMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_SIDNEY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_PHOEBE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_GLACIA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_DRAKE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_ROXANNE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_BRAWLY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_WATTSON] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_FLANNERY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_NORMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_WINONA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_TATE_AND_LIZA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_JUAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SCHOOL_KID_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SCHOOL_KID_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SR_AND_JR] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_POKEFAN_M] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_POKEFAN_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_YOUNGSTER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CHAMPION_WALLACE] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_FISHERMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CYCLING_TRIATHLETE_M] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_CYCLING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUNNING_TRIATHLETE_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUNNING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_DRAGON_TAMER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_NINJA_BOY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BATTLE_GIRL] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_PARASOL_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TWINS] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SAILOR] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_ADMIN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_WALLY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BRENDAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BUG_CATCHER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_RANGER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_RANGER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_LEADER_MAXIE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LASS] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_YOUNG_COUPLE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_OLD_COUPLE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SIS_AND_BRO] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_STEVEN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SALON_MAIDEN_ANABEL] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_DOME_ACE_TUCKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PALACE_MAVEN_SPENSER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ARENA_TYCOON_GRETA] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_FACTORY_HEAD_NOLAND] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PIKE_QUEEN_LUCY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PYRAMID_KING_BRANDON] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RED] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEAF] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RS_BRENDAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RS_MAY] = {.size = 8, .y_offset = 1}, }; const struct CompressedSpriteSheet gTrainerFrontPicTable[] = { - gTrainerFrontPic_Hiker, 0x800, 0, - gTrainerFrontPic_AquaGruntM, 0x800, 1, - gTrainerFrontPic_PokemonBreederF, 0x800, 2, - gTrainerFrontPic_CoolTrainerM, 0x800, 3, - gTrainerFrontPic_BirdKeeper, 0x800, 4, - gTrainerFrontPic_Collector, 0x800, 5, - gTrainerFrontPic_AquaGruntF, 0x800, 6, - gTrainerFrontPic_SwimmerM, 0x800, 7, - gTrainerFrontPic_MagmaGruntM, 0x800, 8, - gTrainerFrontPic_ExpertM, 0x800, 9, - gTrainerFrontPic_AquaAdminM, 0x800, 10, - gTrainerFrontPic_BlackBelt, 0x800, 11, - gTrainerFrontPic_AquaAdminF, 0x800, 12, - gTrainerFrontPic_AquaLeaderArchie, 0x800, 13, - gTrainerFrontPic_HexManiac, 0x800, 14, - gTrainerFrontPic_AromaLady, 0x800, 15, - gTrainerFrontPic_RuinManiac, 0x800, 16, - gTrainerFrontPic_Interviewer, 0x800, 17, - gTrainerFrontPic_TuberF, 0x800, 18, - gTrainerFrontPic_TuberM, 0x800, 19, - gTrainerFrontPic_CoolTrainerF, 0x800, 20, - gTrainerFrontPic_Lady, 0x800, 21, - gTrainerFrontPic_Beauty, 0x800, 22, - gTrainerFrontPic_RichBoy, 0x800, 23, - gTrainerFrontPic_ExpertF, 0x800, 24, - gTrainerFrontPic_Pokemaniac, 0x800, 25, - gTrainerFrontPic_MagmaGruntF, 0x800, 26, - gTrainerFrontPic_Guitarist, 0x800, 27, - gTrainerFrontPic_Kindler, 0x800, 28, - gTrainerFrontPic_Camper, 0x800, 29, - gTrainerFrontPic_Picnicker, 0x800, 30, - gTrainerFrontPic_BugManiac, 0x800, 31, - gTrainerFrontPic_PokemonBreederM, 0x800, 32, - gTrainerFrontPic_PsychicM, 0x800, 33, - gTrainerFrontPic_PsychicF, 0x800, 34, - gTrainerFrontPic_Gentleman, 0x800, 35, - gTrainerFrontPic_EliteFourSidney, 0x800, 36, - gTrainerFrontPic_EliteFourPhoebe, 0x800, 37, - gTrainerFrontPic_EliteFourGlacia, 0x800, 38, - gTrainerFrontPic_EliteFourDrake, 0x800, 39, - gTrainerFrontPic_LeaderRoxanne, 0x800, 40, - gTrainerFrontPic_LeaderBrawly, 0x800, 41, - gTrainerFrontPic_LeaderWattson, 0x800, 42, - gTrainerFrontPic_LeaderFlannery, 0x800, 43, - gTrainerFrontPic_LeaderNorman, 0x800, 44, - gTrainerFrontPic_LeaderWinona, 0x800, 45, - gTrainerFrontPic_LeaderTateAndLiza, 0x800, 46, - gTrainerFrontPic_LeaderJuan, 0x800, 47, - gTrainerFrontPic_SchoolKidM, 0x800, 48, - gTrainerFrontPic_SchoolKidF, 0x800, 49, - gTrainerFrontPic_SrAndJr, 0x1000, 50, - gTrainerFrontPic_PokefanM, 0x1000, 51, - gTrainerFrontPic_PokefanF, 0x800, 52, - gTrainerFrontPic_Youngster, 0x800, 53, - gTrainerFrontPic_ChampionWallace, 0x1000, 54, - gTrainerFrontPic_Fisherman, 0x800, 55, - gTrainerFrontPic_CyclingTriathleteM, 0x1000, 56, - gTrainerFrontPic_CyclingTriathleteF, 0x800, 57, - gTrainerFrontPic_RunningTriathleteM, 0x800, 58, - gTrainerFrontPic_RunningTriathleteF, 0x800, 59, - gTrainerFrontPic_SwimmingTriathleteM, 0x800, 60, - gTrainerFrontPic_SwimmingTriathleteF, 0x800, 61, - gTrainerFrontPic_DragonTamer, 0x800, 62, - gTrainerFrontPic_NinjaBoy, 0x800, 63, - gTrainerFrontPic_BattleGirl, 0x1000, 64, - gTrainerFrontPic_ParasolLady, 0x800, 65, - gTrainerFrontPic_SwimmerF, 0x800, 66, - gTrainerFrontPic_Twins, 0x800, 67, - gTrainerFrontPic_Sailor, 0x800, 68, - gTrainerFrontPic_MagmaAdmin, 0x800, 69, - gTrainerFrontPic_Wally, 0x800, 70, - gTrainerFrontPic_Brendan, 0x800, 71, - gTrainerFrontPic_May, 0x800, 72, - gTrainerFrontPic_BugCatcher, 0x800, 73, - gTrainerFrontPic_PokemonRangerM, 0x800, 74, - gTrainerFrontPic_PokemonRangerF, 0x800, 75, - gTrainerFrontPic_MagmaLeaderMaxie, 0x800, 76, - gTrainerFrontPic_Lass, 0x800, 77, - gTrainerFrontPic_YoungCouple, 0x800, 78, - gTrainerFrontPic_OldCouple, 0x800, 79, - gTrainerFrontPic_SisAndBro, 0x800, 80, - gTrainerFrontPic_Steven, 0x800, 81, - gTrainerFrontPic_SalonMaidenAnabel, 0x800, 82, - gTrainerFrontPic_DomeAceTucker, 0x800, 83, - gTrainerFrontPic_PalaceMavenSpenser, 0x800, 84, - gTrainerFrontPic_ArenaTycoonGreta, 0x1000, 85, - gTrainerFrontPic_FactoryHeadNoland, 0x800, 86, - gTrainerFrontPic_PikeQueenLucy, 0x800, 87, - gTrainerFrontPic_PyramidKingBrandon, 0x800, 88, - gTrainerFrontPic_Red, 0x800, 89, - gTrainerFrontPic_Leaf, 0x800, 90, - gTrainerFrontPic_RubySapphireBrendan, 0x800, 91, - gTrainerFrontPic_RubySapphireMay, 0x800, 92, + TRAINER_SPRITE(HIKER, gTrainerFrontPic_Hiker, 0x800), + TRAINER_SPRITE(AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, 0x800), + TRAINER_SPRITE(POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, 0x800), + TRAINER_SPRITE(COOLTRAINER_M, gTrainerFrontPic_CoolTrainerM, 0x800), + TRAINER_SPRITE(BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, 0x800), + TRAINER_SPRITE(COLLECTOR, gTrainerFrontPic_Collector, 0x800), + TRAINER_SPRITE(AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, 0x800), + TRAINER_SPRITE(SWIMMER_M, gTrainerFrontPic_SwimmerM, 0x800), + TRAINER_SPRITE(MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, 0x800), + TRAINER_SPRITE(EXPERT_M, gTrainerFrontPic_ExpertM, 0x800), + TRAINER_SPRITE(AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, 0x800), + TRAINER_SPRITE(BLACK_BELT, gTrainerFrontPic_BlackBelt, 0x800), + TRAINER_SPRITE(AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, 0x800), + TRAINER_SPRITE(AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, 0x800), + TRAINER_SPRITE(HEX_MANIAC, gTrainerFrontPic_HexManiac, 0x800), + TRAINER_SPRITE(AROMA_LADY, gTrainerFrontPic_AromaLady, 0x800), + TRAINER_SPRITE(RUIN_MANIAC, gTrainerFrontPic_RuinManiac, 0x800), + TRAINER_SPRITE(INTERVIEWER, gTrainerFrontPic_Interviewer, 0x800), + TRAINER_SPRITE(TUBER_F, gTrainerFrontPic_TuberF, 0x800), + TRAINER_SPRITE(TUBER_M, gTrainerFrontPic_TuberM, 0x800), + TRAINER_SPRITE(COOLTRAINER_F, gTrainerFrontPic_CoolTrainerF, 0x800), + TRAINER_SPRITE(LADY, gTrainerFrontPic_Lady, 0x800), + TRAINER_SPRITE(BEAUTY, gTrainerFrontPic_Beauty, 0x800), + TRAINER_SPRITE(RICH_BOY, gTrainerFrontPic_RichBoy, 0x800), + TRAINER_SPRITE(EXPERT_F, gTrainerFrontPic_ExpertF, 0x800), + TRAINER_SPRITE(POKEMANIAC, gTrainerFrontPic_Pokemaniac, 0x800), + TRAINER_SPRITE(MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, 0x800), + TRAINER_SPRITE(GUITARIST, gTrainerFrontPic_Guitarist, 0x800), + TRAINER_SPRITE(KINDLER, gTrainerFrontPic_Kindler, 0x800), + TRAINER_SPRITE(CAMPER, gTrainerFrontPic_Camper, 0x800), + TRAINER_SPRITE(PICNICKER, gTrainerFrontPic_Picnicker, 0x800), + TRAINER_SPRITE(BUG_MANIAC, gTrainerFrontPic_BugManiac, 0x800), + TRAINER_SPRITE(POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, 0x800), + TRAINER_SPRITE(PSYCHIC_M, gTrainerFrontPic_PsychicM, 0x800), + TRAINER_SPRITE(PSYCHIC_F, gTrainerFrontPic_PsychicF, 0x800), + TRAINER_SPRITE(GENTLEMAN, gTrainerFrontPic_Gentleman, 0x800), + TRAINER_SPRITE(ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, 0x800), + TRAINER_SPRITE(ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, 0x800), + TRAINER_SPRITE(ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, 0x800), + TRAINER_SPRITE(ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, 0x800), + TRAINER_SPRITE(LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, 0x800), + TRAINER_SPRITE(LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, 0x800), + TRAINER_SPRITE(LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, 0x800), + TRAINER_SPRITE(LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, 0x800), + TRAINER_SPRITE(LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, 0x800), + TRAINER_SPRITE(LEADER_WINONA, gTrainerFrontPic_LeaderWinona, 0x800), + TRAINER_SPRITE(LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, 0x800), + TRAINER_SPRITE(LEADER_JUAN, gTrainerFrontPic_LeaderJuan, 0x800), + TRAINER_SPRITE(SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, 0x800), + TRAINER_SPRITE(SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, 0x800), + TRAINER_SPRITE(SR_AND_JR, gTrainerFrontPic_SrAndJr, 0x1000), + TRAINER_SPRITE(POKEFAN_M, gTrainerFrontPic_PokefanM, 0x1000), + TRAINER_SPRITE(POKEFAN_F, gTrainerFrontPic_PokefanF, 0x800), + TRAINER_SPRITE(YOUNGSTER, gTrainerFrontPic_Youngster, 0x800), + TRAINER_SPRITE(CHAMPION_WALLACE, gTrainerFrontPic_ChampionWallace, 0x1000), + TRAINER_SPRITE(FISHERMAN, gTrainerFrontPic_Fisherman, 0x800), + TRAINER_SPRITE(CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, 0x1000), + TRAINER_SPRITE(CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, 0x800), + TRAINER_SPRITE(RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, 0x800), + TRAINER_SPRITE(RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, 0x800), + TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, 0x800), + TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, 0x800), + TRAINER_SPRITE(DRAGON_TAMER, gTrainerFrontPic_DragonTamer, 0x800), + TRAINER_SPRITE(NINJA_BOY, gTrainerFrontPic_NinjaBoy, 0x800), + TRAINER_SPRITE(BATTLE_GIRL, gTrainerFrontPic_BattleGirl, 0x1000), + TRAINER_SPRITE(PARASOL_LADY, gTrainerFrontPic_ParasolLady, 0x800), + TRAINER_SPRITE(SWIMMER_F, gTrainerFrontPic_SwimmerF, 0x800), + TRAINER_SPRITE(TWINS, gTrainerFrontPic_Twins, 0x800), + TRAINER_SPRITE(SAILOR, gTrainerFrontPic_Sailor, 0x800), + TRAINER_SPRITE(MAGMA_ADMIN, gTrainerFrontPic_MagmaAdmin, 0x800), + TRAINER_SPRITE(WALLY, gTrainerFrontPic_Wally, 0x800), + TRAINER_SPRITE(BRENDAN, gTrainerFrontPic_Brendan, 0x800), + TRAINER_SPRITE(MAY, gTrainerFrontPic_May, 0x800), + TRAINER_SPRITE(BUG_CATCHER, gTrainerFrontPic_BugCatcher, 0x800), + TRAINER_SPRITE(POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, 0x800), + TRAINER_SPRITE(POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, 0x800), + TRAINER_SPRITE(MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, 0x800), + TRAINER_SPRITE(LASS, gTrainerFrontPic_Lass, 0x800), + TRAINER_SPRITE(YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, 0x800), + TRAINER_SPRITE(OLD_COUPLE, gTrainerFrontPic_OldCouple, 0x800), + TRAINER_SPRITE(SIS_AND_BRO, gTrainerFrontPic_SisAndBro, 0x800), + TRAINER_SPRITE(STEVEN, gTrainerFrontPic_Steven, 0x800), + TRAINER_SPRITE(SALON_MAIDEN_ANABEL, gTrainerFrontPic_SalonMaidenAnabel, 0x800), + TRAINER_SPRITE(DOME_ACE_TUCKER, gTrainerFrontPic_DomeAceTucker, 0x800), + TRAINER_SPRITE(PALACE_MAVEN_SPENSER, gTrainerFrontPic_PalaceMavenSpenser, 0x800), + TRAINER_SPRITE(ARENA_TYCOON_GRETA, gTrainerFrontPic_ArenaTycoonGreta, 0x1000), + TRAINER_SPRITE(FACTORY_HEAD_NOLAND, gTrainerFrontPic_FactoryHeadNoland, 0x800), + TRAINER_SPRITE(PIKE_QUEEN_LUCY, gTrainerFrontPic_PikeQueenLucy, 0x800), + TRAINER_SPRITE(PYRAMID_KING_BRANDON, gTrainerFrontPic_PyramidKingBrandon, 0x800), + TRAINER_SPRITE(RED, gTrainerFrontPic_Red, 0x800), + TRAINER_SPRITE(LEAF, gTrainerFrontPic_Leaf, 0x800), + TRAINER_SPRITE(RS_BRENDAN, gTrainerFrontPic_RubySapphireBrendan, 0x800), + TRAINER_SPRITE(RS_MAY, gTrainerFrontPic_RubySapphireMay, 0x800), }; const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] = { - gTrainerPalette_Hiker, 0, - gTrainerPalette_AquaGruntM, 1, - gTrainerPalette_PokemonBreederF, 2, - gTrainerPalette_CoolTrainerM, 3, - gTrainerPalette_BirdKeeper, 4, - gTrainerPalette_Collector, 5, - gTrainerPalette_AquaGruntF, 6, - gTrainerPalette_SwimmerM, 7, - gTrainerPalette_MagmaGruntM, 8, - gTrainerPalette_ExpertM, 9, - gTrainerPalette_AquaAdminM, 10, - gTrainerPalette_BlackBelt, 11, - gTrainerPalette_AquaAdminF, 12, - gTrainerPalette_AquaLeaderArchie, 13, - gTrainerPalette_HexManiac, 14, - gTrainerPalette_AromaLady, 15, - gTrainerPalette_RuinManiac, 16, - gTrainerPalette_Interviewer, 17, - gTrainerPalette_TuberF, 18, - gTrainerPalette_TuberM, 19, - gTrainerPalette_CoolTrainerF, 20, - gTrainerPalette_Lady, 21, - gTrainerPalette_Beauty, 22, - gTrainerPalette_RichBoy, 23, - gTrainerPalette_ExpertF, 24, - gTrainerPalette_Pokemaniac, 25, - gTrainerPalette_MagmaGruntF, 26, - gTrainerPalette_Guitarist, 27, - gTrainerPalette_Kindler, 28, - gTrainerPalette_Camper, 29, - gTrainerPalette_Picnicker, 30, - gTrainerPalette_BugManiac, 31, - gTrainerPalette_PokemonBreederM, 32, - gTrainerPalette_PsychicM, 33, - gTrainerPalette_PsychicF, 34, - gTrainerPalette_Gentleman, 35, - gTrainerPalette_EliteFourSidney, 36, - gTrainerPalette_EliteFourPhoebe, 37, - gTrainerPalette_EliteFourGlacia, 38, - gTrainerPalette_EliteFourDrake, 39, - gTrainerPalette_LeaderRoxanne, 40, - gTrainerPalette_LeaderBrawly, 41, - gTrainerPalette_LeaderWattson, 42, - gTrainerPalette_LeaderFlannery, 43, - gTrainerPalette_LeaderNorman, 44, - gTrainerPalette_LeaderWinona, 45, - gTrainerPalette_LeaderTateAndLiza, 46, - gTrainerPalette_LeaderJuan, 47, - gTrainerPalette_SchoolKidM, 48, - gTrainerPalette_SchoolKidF, 49, - gTrainerPalette_SrAndJr, 50, - gTrainerPalette_PokefanM, 51, - gTrainerPalette_PokefanF, 52, - gTrainerPalette_Youngster, 53, - gTrainerPalette_ChampionWallace, 54, - gTrainerPalette_Fisherman, 55, - gTrainerPalette_CyclingTriathleteM, 56, - gTrainerPalette_CyclingTriathleteF, 57, - gTrainerPalette_RunningTriathleteM, 58, - gTrainerPalette_RunningTriathleteF, 59, - gTrainerPalette_SwimmingTriathleteM, 60, - gTrainerPalette_SwimmingTriathleteF, 61, - gTrainerPalette_DragonTamer, 62, - gTrainerPalette_NinjaBoy, 63, - gTrainerPalette_BattleGirl, 64, - gTrainerPalette_ParasolLady, 65, - gTrainerPalette_SwimmerF, 66, - gTrainerPalette_Twins, 67, - gTrainerPalette_Sailor, 68, - gTrainerPalette_MagmaAdmin, 69, - gTrainerPalette_Wally, 70, - gTrainerPalette_Brendan, 71, - gTrainerPalette_May, 72, - gTrainerPalette_BugCatcher, 73, - gTrainerPalette_PokemonRangerM, 74, - gTrainerPalette_PokemonRangerF, 75, - gTrainerPalette_MagmaLeaderMaxie, 76, - gTrainerPalette_Lass, 77, - gTrainerPalette_YoungCouple, 78, - gTrainerPalette_OldCouple, 79, - gTrainerPalette_SisAndBro, 80, - gTrainerPalette_Steven, 81, - gTrainerPalette_SalonMaidenAnabel, 82, - gTrainerPalette_DomeAceTucker, 83, - gTrainerPalette_PalaceMavenSpenser, 84, - gTrainerPalette_ArenaTycoonGreta, 85, - gTrainerPalette_FactoryHeadNoland, 86, - gTrainerPalette_PikeQueenLucy, 87, - gTrainerPalette_PyramidKingBrandon, 88, - gTrainerPalette_Red, 89, - gTrainerPalette_Leaf, 90, - gTrainerPalette_RubySapphireBrendan, 91, - gTrainerPalette_RubySapphireMay, 92, + TRAINER_PAL(HIKER, gTrainerPalette_Hiker), + TRAINER_PAL(AQUA_GRUNT_M, gTrainerPalette_AquaGruntM), + TRAINER_PAL(POKEMON_BREEDER_F, gTrainerPalette_PokemonBreederF), + TRAINER_PAL(COOLTRAINER_M, gTrainerPalette_CoolTrainerM), + TRAINER_PAL(BIRD_KEEPER, gTrainerPalette_BirdKeeper), + TRAINER_PAL(COLLECTOR, gTrainerPalette_Collector), + TRAINER_PAL(AQUA_GRUNT_F, gTrainerPalette_AquaGruntF), + TRAINER_PAL(SWIMMER_M, gTrainerPalette_SwimmerM), + TRAINER_PAL(MAGMA_GRUNT_M, gTrainerPalette_MagmaGruntM), + TRAINER_PAL(EXPERT_M, gTrainerPalette_ExpertM), + TRAINER_PAL(AQUA_ADMIN_M, gTrainerPalette_AquaAdminM), + TRAINER_PAL(BLACK_BELT, gTrainerPalette_BlackBelt), + TRAINER_PAL(AQUA_ADMIN_F, gTrainerPalette_AquaAdminF), + TRAINER_PAL(AQUA_LEADER_ARCHIE, gTrainerPalette_AquaLeaderArchie), + TRAINER_PAL(HEX_MANIAC, gTrainerPalette_HexManiac), + TRAINER_PAL(AROMA_LADY, gTrainerPalette_AromaLady), + TRAINER_PAL(RUIN_MANIAC, gTrainerPalette_RuinManiac), + TRAINER_PAL(INTERVIEWER, gTrainerPalette_Interviewer), + TRAINER_PAL(TUBER_F, gTrainerPalette_TuberF), + TRAINER_PAL(TUBER_M, gTrainerPalette_TuberM), + TRAINER_PAL(COOLTRAINER_F, gTrainerPalette_CoolTrainerF), + TRAINER_PAL(LADY, gTrainerPalette_Lady), + TRAINER_PAL(BEAUTY, gTrainerPalette_Beauty), + TRAINER_PAL(RICH_BOY, gTrainerPalette_RichBoy), + TRAINER_PAL(EXPERT_F, gTrainerPalette_ExpertF), + TRAINER_PAL(POKEMANIAC, gTrainerPalette_Pokemaniac), + TRAINER_PAL(MAGMA_GRUNT_F, gTrainerPalette_MagmaGruntF), + TRAINER_PAL(GUITARIST, gTrainerPalette_Guitarist), + TRAINER_PAL(KINDLER, gTrainerPalette_Kindler), + TRAINER_PAL(CAMPER, gTrainerPalette_Camper), + TRAINER_PAL(PICNICKER, gTrainerPalette_Picnicker), + TRAINER_PAL(BUG_MANIAC, gTrainerPalette_BugManiac), + TRAINER_PAL(POKEMON_BREEDER_M, gTrainerPalette_PokemonBreederM), + TRAINER_PAL(PSYCHIC_M, gTrainerPalette_PsychicM), + TRAINER_PAL(PSYCHIC_F, gTrainerPalette_PsychicF), + TRAINER_PAL(GENTLEMAN, gTrainerPalette_Gentleman), + TRAINER_PAL(ELITE_FOUR_SIDNEY, gTrainerPalette_EliteFourSidney), + TRAINER_PAL(ELITE_FOUR_PHOEBE, gTrainerPalette_EliteFourPhoebe), + TRAINER_PAL(ELITE_FOUR_GLACIA, gTrainerPalette_EliteFourGlacia), + TRAINER_PAL(ELITE_FOUR_DRAKE, gTrainerPalette_EliteFourDrake), + TRAINER_PAL(LEADER_ROXANNE, gTrainerPalette_LeaderRoxanne), + TRAINER_PAL(LEADER_BRAWLY, gTrainerPalette_LeaderBrawly), + TRAINER_PAL(LEADER_WATTSON, gTrainerPalette_LeaderWattson), + TRAINER_PAL(LEADER_FLANNERY, gTrainerPalette_LeaderFlannery), + TRAINER_PAL(LEADER_NORMAN, gTrainerPalette_LeaderNorman), + TRAINER_PAL(LEADER_WINONA, gTrainerPalette_LeaderWinona), + TRAINER_PAL(LEADER_TATE_AND_LIZA, gTrainerPalette_LeaderTateAndLiza), + TRAINER_PAL(LEADER_JUAN, gTrainerPalette_LeaderJuan), + TRAINER_PAL(SCHOOL_KID_M, gTrainerPalette_SchoolKidM), + TRAINER_PAL(SCHOOL_KID_F, gTrainerPalette_SchoolKidF), + TRAINER_PAL(SR_AND_JR, gTrainerPalette_SrAndJr), + TRAINER_PAL(POKEFAN_M, gTrainerPalette_PokefanM), + TRAINER_PAL(POKEFAN_F, gTrainerPalette_PokefanF), + TRAINER_PAL(YOUNGSTER, gTrainerPalette_Youngster), + TRAINER_PAL(CHAMPION_WALLACE, gTrainerPalette_ChampionWallace), + TRAINER_PAL(FISHERMAN, gTrainerPalette_Fisherman), + TRAINER_PAL(CYCLING_TRIATHLETE_M, gTrainerPalette_CyclingTriathleteM), + TRAINER_PAL(CYCLING_TRIATHLETE_F, gTrainerPalette_CyclingTriathleteF), + TRAINER_PAL(RUNNING_TRIATHLETE_M, gTrainerPalette_RunningTriathleteM), + TRAINER_PAL(RUNNING_TRIATHLETE_F, gTrainerPalette_RunningTriathleteF), + TRAINER_PAL(SWIMMING_TRIATHLETE_M, gTrainerPalette_SwimmingTriathleteM), + TRAINER_PAL(SWIMMING_TRIATHLETE_F, gTrainerPalette_SwimmingTriathleteF), + TRAINER_PAL(DRAGON_TAMER, gTrainerPalette_DragonTamer), + TRAINER_PAL(NINJA_BOY, gTrainerPalette_NinjaBoy), + TRAINER_PAL(BATTLE_GIRL, gTrainerPalette_BattleGirl), + TRAINER_PAL(PARASOL_LADY, gTrainerPalette_ParasolLady), + TRAINER_PAL(SWIMMER_F, gTrainerPalette_SwimmerF), + TRAINER_PAL(TWINS, gTrainerPalette_Twins), + TRAINER_PAL(SAILOR, gTrainerPalette_Sailor), + TRAINER_PAL(MAGMA_ADMIN, gTrainerPalette_MagmaAdmin), + TRAINER_PAL(WALLY, gTrainerPalette_Wally), + TRAINER_PAL(BRENDAN, gTrainerPalette_Brendan), + TRAINER_PAL(MAY, gTrainerPalette_May), + TRAINER_PAL(BUG_CATCHER, gTrainerPalette_BugCatcher), + TRAINER_PAL(POKEMON_RANGER_M, gTrainerPalette_PokemonRangerM), + TRAINER_PAL(POKEMON_RANGER_F, gTrainerPalette_PokemonRangerF), + TRAINER_PAL(MAGMA_LEADER_MAXIE, gTrainerPalette_MagmaLeaderMaxie), + TRAINER_PAL(LASS, gTrainerPalette_Lass), + TRAINER_PAL(YOUNG_COUPLE, gTrainerPalette_YoungCouple), + TRAINER_PAL(OLD_COUPLE, gTrainerPalette_OldCouple), + TRAINER_PAL(SIS_AND_BRO, gTrainerPalette_SisAndBro), + TRAINER_PAL(STEVEN, gTrainerPalette_Steven), + TRAINER_PAL(SALON_MAIDEN_ANABEL, gTrainerPalette_SalonMaidenAnabel), + TRAINER_PAL(DOME_ACE_TUCKER, gTrainerPalette_DomeAceTucker), + TRAINER_PAL(PALACE_MAVEN_SPENSER, gTrainerPalette_PalaceMavenSpenser), + TRAINER_PAL(ARENA_TYCOON_GRETA, gTrainerPalette_ArenaTycoonGreta), + TRAINER_PAL(FACTORY_HEAD_NOLAND, gTrainerPalette_FactoryHeadNoland), + TRAINER_PAL(PIKE_QUEEN_LUCY, gTrainerPalette_PikeQueenLucy), + TRAINER_PAL(PYRAMID_KING_BRANDON, gTrainerPalette_PyramidKingBrandon), + TRAINER_PAL(RED, gTrainerPalette_Red), + TRAINER_PAL(LEAF, gTrainerPalette_Leaf), + TRAINER_PAL(RS_BRENDAN, gTrainerPalette_RubySapphireBrendan), + TRAINER_PAL(RS_MAY, gTrainerPalette_RubySapphireMay), }; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index b4438e5b34..252eed760d 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -1,4 +1,4 @@ -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = { { .iv = 0, .lvl = 21, @@ -6,7 +6,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt1[] = { { .iv = 0, .lvl = 32, @@ -14,7 +14,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt2[] = { { .iv = 0, .lvl = 31, @@ -27,7 +27,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt3[] = { { .iv = 0, .lvl = 32, @@ -35,7 +35,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt4[] = { { .iv = 0, .lvl = 32, @@ -43,7 +43,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt5[] = { { .iv = 0, .lvl = 36, @@ -51,7 +51,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt6[] = { { .iv = 0, .lvl = 36, @@ -59,7 +59,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt7[] = { { .iv = 0, .lvl = 36, @@ -67,7 +67,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle1[] = { { .iv = 0, .lvl = 26, @@ -100,7 +100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt8[] = { { .iv = 0, .lvl = 9, @@ -108,7 +108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marcel[] = { { .iv = 100, .lvl = 29, @@ -121,7 +121,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alberto[] = { { .iv = 0, .lvl = 30, @@ -134,7 +134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ed[] = { { .iv = 0, .lvl = 30, @@ -147,7 +147,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt9[] = { { .iv = 0, .lvl = 36, @@ -155,7 +155,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Declan[] = { { .iv = 0, .lvl = 34, @@ -163,7 +163,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt10[] = { { .iv = 0, .lvl = 11, @@ -171,7 +171,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt11[] = { { .iv = 0, .lvl = 27, @@ -184,7 +184,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt12[] = { { .iv = 0, .lvl = 27, @@ -197,7 +197,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt13[] = { { .iv = 0, .lvl = 26, @@ -215,7 +215,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt14[] = { { .iv = 0, .lvl = 15, @@ -223,7 +223,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt15[] = { { .iv = 0, .lvl = 14, @@ -236,7 +236,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt16[] = { { .iv = 0, .lvl = 32, @@ -244,7 +244,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt17[] = { { .iv = 0, .lvl = 32, @@ -252,7 +252,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt18[] = { { .iv = 0, .lvl = 32, @@ -260,7 +260,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt19[] = { { .iv = 0, .lvl = 30, @@ -273,7 +273,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt20[] = { { .iv = 0, .lvl = 28, @@ -281,7 +281,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt21[] = { { .iv = 0, .lvl = 32, @@ -289,7 +289,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt22[] = { { .iv = 0, .lvl = 32, @@ -297,7 +297,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fredrick[] = { { .iv = 100, .lvl = 30, @@ -310,7 +310,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Matt[] = { { .iv = 50, .lvl = 34, @@ -323,7 +323,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = { { .iv = 0, .lvl = 31, @@ -331,7 +331,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = { { .iv = 50, .lvl = 28, @@ -344,7 +344,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelly2[] = { { .iv = 100, .lvl = 37, @@ -357,7 +357,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Archie[] = { { .iv = 150, .lvl = 41, @@ -375,7 +375,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leah[] = { { .iv = 0, .lvl = 31, @@ -383,7 +383,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Daisy[] = { { .iv = 0, .lvl = 14, @@ -396,7 +396,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose1[] = { { .iv = 0, .lvl = 14, @@ -414,7 +414,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Felix[] = { { .iv = 0, .lvl = 43, @@ -429,7 +429,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Violet[] = { { .iv = 0, .lvl = 26, @@ -442,7 +442,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose2[] = { { .iv = 10, .lvl = 26, @@ -455,7 +455,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose3[] = { { .iv = 20, .lvl = 28, @@ -473,7 +473,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose4[] = { { .iv = 30, .lvl = 31, @@ -491,7 +491,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose5[] = { { .iv = 40, .lvl = 34, @@ -509,7 +509,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = { { .iv = 50, .lvl = 23, @@ -518,7 +518,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = { { .iv = 50, .lvl = 27, @@ -539,7 +539,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = { { .iv = 100, .lvl = 25, @@ -554,7 +554,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = { { .iv = 60, .lvl = 27, @@ -563,7 +563,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = { { .iv = 70, .lvl = 30, @@ -572,7 +572,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = { { .iv = 80, .lvl = 33, @@ -581,7 +581,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty5[] = { { .iv = 90, .lvl = 36, @@ -590,7 +590,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy1[] = { { .iv = 50, .lvl = 17, @@ -603,7 +603,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy2[] = { { .iv = 100, .lvl = 27, @@ -616,7 +616,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy3[] = { { .iv = 150, .lvl = 30, @@ -629,7 +629,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy4[] = { { .iv = 200, .lvl = 33, @@ -642,7 +642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy5[] = { { .iv = 250, .lvl = 36, @@ -655,7 +655,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_GabbyAndTy6[] = { { .iv = 250, .lvl = 39, @@ -670,7 +670,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola1[] = { { .iv = 10, .lvl = 12, @@ -683,7 +683,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Austina[] = { { .iv = 0, .lvl = 26, @@ -691,7 +691,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gwen[] = { { .iv = 0, .lvl = 26, @@ -699,7 +699,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola2[] = { { .iv = 10, .lvl = 26, @@ -712,7 +712,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola3[] = { { .iv = 20, .lvl = 29, @@ -725,7 +725,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola4[] = { { .iv = 30, .lvl = 32, @@ -738,7 +738,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola5[] = { { .iv = 40, .lvl = 35, @@ -751,7 +751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky1[] = { { .iv = 10, .lvl = 13, @@ -760,7 +760,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Simon[] = { { .iv = 0, .lvl = 12, @@ -773,7 +773,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Charlie[] = { { .iv = 0, .lvl = 26, @@ -781,7 +781,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = { { .iv = 10, .lvl = 27, @@ -790,7 +790,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = { { .iv = 20, .lvl = 30, @@ -799,7 +799,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = { { .iv = 30, .lvl = 33, @@ -808,7 +808,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = { { .iv = 40, .lvl = 36, @@ -817,7 +817,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = { +static const struct TrainerMonItemCustomMoves sParty_Randall[] = { { .iv = 255, .lvl = 26, @@ -827,7 +827,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = { +static const struct TrainerMonItemCustomMoves sParty_Parker[] = { { .iv = 255, .lvl = 26, @@ -837,7 +837,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_George[] = { +static const struct TrainerMonItemCustomMoves sParty_George[] = { { .iv = 255, .lvl = 26, @@ -847,7 +847,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_George[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = { +static const struct TrainerMonItemCustomMoves sParty_Berke[] = { { .iv = 255, .lvl = 26, @@ -857,7 +857,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = { { .iv = 100, .lvl = 28, @@ -890,7 +890,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vincent[] = { { .iv = 100, .lvl = 44, @@ -908,7 +908,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leroy[] = { { .iv = 100, .lvl = 46, @@ -921,7 +921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton1[] = { { .iv = 100, .lvl = 17, @@ -939,7 +939,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edgar[] = { { .iv = 100, .lvl = 43, @@ -952,7 +952,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Albert[] = { { .iv = 100, .lvl = 43, @@ -965,7 +965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Samuel[] = { { .iv = 100, .lvl = 42, @@ -983,7 +983,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vito[] = { { .iv = 100, .lvl = 42, @@ -1006,7 +1006,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Owen[] = { { .iv = 100, .lvl = 42, @@ -1024,7 +1024,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton2[] = { { .iv = 110, .lvl = 26, @@ -1042,7 +1042,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton3[] = { { .iv = 120, .lvl = 29, @@ -1060,7 +1060,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton4[] = { { .iv = 130, .lvl = 32, @@ -1078,7 +1078,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton5[] = { { .iv = 140, .lvl = 35, @@ -1096,7 +1096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Warren[] = { { .iv = 100, .lvl = 33, @@ -1109,7 +1109,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = { +static const struct TrainerMonItemCustomMoves sParty_Mary[] = { { .iv = 255, .lvl = 26, @@ -1119,7 +1119,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = { +static const struct TrainerMonItemCustomMoves sParty_Alexia[] = { { .iv = 255, .lvl = 26, @@ -1129,7 +1129,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = { +static const struct TrainerMonItemCustomMoves sParty_Jody[] = { { .iv = 255, .lvl = 26, @@ -1139,7 +1139,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = { { .iv = 100, .lvl = 29, @@ -1160,7 +1160,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Keira[] = { { .iv = 100, .lvl = 45, @@ -1173,7 +1173,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke1[] = { { .iv = 100, .lvl = 17, @@ -1191,7 +1191,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jennifer[] = { { .iv = 200, .lvl = 30, @@ -1199,7 +1199,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hope[] = { { .iv = 100, .lvl = 45, @@ -1207,7 +1207,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shannon[] = { { .iv = 100, .lvl = 45, @@ -1215,7 +1215,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Michelle[] = { { .iv = 100, .lvl = 42, @@ -1233,7 +1233,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Caroline[] = { { .iv = 100, .lvl = 43, @@ -1246,7 +1246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Julie[] = { { .iv = 100, .lvl = 42, @@ -1264,7 +1264,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke2[] = { { .iv = 110, .lvl = 26, @@ -1282,7 +1282,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke3[] = { { .iv = 120, .lvl = 29, @@ -1300,7 +1300,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke4[] = { { .iv = 130, .lvl = 32, @@ -1318,7 +1318,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke5[] = { { .iv = 140, .lvl = 34, @@ -1336,7 +1336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Patricia[] = { { .iv = 0, .lvl = 41, @@ -1349,7 +1349,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kindra[] = { { .iv = 0, .lvl = 30, @@ -1362,7 +1362,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tammy[] = { { .iv = 0, .lvl = 29, @@ -1375,7 +1375,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie1[] = { { .iv = 0, .lvl = 32, @@ -1383,7 +1383,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tasha[] = { { .iv = 50, .lvl = 32, @@ -1391,7 +1391,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie2[] = { { .iv = 10, .lvl = 31, @@ -1404,7 +1404,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie3[] = { { .iv = 20, .lvl = 35, @@ -1417,7 +1417,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie4[] = { { .iv = 30, .lvl = 40, @@ -1430,7 +1430,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie5[] = { { .iv = 40, .lvl = 42, @@ -1448,7 +1448,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy1[] = { { .iv = 0, .lvl = 7, @@ -1457,7 +1457,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = { +static const struct TrainerMonItemCustomMoves sParty_Daphne[] = { { .iv = 100, .lvl = 39, @@ -1474,7 +1474,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt23[] = { { .iv = 0, .lvl = 26, @@ -1492,7 +1492,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = { +static const struct TrainerMonItemCustomMoves sParty_Cindy2[] = { { .iv = 0, .lvl = 11, @@ -1502,7 +1502,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = { +static const struct TrainerMonItemDefaultMoves sParty_Brianna[] = { { .iv = 150, .lvl = 40, @@ -1511,7 +1511,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = { +static const struct TrainerMonItemDefaultMoves sParty_Naomi[] = { { .iv = 100, .lvl = 45, @@ -1520,7 +1520,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy3[] = { { .iv = 10, .lvl = 27, @@ -1529,7 +1529,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy4[] = { { .iv = 20, .lvl = 30, @@ -1538,7 +1538,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy5[] = { { .iv = 30, .lvl = 33, @@ -1547,7 +1547,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = { +static const struct TrainerMonItemCustomMoves sParty_Cindy6[] = { { .iv = 40, .lvl = 36, @@ -1557,7 +1557,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Melissa[] = { { .iv = 0, .lvl = 21, @@ -1565,7 +1565,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sheila[] = { { .iv = 0, .lvl = 21, @@ -1573,7 +1573,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shirley[] = { { .iv = 0, .lvl = 21, @@ -1581,7 +1581,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = { { .iv = 0, .lvl = 29, @@ -1596,7 +1596,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Connie[] = { { .iv = 100, .lvl = 40, @@ -1604,7 +1604,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bridget[] = { { .iv = 150, .lvl = 40, @@ -1612,7 +1612,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Olivia[] = { { .iv = 100, .lvl = 35, @@ -1633,7 +1633,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tiffany[] = { { .iv = 100, .lvl = 39, @@ -1646,7 +1646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = { { .iv = 10, .lvl = 35, @@ -1661,7 +1661,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = { { .iv = 20, .lvl = 38, @@ -1676,7 +1676,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = { { .iv = 30, .lvl = 41, @@ -1691,7 +1691,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = { { .iv = 40, .lvl = 44, @@ -1706,7 +1706,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston1[] = { { .iv = 0, .lvl = 7, @@ -1715,7 +1715,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mollie[] = { { .iv = 0, .lvl = 33, @@ -1728,7 +1728,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = { +static const struct TrainerMonItemDefaultMoves sParty_Garret[] = { { .iv = 0, .lvl = 45, @@ -1737,7 +1737,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston2[] = { { .iv = 0, .lvl = 27, @@ -1746,7 +1746,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston3[] = { { .iv = 0, .lvl = 30, @@ -1755,7 +1755,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston4[] = { { .iv = 0, .lvl = 33, @@ -1764,7 +1764,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = { +static const struct TrainerMonItemCustomMoves sParty_Winston5[] = { { .iv = 0, .lvl = 36, @@ -1774,7 +1774,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve1[] = { { .iv = 0, .lvl = 19, @@ -1782,7 +1782,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia1[] = { { .iv = 0, .lvl = 25, @@ -1795,7 +1795,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mark[] = { { .iv = 0, .lvl = 31, @@ -1803,7 +1803,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt24[] = { { .iv = 0, .lvl = 20, @@ -1811,7 +1811,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve2[] = { { .iv = 10, .lvl = 27, @@ -1819,7 +1819,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve3[] = { { .iv = 20, .lvl = 29, @@ -1832,7 +1832,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve4[] = { { .iv = 30, .lvl = 32, @@ -1845,7 +1845,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve5[] = { { .iv = 40, .lvl = 35, @@ -1858,7 +1858,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Luis[] = { { .iv = 0, .lvl = 26, @@ -1866,7 +1866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dominik[] = { { .iv = 0, .lvl = 26, @@ -1874,7 +1874,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Douglas[] = { { .iv = 10, .lvl = 24, @@ -1887,7 +1887,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darrin[] = { { .iv = 10, .lvl = 24, @@ -1905,7 +1905,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony1[] = { { .iv = 0, .lvl = 26, @@ -1913,7 +1913,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerome[] = { { .iv = 0, .lvl = 26, @@ -1921,7 +1921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Matthew[] = { { .iv = 0, .lvl = 26, @@ -1929,7 +1929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_David[] = { { .iv = 0, .lvl = 25, @@ -1942,7 +1942,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Spencer[] = { { .iv = 0, .lvl = 33, @@ -1955,7 +1955,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Roland[] = { { .iv = 0, .lvl = 34, @@ -1963,7 +1963,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nolen[] = { { .iv = 0, .lvl = 34, @@ -1971,7 +1971,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Stan[] = { { .iv = 0, .lvl = 34, @@ -1979,7 +1979,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Barry[] = { { .iv = 0, .lvl = 34, @@ -1987,7 +1987,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dean[] = { { .iv = 0, .lvl = 31, @@ -2005,7 +2005,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rodney[] = { { .iv = 0, .lvl = 34, @@ -2013,7 +2013,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Richard[] = { { .iv = 0, .lvl = 34, @@ -2021,7 +2021,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Herman[] = { { .iv = 0, .lvl = 33, @@ -2034,7 +2034,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Santiago[] = { { .iv = 0, .lvl = 33, @@ -2047,7 +2047,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gilbert[] = { { .iv = 0, .lvl = 34, @@ -2055,7 +2055,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Franklin[] = { { .iv = 0, .lvl = 34, @@ -2063,7 +2063,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kevin[] = { { .iv = 0, .lvl = 34, @@ -2071,7 +2071,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jack[] = { { .iv = 0, .lvl = 34, @@ -2079,7 +2079,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dudley[] = { { .iv = 0, .lvl = 33, @@ -2097,7 +2097,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chad[] = { { .iv = 0, .lvl = 33, @@ -2110,7 +2110,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony2[] = { { .iv = 10, .lvl = 30, @@ -2118,7 +2118,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony3[] = { { .iv = 20, .lvl = 33, @@ -2126,7 +2126,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony4[] = { { .iv = 30, .lvl = 34, @@ -2139,7 +2139,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony5[] = { { .iv = 40, .lvl = 37, @@ -2152,7 +2152,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Takao[] = { { .iv = 127, .lvl = 13, @@ -2160,7 +2160,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hitoshi[] = { { .iv = 50, .lvl = 32, @@ -2173,7 +2173,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kiyo[] = { { .iv = 100, .lvl = 34, @@ -2181,7 +2181,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koichi[] = { { .iv = 100, .lvl = 24, @@ -2194,7 +2194,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob1[] = { { .iv = 100, .lvl = 19, @@ -2202,7 +2202,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob2[] = { { .iv = 110, .lvl = 27, @@ -2210,7 +2210,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob3[] = { { .iv = 120, .lvl = 29, @@ -2223,7 +2223,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob4[] = { { .iv = 130, .lvl = 31, @@ -2241,7 +2241,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Nob5[] = { { .iv = 140, .lvl = 33, @@ -2268,7 +2268,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Yuji[] = { { .iv = 100, .lvl = 26, @@ -2281,7 +2281,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Daisuke[] = { { .iv = 100, .lvl = 19, @@ -2289,7 +2289,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Atsushi[] = { { .iv = 100, .lvl = 32, @@ -2297,7 +2297,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Kirk[] = { { .iv = 100, .lvl = 17, @@ -2312,7 +2312,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt25[] = { { .iv = 0, .lvl = 31, @@ -2325,7 +2325,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt26[] = { { .iv = 0, .lvl = 32, @@ -2333,7 +2333,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shawn[] = { { .iv = 100, .lvl = 17, @@ -2346,7 +2346,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando1[] = { { .iv = 0, .lvl = 30, @@ -2359,7 +2359,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton1[] = { { .iv = 0, .lvl = 15, @@ -2372,7 +2372,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton2[] = { { .iv = 10, .lvl = 25, @@ -2390,7 +2390,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton3[] = { { .iv = 20, .lvl = 28, @@ -2408,7 +2408,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton4[] = { { .iv = 30, .lvl = 31, @@ -2426,7 +2426,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton5[] = { { .iv = 40, .lvl = 34, @@ -2444,7 +2444,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cole[] = { { .iv = 100, .lvl = 23, @@ -2452,7 +2452,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeff[] = { { .iv = 100, .lvl = 22, @@ -2465,7 +2465,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Axle[] = { { .iv = 100, .lvl = 23, @@ -2473,7 +2473,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jace[] = { { .iv = 100, .lvl = 23, @@ -2481,7 +2481,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Keegan[] = { { .iv = 120, .lvl = 23, @@ -2489,7 +2489,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie1[] = { { .iv = 0, .lvl = 18, @@ -2502,7 +2502,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie2[] = { { .iv = 10, .lvl = 26, @@ -2515,7 +2515,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie3[] = { { .iv = 20, .lvl = 29, @@ -2528,7 +2528,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie4[] = { { .iv = 30, .lvl = 32, @@ -2541,7 +2541,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie5[] = { { .iv = 40, .lvl = 35, @@ -2554,7 +2554,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = { { .iv = 0, .lvl = 23, @@ -2563,7 +2563,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Beau[] = { { .iv = 0, .lvl = 21, @@ -2584,7 +2584,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Larry[] = { { .iv = 0, .lvl = 18, @@ -2592,7 +2592,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shane[] = { { .iv = 0, .lvl = 18, @@ -2605,7 +2605,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Justin[] = { { .iv = 0, .lvl = 24, @@ -2613,7 +2613,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan1[] = { { .iv = 0, .lvl = 20, @@ -2626,7 +2626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Autumn[] = { { .iv = 0, .lvl = 21, @@ -2634,7 +2634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Travis[] = { { .iv = 0, .lvl = 18, @@ -2642,7 +2642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan2[] = { { .iv = 10, .lvl = 26, @@ -2655,7 +2655,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan3[] = { { .iv = 20, .lvl = 29, @@ -2668,7 +2668,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan4[] = { { .iv = 30, .lvl = 31, @@ -2686,7 +2686,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan5[] = { { .iv = 40, .lvl = 34, @@ -2704,7 +2704,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brent[] = { { .iv = 100, .lvl = 26, @@ -2712,7 +2712,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Donald[] = { { .iv = 100, .lvl = 24, @@ -2730,7 +2730,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Taylor[] = { { .iv = 100, .lvl = 27, @@ -2748,7 +2748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey1[] = { { .iv = 0, .lvl = 27, @@ -2766,7 +2766,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Derek[] = { { .iv = 150, .lvl = 16, @@ -2779,7 +2779,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey2[] = { { .iv = 10, .lvl = 31, @@ -2797,7 +2797,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey3[] = { { .iv = 20, .lvl = 34, @@ -2815,7 +2815,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey4[] = { { .iv = 30, .lvl = 36, @@ -2838,7 +2838,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Jeffrey5[] = { { .iv = 40, .lvl = 38, @@ -2871,7 +2871,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Edward[] = { { .iv = 0, .lvl = 15, @@ -2880,7 +2880,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Preston[] = { { .iv = 100, .lvl = 36, @@ -2888,7 +2888,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Virgil[] = { { .iv = 100, .lvl = 36, @@ -2896,7 +2896,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Blake[] = { { .iv = 100, .lvl = 36, @@ -2904,7 +2904,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_William[] = { { .iv = 0, .lvl = 26, @@ -2922,7 +2922,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joshua[] = { { .iv = 0, .lvl = 41, @@ -2935,7 +2935,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron1[] = { { .iv = 0, .lvl = 31, @@ -2943,7 +2943,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron2[] = { { .iv = 10, .lvl = 33, @@ -2956,7 +2956,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron3[] = { { .iv = 20, .lvl = 38, @@ -2969,7 +2969,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron4[] = { { .iv = 30, .lvl = 41, @@ -2982,7 +2982,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron5[] = { { .iv = 40, .lvl = 45, @@ -2995,7 +2995,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jaclyn[] = { { .iv = 0, .lvl = 16, @@ -3004,7 +3004,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hannah[] = { { .iv = 100, .lvl = 36, @@ -3012,7 +3012,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Samantha[] = { { .iv = 100, .lvl = 36, @@ -3020,7 +3020,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maura[] = { { .iv = 100, .lvl = 36, @@ -3028,7 +3028,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kayla[] = { { .iv = 0, .lvl = 26, @@ -3046,7 +3046,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alexis[] = { { .iv = 0, .lvl = 41, @@ -3059,7 +3059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki1[] = { { .iv = 0, .lvl = 30, @@ -3072,7 +3072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki2[] = { { .iv = 10, .lvl = 34, @@ -3085,7 +3085,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki3[] = { { .iv = 20, .lvl = 37, @@ -3098,7 +3098,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki4[] = { { .iv = 30, .lvl = 40, @@ -3111,7 +3111,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki5[] = { { .iv = 40, .lvl = 43, @@ -3124,7 +3124,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Walter1[] = { { .iv = 0, .lvl = 29, @@ -3132,7 +3132,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Micah[] = { { .iv = 0, .lvl = 44, @@ -3145,7 +3145,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thomas[] = { { .iv = 0, .lvl = 45, @@ -3153,7 +3153,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Walter2[] = { { .iv = 10, .lvl = 34, @@ -3161,7 +3161,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = { { .iv = 20, .lvl = 36, @@ -3176,7 +3176,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = { { .iv = 30, .lvl = 39, @@ -3191,7 +3191,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = { { .iv = 40, .lvl = 41, @@ -3212,7 +3212,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = { +static const struct TrainerMonItemCustomMoves sParty_Sidney[] = { { .iv = 250, .lvl = 46, @@ -3250,7 +3250,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = { +static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = { { .iv = 250, .lvl = 48, @@ -3288,7 +3288,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = { +static const struct TrainerMonItemCustomMoves sParty_Glacia[] = { { .iv = 250, .lvl = 50, @@ -3326,7 +3326,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = { +static const struct TrainerMonItemCustomMoves sParty_Drake[] = { { .iv = 250, .lvl = 52, @@ -3364,7 +3364,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = { { .iv = 100, .lvl = 12, @@ -3388,7 +3388,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = { { .iv = 100, .lvl = 16, @@ -3412,7 +3412,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = { { .iv = 200, .lvl = 20, @@ -3443,7 +3443,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = { { .iv = 200, .lvl = 24, @@ -3474,7 +3474,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman1[] = { { .iv = 200, .lvl = 27, @@ -3505,7 +3505,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona1[] = { { .iv = 210, .lvl = 29, @@ -3543,7 +3543,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = { { .iv = 250, .lvl = 41, @@ -3574,7 +3574,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan1[] = { { .iv = 200, .lvl = 41, @@ -3612,7 +3612,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry1[] = { { .iv = 10, .lvl = 9, @@ -3620,7 +3620,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ted[] = { { .iv = 10, .lvl = 17, @@ -3628,7 +3628,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paul[] = { { .iv = 10, .lvl = 15, @@ -3646,7 +3646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry2[] = { { .iv = 20, .lvl = 26, @@ -3659,7 +3659,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry3[] = { { .iv = 30, .lvl = 29, @@ -3672,7 +3672,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry4[] = { { .iv = 40, .lvl = 32, @@ -3685,7 +3685,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry5[] = { { .iv = 50, .lvl = 34, @@ -3703,7 +3703,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen1[] = { { .iv = 10, .lvl = 9, @@ -3711,7 +3711,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Georgia[] = { { .iv = 10, .lvl = 16, @@ -3724,7 +3724,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen2[] = { { .iv = 20, .lvl = 26, @@ -3737,7 +3737,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen3[] = { { .iv = 30, .lvl = 29, @@ -3750,7 +3750,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen4[] = { { .iv = 40, .lvl = 32, @@ -3763,7 +3763,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen5[] = { { .iv = 50, .lvl = 35, @@ -3776,7 +3776,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = { { .iv = 0, .lvl = 30, @@ -3791,7 +3791,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = { { .iv = 0, .lvl = 15, @@ -3806,7 +3806,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = { { .iv = 10, .lvl = 28, @@ -3821,7 +3821,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = { { .iv = 20, .lvl = 31, @@ -3836,7 +3836,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = { { .iv = 30, .lvl = 34, @@ -3851,7 +3851,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = { { .iv = 40, .lvl = 36, @@ -3866,7 +3866,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = { +static const struct TrainerMonItemDefaultMoves sParty_Victor[] = { { .iv = 25, .lvl = 16, @@ -3881,7 +3881,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel1[] = { { .iv = 0, .lvl = 15, @@ -3890,7 +3890,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = { +static const struct TrainerMonItemCustomMoves sParty_Colton[] = { { .iv = 0, .lvl = 22, @@ -3935,7 +3935,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel2[] = { { .iv = 0, .lvl = 29, @@ -3944,7 +3944,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel3[] = { { .iv = 0, .lvl = 32, @@ -3953,7 +3953,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel4[] = { { .iv = 0, .lvl = 35, @@ -3962,7 +3962,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel5[] = { { .iv = 0, .lvl = 38, @@ -3971,7 +3971,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = { +static const struct TrainerMonItemDefaultMoves sParty_Victoria[] = { { .iv = 50, .lvl = 17, @@ -3980,7 +3980,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = { +static const struct TrainerMonItemDefaultMoves sParty_Vanessa[] = { { .iv = 0, .lvl = 30, @@ -3989,7 +3989,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = { +static const struct TrainerMonItemDefaultMoves sParty_Bethany[] = { { .iv = 100, .lvl = 35, @@ -4010,7 +4010,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel1[] = { { .iv = 0, .lvl = 14, @@ -4025,7 +4025,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel2[] = { { .iv = 10, .lvl = 26, @@ -4040,7 +4040,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel3[] = { { .iv = 20, .lvl = 29, @@ -4055,7 +4055,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel4[] = { { .iv = 30, .lvl = 32, @@ -4070,7 +4070,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel5[] = { { .iv = 40, .lvl = 35, @@ -4085,7 +4085,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Timothy1[] = { { .iv = 200, .lvl = 27, @@ -4093,7 +4093,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = { { .iv = 210, .lvl = 33, @@ -4102,7 +4102,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = { { .iv = 220, .lvl = 36, @@ -4111,7 +4111,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = { { .iv = 230, .lvl = 39, @@ -4120,7 +4120,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = { { .iv = 240, .lvl = 42, @@ -4129,7 +4129,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = { { .iv = 200, .lvl = 18, @@ -4138,7 +4138,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby1[] = { { .iv = 200, .lvl = 21, @@ -4151,7 +4151,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby2[] = { { .iv = 210, .lvl = 30, @@ -4164,7 +4164,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby3[] = { { .iv = 220, .lvl = 33, @@ -4177,7 +4177,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby4[] = { { .iv = 230, .lvl = 36, @@ -4190,7 +4190,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby5[] = { { .iv = 240, .lvl = 39, @@ -4203,7 +4203,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin1[] = { { .iv = 0, .lvl = 5, @@ -4211,7 +4211,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Billy[] = { { .iv = 0, .lvl = 5, @@ -4224,7 +4224,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Josh[] = { { .iv = 100, .lvl = 10, @@ -4233,7 +4233,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tommy[] = { { .iv = 110, .lvl = 8, @@ -4246,7 +4246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joey[] = { { .iv = 0, .lvl = 9, @@ -4254,7 +4254,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = { { .iv = 150, .lvl = 17, @@ -4269,7 +4269,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = { { .iv = 100, .lvl = 43, @@ -4284,7 +4284,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Katelynn[] = { { .iv = 100, .lvl = 43, @@ -4299,7 +4299,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jaylen[] = { { .iv = 0, .lvl = 19, @@ -4307,7 +4307,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dillon[] = { { .iv = 0, .lvl = 19, @@ -4315,7 +4315,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin2[] = { { .iv = 10, .lvl = 27, @@ -4323,7 +4323,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin3[] = { { .iv = 20, .lvl = 28, @@ -4336,7 +4336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin4[] = { { .iv = 30, .lvl = 31, @@ -4354,7 +4354,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin5[] = { { .iv = 40, .lvl = 34, @@ -4372,7 +4372,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eddie[] = { { .iv = 0, .lvl = 14, @@ -4385,7 +4385,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Allen[] = { { .iv = 0, .lvl = 4, @@ -4398,7 +4398,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Timmy[] = { { .iv = 0, .lvl = 15, @@ -4411,7 +4411,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = { +static const struct TrainerMonItemCustomMoves sParty_Wallace[] = { { .iv = 255, .lvl = 57, @@ -4456,7 +4456,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andrew[] = { { .iv = 0, .lvl = 5, @@ -4474,7 +4474,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ivan[] = { { .iv = 0, .lvl = 5, @@ -4492,7 +4492,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Claude[] = { { .iv = 0, .lvl = 16, @@ -4510,7 +4510,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot1[] = { { .iv = 0, .lvl = 10, @@ -4528,7 +4528,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ned[] = { { .iv = 10, .lvl = 11, @@ -4536,7 +4536,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dale[] = { { .iv = 0, .lvl = 11, @@ -4559,7 +4559,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nolan[] = { { .iv = 0, .lvl = 19, @@ -4567,7 +4567,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Barny[] = { { .iv = 0, .lvl = 25, @@ -4580,7 +4580,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wade[] = { { .iv = 0, .lvl = 16, @@ -4588,7 +4588,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carter[] = { { .iv = 10, .lvl = 25, @@ -4601,7 +4601,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot2[] = { { .iv = 10, .lvl = 24, @@ -4619,7 +4619,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot3[] = { { .iv = 20, .lvl = 29, @@ -4642,7 +4642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot4[] = { { .iv = 30, .lvl = 31, @@ -4665,7 +4665,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot5[] = { { .iv = 40, .lvl = 33, @@ -4688,7 +4688,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ronald[] = { { .iv = 0, .lvl = 19, @@ -4721,7 +4721,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacob[] = { { .iv = 20, .lvl = 6, @@ -4739,7 +4739,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Anthony[] = { { .iv = 0, .lvl = 14, @@ -4752,7 +4752,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin1[] = { { .iv = 0, .lvl = 16, @@ -4760,7 +4760,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin2[] = { { .iv = 10, .lvl = 30, @@ -4768,7 +4768,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin3[] = { { .iv = 20, .lvl = 33, @@ -4776,7 +4776,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin4[] = { { .iv = 30, .lvl = 36, @@ -4784,7 +4784,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin5[] = { { .iv = 40, .lvl = 39, @@ -4792,7 +4792,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail1[] = { { .iv = 0, .lvl = 16, @@ -4800,7 +4800,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jasmine[] = { { .iv = 80, .lvl = 14, @@ -4818,7 +4818,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail2[] = { { .iv = 10, .lvl = 28, @@ -4826,7 +4826,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail3[] = { { .iv = 20, .lvl = 31, @@ -4834,7 +4834,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail4[] = { { .iv = 30, .lvl = 34, @@ -4842,7 +4842,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail5[] = { { .iv = 40, .lvl = 37, @@ -4850,7 +4850,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan1[] = { { .iv = 0, .lvl = 17, @@ -4858,7 +4858,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan2[] = { { .iv = 10, .lvl = 28, @@ -4866,7 +4866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan3[] = { { .iv = 20, .lvl = 31, @@ -4874,7 +4874,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan4[] = { { .iv = 30, .lvl = 34, @@ -4882,7 +4882,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan5[] = { { .iv = 40, .lvl = 37, @@ -4890,7 +4890,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria1[] = { { .iv = 0, .lvl = 17, @@ -4898,7 +4898,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria2[] = { { .iv = 10, .lvl = 28, @@ -4906,7 +4906,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria3[] = { { .iv = 20, .lvl = 31, @@ -4914,7 +4914,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria4[] = { { .iv = 30, .lvl = 34, @@ -4922,7 +4922,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria5[] = { { .iv = 40, .lvl = 37, @@ -4930,7 +4930,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Camden[] = { { .iv = 0, .lvl = 33, @@ -4943,7 +4943,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Demetrius[] = { { .iv = 0, .lvl = 25, @@ -4956,7 +4956,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah1[] = { { .iv = 0, .lvl = 35, @@ -4964,7 +4964,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo1[] = { { .iv = 0, .lvl = 33, @@ -4977,7 +4977,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chase[] = { { .iv = 0, .lvl = 26, @@ -4990,7 +4990,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah2[] = { { .iv = 10, .lvl = 39, @@ -4998,7 +4998,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah3[] = { { .iv = 20, .lvl = 42, @@ -5006,7 +5006,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah4[] = { { .iv = 30, .lvl = 45, @@ -5014,7 +5014,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah5[] = { { .iv = 40, .lvl = 48, @@ -5022,7 +5022,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isobel[] = { { .iv = 0, .lvl = 34, @@ -5030,7 +5030,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Donny[] = { { .iv = 0, .lvl = 26, @@ -5043,7 +5043,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Talia[] = { { .iv = 0, .lvl = 34, @@ -5051,7 +5051,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn1[] = { { .iv = 0, .lvl = 35, @@ -5059,7 +5059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Allison[] = { { .iv = 0, .lvl = 27, @@ -5072,7 +5072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn2[] = { { .iv = 10, .lvl = 39, @@ -5080,7 +5080,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn3[] = { { .iv = 20, .lvl = 42, @@ -5088,7 +5088,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn4[] = { { .iv = 30, .lvl = 45, @@ -5096,7 +5096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn5[] = { { .iv = 40, .lvl = 48, @@ -5104,7 +5104,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas1[] = { { .iv = 100, .lvl = 37, @@ -5117,7 +5117,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas2[] = { { .iv = 110, .lvl = 41, @@ -5130,7 +5130,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas3[] = { { .iv = 120, .lvl = 44, @@ -5143,7 +5143,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas4[] = { { .iv = 130, .lvl = 46, @@ -5161,7 +5161,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Nicolas5[] = { { .iv = 140, .lvl = 49, @@ -5182,7 +5182,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Aaron[] = { { .iv = 255, .lvl = 34, @@ -5191,7 +5191,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Perry[] = { { .iv = 0, .lvl = 26, @@ -5199,7 +5199,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hugh[] = { { .iv = 0, .lvl = 25, @@ -5212,7 +5212,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Phil[] = { { .iv = 0, .lvl = 26, @@ -5220,7 +5220,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jared[] = { { .iv = 100, .lvl = 27, @@ -5238,7 +5238,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Humberto[] = { { .iv = 250, .lvl = 30, @@ -5246,7 +5246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Presley[] = { { .iv = 0, .lvl = 33, @@ -5259,7 +5259,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwardo[] = { { .iv = 150, .lvl = 29, @@ -5272,7 +5272,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Colin[] = { { .iv = 0, .lvl = 28, @@ -5285,7 +5285,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert1[] = { { .iv = 0, .lvl = 29, @@ -5293,7 +5293,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benny[] = { { .iv = 0, .lvl = 36, @@ -5311,7 +5311,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chester[] = { { .iv = 0, .lvl = 25, @@ -5324,7 +5324,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert2[] = { { .iv = 10, .lvl = 32, @@ -5337,7 +5337,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert3[] = { { .iv = 20, .lvl = 35, @@ -5350,7 +5350,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert4[] = { { .iv = 30, .lvl = 38, @@ -5363,7 +5363,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert5[] = { { .iv = 40, .lvl = 41, @@ -5376,7 +5376,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alex[] = { { .iv = 150, .lvl = 33, @@ -5389,7 +5389,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beck[] = { { .iv = 0, .lvl = 34, @@ -5397,7 +5397,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Yasu[] = { { .iv = 0, .lvl = 26, @@ -5405,7 +5405,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Takashi[] = { { .iv = 0, .lvl = 25, @@ -5418,7 +5418,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = { +static const struct TrainerMonItemCustomMoves sParty_Dianne[] = { { .iv = 0, .lvl = 43, @@ -5435,7 +5435,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jani[] = { { .iv = 0, .lvl = 26, @@ -5443,7 +5443,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao1[] = { { .iv = 0, .lvl = 17, @@ -5464,7 +5464,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lung[] = { { .iv = 0, .lvl = 18, @@ -5477,7 +5477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = { { .iv = 0, .lvl = 24, @@ -5504,7 +5504,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = { { .iv = 20, .lvl = 27, @@ -5531,7 +5531,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = { { .iv = 30, .lvl = 30, @@ -5558,7 +5558,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = { +static const struct TrainerMonItemCustomMoves sParty_Lao5[] = { { .iv = 40, .lvl = 33, @@ -5589,7 +5589,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jocelyn[] = { { .iv = 127, .lvl = 13, @@ -5597,7 +5597,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Laura[] = { { .iv = 150, .lvl = 13, @@ -5605,7 +5605,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy1[] = { { .iv = 100, .lvl = 18, @@ -5618,7 +5618,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cora[] = { { .iv = 100, .lvl = 27, @@ -5626,7 +5626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paula[] = { { .iv = 100, .lvl = 27, @@ -5634,7 +5634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy2[] = { { .iv = 110, .lvl = 26, @@ -5647,7 +5647,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy3[] = { { .iv = 120, .lvl = 29, @@ -5660,7 +5660,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy4[] = { { .iv = 130, .lvl = 32, @@ -5673,7 +5673,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy5[] = { { .iv = 140, .lvl = 35, @@ -5686,7 +5686,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline1[] = { { .iv = 0, .lvl = 19, @@ -5695,7 +5695,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clarissa[] = { { .iv = 0, .lvl = 28, @@ -5708,7 +5708,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = { { .iv = 50, .lvl = 30, @@ -5717,7 +5717,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = { { .iv = 10, .lvl = 29, @@ -5726,7 +5726,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = { { .iv = 20, .lvl = 32, @@ -5735,7 +5735,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = { { .iv = 30, .lvl = 34, @@ -5750,7 +5750,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline5[] = { { .iv = 40, .lvl = 37, @@ -5765,7 +5765,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beverly[] = { { .iv = 0, .lvl = 25, @@ -5778,7 +5778,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Imani[] = { { .iv = 0, .lvl = 26, @@ -5786,7 +5786,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kyla[] = { { .iv = 0, .lvl = 26, @@ -5794,7 +5794,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Denise[] = { { .iv = 0, .lvl = 25, @@ -5807,7 +5807,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beth[] = { { .iv = 0, .lvl = 26, @@ -5815,7 +5815,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tara[] = { { .iv = 0, .lvl = 25, @@ -5828,7 +5828,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Missy[] = { { .iv = 0, .lvl = 26, @@ -5836,7 +5836,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alice[] = { { .iv = 0, .lvl = 24, @@ -5854,7 +5854,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny1[] = { { .iv = 0, .lvl = 34, @@ -5862,7 +5862,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grace[] = { { .iv = 0, .lvl = 34, @@ -5870,7 +5870,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tanya[] = { { .iv = 0, .lvl = 34, @@ -5878,7 +5878,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sharon[] = { { .iv = 0, .lvl = 34, @@ -5886,7 +5886,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nikki[] = { { .iv = 0, .lvl = 33, @@ -5899,7 +5899,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brenda[] = { { .iv = 0, .lvl = 34, @@ -5907,7 +5907,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katie[] = { { .iv = 0, .lvl = 33, @@ -5920,7 +5920,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Susie[] = { { .iv = 0, .lvl = 34, @@ -5928,7 +5928,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kara[] = { { .iv = 0, .lvl = 34, @@ -5936,7 +5936,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dana[] = { { .iv = 0, .lvl = 34, @@ -5944,7 +5944,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sienna[] = { { .iv = 0, .lvl = 33, @@ -5957,7 +5957,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Debra[] = { { .iv = 0, .lvl = 34, @@ -5965,7 +5965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Linda[] = { { .iv = 0, .lvl = 33, @@ -5978,7 +5978,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kaylee[] = { { .iv = 0, .lvl = 34, @@ -5991,7 +5991,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Laurel[] = { { .iv = 0, .lvl = 33, @@ -6004,7 +6004,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carlee[] = { { .iv = 0, .lvl = 35, @@ -6012,7 +6012,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny2[] = { { .iv = 0, .lvl = 38, @@ -6020,7 +6020,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny3[] = { { .iv = 0, .lvl = 41, @@ -6028,7 +6028,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny4[] = { { .iv = 0, .lvl = 43, @@ -6041,7 +6041,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny5[] = { { .iv = 0, .lvl = 45, @@ -6059,7 +6059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = { { .iv = 0, .lvl = 22, @@ -6074,7 +6074,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Becky[] = { { .iv = 0, .lvl = 22, @@ -6089,7 +6089,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carol[] = { { .iv = 0, .lvl = 17, @@ -6102,7 +6102,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nancy[] = { { .iv = 0, .lvl = 18, @@ -6115,7 +6115,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Martha[] = { { .iv = 0, .lvl = 23, @@ -6128,7 +6128,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana1[] = { { .iv = 0, .lvl = 19, @@ -6146,7 +6146,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Cedric[] = { { .iv = 0, .lvl = 32, @@ -6155,7 +6155,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Irene[] = { { .iv = 0, .lvl = 17, @@ -6168,7 +6168,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana2[] = { { .iv = 10, .lvl = 25, @@ -6186,7 +6186,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana3[] = { { .iv = 20, .lvl = 28, @@ -6204,7 +6204,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana4[] = { { .iv = 30, .lvl = 31, @@ -6222,7 +6222,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana5[] = { { .iv = 40, .lvl = 40, @@ -6240,7 +6240,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv1[] = { { .iv = 0, .lvl = 15, @@ -6253,7 +6253,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv2[] = { { .iv = 10, .lvl = 27, @@ -6266,7 +6266,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GinaAndMia1[] = { { .iv = 0, .lvl = 6, @@ -6279,7 +6279,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MiuAndYuki[] = { { .iv = 0, .lvl = 26, @@ -6292,7 +6292,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv3[] = { { .iv = 0, .lvl = 9, @@ -6305,7 +6305,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_GinaAndMia2[] = { { .iv = 0, .lvl = 10, @@ -6320,7 +6320,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv4[] = { { .iv = 20, .lvl = 30, @@ -6333,7 +6333,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = { { .iv = 30, .lvl = 33, @@ -6348,7 +6348,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv6[] = { { .iv = 40, .lvl = 36, @@ -6363,7 +6363,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Huey[] = { { .iv = 10, .lvl = 12, @@ -6376,7 +6376,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edmond[] = { { .iv = 0, .lvl = 13, @@ -6384,7 +6384,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest1[] = { { .iv = 0, .lvl = 33, @@ -6397,7 +6397,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dwayne[] = { { .iv = 0, .lvl = 11, @@ -6415,7 +6415,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Phillip[] = { { .iv = 0, .lvl = 44, @@ -6428,7 +6428,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leonard[] = { { .iv = 0, .lvl = 43, @@ -6446,7 +6446,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Duncan[] = { { .iv = 0, .lvl = 25, @@ -6459,7 +6459,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest2[] = { { .iv = 10, .lvl = 36, @@ -6477,7 +6477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest3[] = { { .iv = 20, .lvl = 39, @@ -6495,7 +6495,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest4[] = { { .iv = 30, .lvl = 42, @@ -6513,7 +6513,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest5[] = { { .iv = 40, .lvl = 45, @@ -6531,7 +6531,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eli[] = { { .iv = 100, .lvl = 23, @@ -6539,7 +6539,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = { +static const struct TrainerMonItemCustomMoves sParty_Annika[] = { { .iv = 100, .lvl = 39, @@ -6556,7 +6556,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jazmyn[] = { { .iv = 0, .lvl = 27, @@ -6564,7 +6564,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = { { .iv = 0, .lvl = 31, @@ -6573,7 +6573,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Kayley[] = { { .iv = 0, .lvl = 31, @@ -6582,7 +6582,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Auron[] = { { .iv = 0, .lvl = 33, @@ -6595,7 +6595,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kelvin[] = { { .iv = 150, .lvl = 33, @@ -6608,7 +6608,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = { +static const struct TrainerMonItemCustomMoves sParty_Marley[] = { { .iv = 255, .lvl = 34, @@ -6618,7 +6618,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Reyna[] = { { .iv = 50, .lvl = 33, @@ -6631,7 +6631,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hudson[] = { { .iv = 0, .lvl = 34, @@ -6639,7 +6639,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Conor[] = { { .iv = 0, .lvl = 33, @@ -6652,7 +6652,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin1[] = { { .iv = 0, .lvl = 14, @@ -6665,7 +6665,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = { { .iv = 0, .lvl = 18, @@ -6678,7 +6678,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha1[] = { { .iv = 100, .lvl = 36, @@ -6696,7 +6696,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin2[] = { { .iv = 0, .lvl = 26, @@ -6709,7 +6709,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin3[] = { { .iv = 0, .lvl = 29, @@ -6722,7 +6722,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin4[] = { { .iv = 0, .lvl = 32, @@ -6735,7 +6735,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = { { .iv = 0, .lvl = 35, @@ -6748,7 +6748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally1[] = { { .iv = 150, .lvl = 44, @@ -6781,7 +6781,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = { { .iv = 0, .lvl = 5, @@ -6789,7 +6789,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = { { .iv = 50, .lvl = 18, @@ -6807,7 +6807,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = { { .iv = 100, .lvl = 29, @@ -6825,7 +6825,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = { { .iv = 0, .lvl = 5, @@ -6833,7 +6833,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = { { .iv = 50, .lvl = 18, @@ -6851,7 +6851,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = { { .iv = 100, .lvl = 29, @@ -6869,7 +6869,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = { { .iv = 0, .lvl = 5, @@ -6877,7 +6877,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = { { .iv = 50, .lvl = 18, @@ -6895,7 +6895,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = { { .iv = 100, .lvl = 29, @@ -6913,7 +6913,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = { { .iv = 0, .lvl = 5, @@ -6921,7 +6921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = { { .iv = 50, .lvl = 18, @@ -6939,7 +6939,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = { { .iv = 100, .lvl = 29, @@ -6957,7 +6957,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = { { .iv = 0, .lvl = 5, @@ -6965,7 +6965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = { { .iv = 50, .lvl = 18, @@ -6983,7 +6983,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = { { .iv = 100, .lvl = 29, @@ -7001,7 +7001,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = { { .iv = 0, .lvl = 5, @@ -7009,7 +7009,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = { { .iv = 50, .lvl = 18, @@ -7027,7 +7027,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May9[] = { { .iv = 100, .lvl = 29, @@ -7045,7 +7045,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac1[] = { { .iv = 0, .lvl = 11, @@ -7078,7 +7078,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Davis[] = { { .iv = 0, .lvl = 27, @@ -7086,7 +7086,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Mitchell[] = { { .iv = 0, .lvl = 43, @@ -7101,7 +7101,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac2[] = { { .iv = 10, .lvl = 22, @@ -7134,7 +7134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac3[] = { { .iv = 20, .lvl = 25, @@ -7167,7 +7167,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac4[] = { { .iv = 30, .lvl = 28, @@ -7200,7 +7200,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac5[] = { { .iv = 40, .lvl = 31, @@ -7233,7 +7233,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia1[] = { { .iv = 0, .lvl = 11, @@ -7266,7 +7266,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Halle[] = { { .iv = 0, .lvl = 43, @@ -7279,7 +7279,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Garrison[] = { { .iv = 0, .lvl = 26, @@ -7287,7 +7287,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia2[] = { { .iv = 10, .lvl = 22, @@ -7320,7 +7320,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia3[] = { { .iv = 20, .lvl = 25, @@ -7353,7 +7353,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia4[] = { { .iv = 30, .lvl = 28, @@ -7386,7 +7386,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia5[] = { { .iv = 40, .lvl = 31, @@ -7419,7 +7419,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson1[] = { { .iv = 50, .lvl = 27, @@ -7427,7 +7427,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lorenzo[] = { { .iv = 50, .lvl = 28, @@ -7445,7 +7445,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sebastian[] = { { .iv = 50, .lvl = 39, @@ -7453,7 +7453,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson2[] = { { .iv = 60, .lvl = 31, @@ -7461,7 +7461,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson3[] = { { .iv = 70, .lvl = 34, @@ -7469,7 +7469,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson4[] = { { .iv = 80, .lvl = 37, @@ -7477,7 +7477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson5[] = { { .iv = 90, .lvl = 39, @@ -7490,7 +7490,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine1[] = { { .iv = 50, .lvl = 26, @@ -7503,7 +7503,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenna[] = { { .iv = 50, .lvl = 28, @@ -7521,7 +7521,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sophia[] = { { .iv = 50, .lvl = 38, @@ -7534,7 +7534,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine2[] = { { .iv = 60, .lvl = 30, @@ -7547,7 +7547,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine3[] = { { .iv = 70, .lvl = 33, @@ -7560,7 +7560,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine4[] = { { .iv = 80, .lvl = 36, @@ -7573,7 +7573,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine5[] = { { .iv = 90, .lvl = 39, @@ -7586,7 +7586,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Julio[] = { { .iv = 0, .lvl = 21, @@ -7594,7 +7594,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt27[] = { { .iv = 50, .lvl = 35, @@ -7607,7 +7607,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt28[] = { { .iv = 0, .lvl = 31, @@ -7620,7 +7620,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt29[] = { { .iv = 0, .lvl = 30, @@ -7633,7 +7633,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt30[] = { { .iv = 50, .lvl = 22, @@ -7646,7 +7646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marc[] = { { .iv = 120, .lvl = 8, @@ -7659,7 +7659,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brenden[] = { { .iv = 100, .lvl = 13, @@ -7667,7 +7667,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lilith[] = { { .iv = 150, .lvl = 13, @@ -7675,7 +7675,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristian[] = { { .iv = 200, .lvl = 13, @@ -7683,7 +7683,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sylvia[] = { { .iv = 100, .lvl = 36, @@ -7691,7 +7691,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leonardo[] = { { .iv = 0, .lvl = 34, @@ -7699,7 +7699,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = { +static const struct TrainerMonItemCustomMoves sParty_Athena[] = { { .iv = 100, .lvl = 32, @@ -7716,7 +7716,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Harrison[] = { { .iv = 0, .lvl = 35, @@ -7724,7 +7724,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt31[] = { { .iv = 0, .lvl = 20, @@ -7732,7 +7732,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clarence[] = { { .iv = 0, .lvl = 34, @@ -7740,7 +7740,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Terry[] = { { .iv = 0, .lvl = 37, @@ -7748,7 +7748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nate[] = { { .iv = 100, .lvl = 36, @@ -7756,7 +7756,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kathleen[] = { { .iv = 100, .lvl = 36, @@ -7764,7 +7764,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clifford[] = { { .iv = 0, .lvl = 36, @@ -7772,7 +7772,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicholas[] = { { .iv = 0, .lvl = 36, @@ -7780,7 +7780,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt32[] = { { .iv = 0, .lvl = 31, @@ -7793,7 +7793,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt33[] = { { .iv = 0, .lvl = 32, @@ -7801,7 +7801,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt34[] = { { .iv = 0, .lvl = 32, @@ -7809,7 +7809,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt35[] = { { .iv = 0, .lvl = 32, @@ -7817,7 +7817,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt36[] = { { .iv = 0, .lvl = 32, @@ -7825,7 +7825,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = { { .iv = 0, .lvl = 36, @@ -7833,7 +7833,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = { { .iv = 25, .lvl = 13, @@ -7846,7 +7846,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan11[] = { { .iv = 25, .lvl = 13, @@ -7859,7 +7859,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paxton[] = { { .iv = 0, .lvl = 33, @@ -7872,7 +7872,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isabella[] = { { .iv = 0, .lvl = 34, @@ -7880,7 +7880,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt37[] = { { .iv = 0, .lvl = 27, @@ -7893,7 +7893,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha2[] = { { .iv = 50, .lvl = 18, @@ -7916,7 +7916,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = { { .iv = 0, .lvl = 33, @@ -7929,7 +7929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = { { .iv = 25, .lvl = 13, @@ -7942,7 +7942,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = { { .iv = 25, .lvl = 13, @@ -7955,7 +7955,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = { { .iv = 150, .lvl = 37, @@ -7973,7 +7973,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie2[] = { { .iv = 150, .lvl = 24, @@ -7991,7 +7991,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tiana[] = { { .iv = 0, .lvl = 4, @@ -8004,7 +8004,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley1[] = { { .iv = 0, .lvl = 6, @@ -8017,7 +8017,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Janice[] = { { .iv = 0, .lvl = 9, @@ -8025,7 +8025,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vivi[] = { { .iv = 100, .lvl = 15, @@ -8043,7 +8043,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley2[] = { { .iv = 10, .lvl = 26, @@ -8056,7 +8056,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley3[] = { { .iv = 20, .lvl = 29, @@ -8069,7 +8069,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley4[] = { { .iv = 30, .lvl = 32, @@ -8082,7 +8082,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley5[] = { { .iv = 40, .lvl = 34, @@ -8100,7 +8100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sally[] = { { .iv = 0, .lvl = 16, @@ -8108,7 +8108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robin[] = { { .iv = 0, .lvl = 14, @@ -8126,7 +8126,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andrea[] = { { .iv = 100, .lvl = 40, @@ -8134,7 +8134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Crissy[] = { { .iv = 100, .lvl = 39, @@ -8147,7 +8147,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rick[] = { { .iv = 0, .lvl = 4, @@ -8160,7 +8160,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lyle[] = { { .iv = 0, .lvl = 3, @@ -8183,7 +8183,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jose[] = { { .iv = 50, .lvl = 8, @@ -8196,7 +8196,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Doug[] = { { .iv = 0, .lvl = 28, @@ -8209,7 +8209,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Greg[] = { { .iv = 0, .lvl = 25, @@ -8222,7 +8222,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kent[] = { { .iv = 0, .lvl = 25, @@ -8230,7 +8230,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James1[] = { { .iv = 0, .lvl = 6, @@ -8243,7 +8243,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James2[] = { { .iv = 10, .lvl = 27, @@ -8251,7 +8251,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James3[] = { { .iv = 20, .lvl = 29, @@ -8264,7 +8264,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James4[] = { { .iv = 30, .lvl = 31, @@ -8282,7 +8282,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James5[] = { { .iv = 40, .lvl = 33, @@ -8305,7 +8305,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brice[] = { { .iv = 0, .lvl = 17, @@ -8318,7 +8318,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent1[] = { { .iv = 0, .lvl = 16, @@ -8336,7 +8336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lenny[] = { { .iv = 0, .lvl = 18, @@ -8349,7 +8349,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lucas1[] = { { .iv = 0, .lvl = 18, @@ -8362,7 +8362,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alan[] = { { .iv = 0, .lvl = 22, @@ -8380,7 +8380,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clark[] = { { .iv = 0, .lvl = 8, @@ -8388,7 +8388,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eric[] = { { .iv = 0, .lvl = 20, @@ -8401,7 +8401,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = { { .iv = 0, .lvl = 9, @@ -8410,7 +8410,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Mike1[] = { { .iv = 0, .lvl = 10, @@ -8425,7 +8425,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mike2[] = { { .iv = 0, .lvl = 16, @@ -8443,7 +8443,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent2[] = { { .iv = 10, .lvl = 24, @@ -8466,7 +8466,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent3[] = { { .iv = 20, .lvl = 27, @@ -8489,7 +8489,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent4[] = { { .iv = 30, .lvl = 30, @@ -8512,7 +8512,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent5[] = { { .iv = 40, .lvl = 33, @@ -8535,7 +8535,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_DezAndLuke[] = { { .iv = 0, .lvl = 31, @@ -8548,7 +8548,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LeaAndJed[] = { { .iv = 0, .lvl = 45, @@ -8561,7 +8561,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan1[] = { { .iv = 0, .lvl = 25, @@ -8574,7 +8574,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan2[] = { { .iv = 10, .lvl = 30, @@ -8587,7 +8587,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan3[] = { { .iv = 20, .lvl = 33, @@ -8600,7 +8600,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan4[] = { { .iv = 30, .lvl = 36, @@ -8613,7 +8613,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan5[] = { { .iv = 40, .lvl = 39, @@ -8626,7 +8626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Johanna[] = { { .iv = 0, .lvl = 13, @@ -8634,7 +8634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = { { .iv = 100, .lvl = 23, @@ -8643,7 +8643,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = { { .iv = 100, .lvl = 17, @@ -8658,7 +8658,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = { { .iv = 100, .lvl = 23, @@ -8667,7 +8667,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = { { .iv = 0, .lvl = 25, @@ -8682,7 +8682,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = { { .iv = 0, .lvl = 28, @@ -8697,7 +8697,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Riley[] = { { .iv = 0, .lvl = 28, @@ -8712,7 +8712,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Flint[] = { { .iv = 150, .lvl = 29, @@ -8725,7 +8725,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = { { .iv = 100, .lvl = 27, @@ -8743,7 +8743,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = { { .iv = 30, .lvl = 16, @@ -8751,7 +8751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally3[] = { { .iv = 150, .lvl = 47, @@ -8784,7 +8784,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally4[] = { { .iv = 150, .lvl = 50, @@ -8817,7 +8817,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally5[] = { { .iv = 150, .lvl = 53, @@ -8850,7 +8850,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally6[] = { { .iv = 150, .lvl = 56, @@ -8883,7 +8883,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = { { .iv = 150, .lvl = 31, @@ -8906,7 +8906,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = { { .iv = 150, .lvl = 31, @@ -8929,7 +8929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = { { .iv = 150, .lvl = 31, @@ -8952,7 +8952,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = { { .iv = 150, .lvl = 31, @@ -8975,7 +8975,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = { { .iv = 150, .lvl = 31, @@ -8998,7 +8998,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May13[] = { { .iv = 150, .lvl = 31, @@ -9021,7 +9021,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jonah[] = { { .iv = 0, .lvl = 30, @@ -9039,7 +9039,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Henry[] = { { .iv = 0, .lvl = 31, @@ -9052,7 +9052,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Roger[] = { { .iv = 0, .lvl = 15, @@ -9070,7 +9070,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alexa[] = { { .iv = 100, .lvl = 34, @@ -9083,7 +9083,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ruben[] = { { .iv = 100, .lvl = 34, @@ -9096,7 +9096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji1[] = { { .iv = 0, .lvl = 34, @@ -9104,7 +9104,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wayne[] = { { .iv = 0, .lvl = 31, @@ -9122,7 +9122,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Aidan[] = { { .iv = 0, .lvl = 32, @@ -9135,7 +9135,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Reed[] = { { .iv = 0, .lvl = 33, @@ -9148,7 +9148,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tisha[] = { { .iv = 0, .lvl = 34, @@ -9156,7 +9156,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ToriAndTia[] = { { .iv = 0, .lvl = 19, @@ -9169,7 +9169,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = { +static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = { { .iv = 0, .lvl = 32, @@ -9184,7 +9184,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = { { .iv = 0, .lvl = 18, @@ -9199,7 +9199,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = { +static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = { { .iv = 0, .lvl = 27, @@ -9214,7 +9214,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = { { .iv = 200, .lvl = 39, @@ -9229,7 +9229,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = { { .iv = 210, .lvl = 43, @@ -9244,7 +9244,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = { { .iv = 220, .lvl = 46, @@ -9259,7 +9259,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = { { .iv = 230, .lvl = 49, @@ -9274,7 +9274,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay5[] = { { .iv = 240, .lvl = 52, @@ -9289,7 +9289,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ReliAndIan[] = { { .iv = 0, .lvl = 35, @@ -9302,7 +9302,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy1[] = { { .iv = 0, .lvl = 34, @@ -9315,7 +9315,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy2[] = { { .iv = 0, .lvl = 42, @@ -9328,7 +9328,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy3[] = { { .iv = 0, .lvl = 45, @@ -9341,7 +9341,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy4[] = { { .iv = 0, .lvl = 48, @@ -9354,7 +9354,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy5[] = { { .iv = 0, .lvl = 51, @@ -9367,7 +9367,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LisaAndRay[] = { { .iv = 0, .lvl = 27, @@ -9380,7 +9380,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chris[] = { { .iv = 0, .lvl = 29, @@ -9403,7 +9403,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = { +static const struct TrainerMonItemDefaultMoves sParty_Dawson[] = { { .iv = 0, .lvl = 8, @@ -9418,7 +9418,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = { +static const struct TrainerMonItemDefaultMoves sParty_Sarah[] = { { .iv = 0, .lvl = 8, @@ -9433,7 +9433,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darian[] = { { .iv = 0, .lvl = 9, @@ -9441,7 +9441,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hailey[] = { { .iv = 0, .lvl = 13, @@ -9449,7 +9449,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chandler[] = { { .iv = 0, .lvl = 12, @@ -9462,7 +9462,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = { +static const struct TrainerMonItemDefaultMoves sParty_Kaleb[] = { { .iv = 0, .lvl = 14, @@ -9477,7 +9477,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joseph[] = { { .iv = 0, .lvl = 14, @@ -9490,7 +9490,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alyssa[] = { { .iv = 0, .lvl = 15, @@ -9498,7 +9498,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marcos[] = { { .iv = 100, .lvl = 15, @@ -9506,7 +9506,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rhett[] = { { .iv = 100, .lvl = 15, @@ -9514,7 +9514,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tyron[] = { { .iv = 0, .lvl = 19, @@ -9522,7 +9522,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Celina[] = { { .iv = 0, .lvl = 18, @@ -9530,7 +9530,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bianca[] = { { .iv = 0, .lvl = 18, @@ -9538,7 +9538,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hayden[] = { { .iv = 0, .lvl = 18, @@ -9546,7 +9546,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sophie[] = { { .iv = 0, .lvl = 17, @@ -9559,7 +9559,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Coby[] = { { .iv = 0, .lvl = 17, @@ -9572,7 +9572,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lawrence[] = { { .iv = 0, .lvl = 18, @@ -9585,7 +9585,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wyatt[] = { { .iv = 0, .lvl = 18, @@ -9598,7 +9598,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Angelina[] = { { .iv = 0, .lvl = 18, @@ -9611,7 +9611,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kai[] = { { .iv = 0, .lvl = 19, @@ -9619,7 +9619,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Charlotte[] = { { .iv = 0, .lvl = 19, @@ -9627,7 +9627,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Deandre[] = { { .iv = 0, .lvl = 14, @@ -9645,7 +9645,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt38[] = { { .iv = 0, .lvl = 29, @@ -9653,7 +9653,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt39[] = { { .iv = 0, .lvl = 29, @@ -9661,7 +9661,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt40[] = { { .iv = 0, .lvl = 29, @@ -9669,7 +9669,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt41[] = { { .iv = 0, .lvl = 28, @@ -9682,7 +9682,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt42[] = { { .iv = 0, .lvl = 28, @@ -9695,7 +9695,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt43[] = { { .iv = 0, .lvl = 29, @@ -9703,7 +9703,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt44[] = { { .iv = 0, .lvl = 29, @@ -9711,7 +9711,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt45[] = { { .iv = 0, .lvl = 29, @@ -9719,7 +9719,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt46[] = { { .iv = 0, .lvl = 29, @@ -9727,7 +9727,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt47[] = { { .iv = 0, .lvl = 29, @@ -9735,7 +9735,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt48[] = { { .iv = 0, .lvl = 29, @@ -9743,7 +9743,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt49[] = { { .iv = 0, .lvl = 29, @@ -9751,7 +9751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt50[] = { { .iv = 0, .lvl = 29, @@ -9759,7 +9759,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt51[] = { { .iv = 0, .lvl = 29, @@ -9767,7 +9767,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt52[] = { { .iv = 0, .lvl = 29, @@ -9775,7 +9775,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt53[] = { { .iv = 0, .lvl = 29, @@ -9783,7 +9783,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha3[] = { { .iv = 75, .lvl = 26, @@ -9806,7 +9806,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = { { .iv = 0, .lvl = 33, @@ -9819,7 +9819,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie3[] = { { .iv = 150, .lvl = 42, @@ -9837,7 +9837,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pete[] = { { .iv = 0, .lvl = 15, @@ -9845,7 +9845,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isabelle[] = { { .iv = 0, .lvl = 15, @@ -9853,7 +9853,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres1[] = { { .iv = 50, .lvl = 25, @@ -9866,7 +9866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Josue[] = { { .iv = 50, .lvl = 25, @@ -9879,7 +9879,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Camron[] = { { .iv = 0, .lvl = 26, @@ -9887,7 +9887,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory1[] = { { .iv = 0, .lvl = 24, @@ -9905,7 +9905,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carolina[] = { { .iv = 50, .lvl = 24, @@ -9923,7 +9923,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elijah[] = { { .iv = 0, .lvl = 25, @@ -9936,7 +9936,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Celia[] = { { .iv = 0, .lvl = 22, @@ -9949,7 +9949,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bryan[] = { { .iv = 0, .lvl = 22, @@ -9962,7 +9962,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Branden[] = { { .iv = 0, .lvl = 22, @@ -9975,7 +9975,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bryant[] = { { .iv = 0, .lvl = 18, @@ -9988,7 +9988,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shayla[] = { { .iv = 0, .lvl = 18, @@ -10001,7 +10001,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kyra[] = { { .iv = 0, .lvl = 26, @@ -10014,7 +10014,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jaiden[] = { { .iv = 0, .lvl = 26, @@ -10027,7 +10027,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alix[] = { { .iv = 0, .lvl = 26, @@ -10040,7 +10040,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Helene[] = { { .iv = 0, .lvl = 26, @@ -10053,7 +10053,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marlene[] = { { .iv = 0, .lvl = 18, @@ -10066,7 +10066,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Devan[] = { { .iv = 0, .lvl = 8, @@ -10079,7 +10079,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Johnson[] = { { .iv = 0, .lvl = 8, @@ -10092,7 +10092,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Melina[] = { { .iv = 0, .lvl = 17, @@ -10100,7 +10100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brandi[] = { { .iv = 0, .lvl = 17, @@ -10108,7 +10108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Aisha[] = { { .iv = 0, .lvl = 17, @@ -10116,7 +10116,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Makayla[] = { { .iv = 0, .lvl = 33, @@ -10129,7 +10129,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fabian[] = { { .iv = 0, .lvl = 26, @@ -10137,7 +10137,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dayton[] = { { .iv = 0, .lvl = 25, @@ -10150,7 +10150,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rachel[] = { { .iv = 0, .lvl = 26, @@ -10158,7 +10158,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Leonel[] = { { .iv = 100, .lvl = 30, @@ -10167,7 +10167,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Callie[] = { { .iv = 0, .lvl = 28, @@ -10180,7 +10180,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cale[] = { { .iv = 0, .lvl = 29, @@ -10193,7 +10193,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Myles[] = { { .iv = 10, .lvl = 25, @@ -10226,7 +10226,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pat[] = { { .iv = 10, .lvl = 25, @@ -10259,7 +10259,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = { { .iv = 100, .lvl = 29, @@ -10272,7 +10272,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = { { .iv = 25, .lvl = 13, @@ -10285,7 +10285,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May15[] = { { .iv = 25, .lvl = 13, @@ -10298,7 +10298,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = { { .iv = 255, .lvl = 32, @@ -10329,7 +10329,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = { { .iv = 255, .lvl = 37, @@ -10367,7 +10367,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = { { .iv = 255, .lvl = 42, @@ -10405,7 +10405,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = { { .iv = 255, .lvl = 47, @@ -10450,7 +10450,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = { { .iv = 255, .lvl = 33, @@ -10481,7 +10481,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = { { .iv = 255, .lvl = 38, @@ -10512,7 +10512,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = { { .iv = 255, .lvl = 40, @@ -10550,7 +10550,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = { { .iv = 255, .lvl = 46, @@ -10595,7 +10595,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = { { .iv = 255, .lvl = 36, @@ -10626,7 +10626,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = { { .iv = 255, .lvl = 39, @@ -10664,7 +10664,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = { { .iv = 255, .lvl = 44, @@ -10702,7 +10702,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = { { .iv = 255, .lvl = 50, @@ -10747,7 +10747,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = { { .iv = 255, .lvl = 38, @@ -10778,7 +10778,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = { { .iv = 255, .lvl = 41, @@ -10816,7 +10816,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = { { .iv = 255, .lvl = 46, @@ -10861,7 +10861,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = { { .iv = 255, .lvl = 51, @@ -10906,7 +10906,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman2[] = { { .iv = 255, .lvl = 42, @@ -10937,7 +10937,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman3[] = { { .iv = 255, .lvl = 47, @@ -10975,7 +10975,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman4[] = { { .iv = 255, .lvl = 52, @@ -11013,7 +11013,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman5[] = { { .iv = 255, .lvl = 57, @@ -11058,7 +11058,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona2[] = { { .iv = 255, .lvl = 40, @@ -11096,7 +11096,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona3[] = { { .iv = 255, .lvl = 43, @@ -11141,7 +11141,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona4[] = { { .iv = 255, .lvl = 48, @@ -11186,7 +11186,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona5[] = { { .iv = 255, .lvl = 53, @@ -11231,7 +11231,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = { { .iv = 255, .lvl = 48, @@ -11269,7 +11269,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = { { .iv = 255, .lvl = 53, @@ -11314,7 +11314,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = { { .iv = 255, .lvl = 58, @@ -11359,7 +11359,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = { { .iv = 255, .lvl = 63, @@ -11404,7 +11404,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan2[] = { { .iv = 255, .lvl = 46, @@ -11442,7 +11442,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan3[] = { { .iv = 255, .lvl = 50, @@ -11480,7 +11480,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan4[] = { { .iv = 255, .lvl = 56, @@ -11525,7 +11525,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan5[] = { { .iv = 255, .lvl = 61, @@ -11570,7 +11570,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = { +static const struct TrainerMonItemCustomMoves sParty_Angelo[] = { { .iv = 100, .lvl = 17, @@ -11587,7 +11587,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darius[] = { { .iv = 200, .lvl = 30, @@ -11595,7 +11595,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = { +static const struct TrainerMonItemCustomMoves sParty_Steven[] = { { .iv = 255, .lvl = 77, @@ -11640,7 +11640,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Anabel[] = { { .iv = 0, .lvl = 5, @@ -11648,7 +11648,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tucker[] = { { .iv = 0, .lvl = 5, @@ -11656,7 +11656,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Spenser[] = { { .iv = 0, .lvl = 5, @@ -11664,7 +11664,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Greta[] = { { .iv = 0, .lvl = 5, @@ -11672,7 +11672,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Noland[] = { { .iv = 0, .lvl = 5, @@ -11680,7 +11680,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lucy[] = { { .iv = 0, .lvl = 5, @@ -11688,7 +11688,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brandon[] = { { .iv = 0, .lvl = 5, @@ -11696,7 +11696,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres2[] = { { .iv = 10, .lvl = 31, @@ -11709,7 +11709,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres3[] = { { .iv = 20, .lvl = 33, @@ -11727,7 +11727,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres4[] = { { .iv = 30, .lvl = 35, @@ -11745,7 +11745,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres5[] = { { .iv = 40, .lvl = 37, @@ -11763,7 +11763,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory2[] = { { .iv = 10, .lvl = 30, @@ -11781,7 +11781,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory3[] = { { .iv = 20, .lvl = 32, @@ -11799,7 +11799,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory4[] = { { .iv = 30, .lvl = 34, @@ -11817,7 +11817,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory5[] = { { .iv = 40, .lvl = 36, @@ -11835,7 +11835,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo2[] = { { .iv = 10, .lvl = 37, @@ -11848,7 +11848,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo3[] = { { .iv = 20, .lvl = 39, @@ -11866,7 +11866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo4[] = { { .iv = 30, .lvl = 41, @@ -11884,7 +11884,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo5[] = { { .iv = 40, .lvl = 43, @@ -11902,7 +11902,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji2[] = { { .iv = 10, .lvl = 37, @@ -11915,7 +11915,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji3[] = { { .iv = 20, .lvl = 39, @@ -11933,7 +11933,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji4[] = { { .iv = 30, .lvl = 41, @@ -11951,7 +11951,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji5[] = { { .iv = 40, .lvl = 43, @@ -11969,7 +11969,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin2[] = { { .iv = 110, .lvl = 35, @@ -11982,7 +11982,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin3[] = { { .iv = 120, .lvl = 37, @@ -12000,7 +12000,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin4[] = { { .iv = 130, .lvl = 39, @@ -12018,7 +12018,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin5[] = { { .iv = 140, .lvl = 41, @@ -12036,7 +12036,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando2[] = { { .iv = 10, .lvl = 35, @@ -12054,7 +12054,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando3[] = { { .iv = 20, .lvl = 37, @@ -12072,7 +12072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando4[] = { { .iv = 30, .lvl = 39, @@ -12090,7 +12090,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando5[] = { { .iv = 40, .lvl = 41, @@ -12108,7 +12108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer2[] = { { .iv = 10, .lvl = 26, @@ -12121,7 +12121,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer3[] = { { .iv = 20, .lvl = 28, @@ -12139,7 +12139,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer4[] = { { .iv = 30, .lvl = 30, @@ -12157,7 +12157,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer5[] = { { .iv = 40, .lvl = 33, @@ -12175,7 +12175,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle2[] = { { .iv = 10, .lvl = 31, @@ -12208,7 +12208,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle3[] = { { .iv = 20, .lvl = 33, @@ -12241,7 +12241,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle4[] = { { .iv = 30, .lvl = 35, @@ -12274,7 +12274,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle5[] = { { .iv = 40, .lvl = 37, @@ -12307,7 +12307,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia2[] = { { .iv = 10, .lvl = 34, @@ -12320,7 +12320,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia3[] = { { .iv = 20, .lvl = 36, @@ -12338,7 +12338,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia4[] = { { .iv = 30, .lvl = 38, @@ -12356,7 +12356,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia5[] = { { .iv = 40, .lvl = 40, @@ -12374,7 +12374,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mariela[] = { { .iv = 0, .lvl = 41, @@ -12382,7 +12382,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alvaro[] = { { .iv = 0, .lvl = 41, @@ -12395,7 +12395,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Everett[] = { { .iv = 0, .lvl = 41, @@ -12403,7 +12403,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Red[] = { { .iv = 0, .lvl = 5, @@ -12411,7 +12411,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = { { .iv = 0, .lvl = 5, @@ -12419,7 +12419,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = { { .iv = 0, .lvl = 5, @@ -12427,7 +12427,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May16[] = { { .iv = 0, .lvl = 5, diff --git a/src/data/trainers.h b/src/data/trainers.h index 7ec297eb33..5a92926ccc 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -24,7 +24,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer1 } + .party = {.NoItemDefaultMoves = sParty_Sawyer1 } }, [TRAINER_GRUNT_1] = @@ -38,7 +38,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt1 } + .party = {.NoItemDefaultMoves = sParty_Grunt1 } }, [TRAINER_GRUNT_2] = @@ -52,7 +52,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt2 } + .party = {.NoItemDefaultMoves = sParty_Grunt2 } }, [TRAINER_GRUNT_3] = @@ -66,7 +66,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt3 } + .party = {.NoItemDefaultMoves = sParty_Grunt3 } }, [TRAINER_GRUNT_4] = @@ -80,7 +80,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt4 } + .party = {.NoItemDefaultMoves = sParty_Grunt4 } }, [TRAINER_GRUNT_5] = @@ -94,7 +94,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt5 } + .party = {.NoItemDefaultMoves = sParty_Grunt5 } }, [TRAINER_GRUNT_6] = @@ -108,7 +108,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt6 } + .party = {.NoItemDefaultMoves = sParty_Grunt6 } }, [TRAINER_GRUNT_7] = @@ -122,7 +122,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt7 } + .party = {.NoItemDefaultMoves = sParty_Grunt7 } }, [TRAINER_GABRIELLE_1] = @@ -136,7 +136,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle1 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle1 } }, [TRAINER_GRUNT_8] = @@ -150,7 +150,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt8 } + .party = {.NoItemDefaultMoves = sParty_Grunt8 } }, [TRAINER_MARCEL] = @@ -164,7 +164,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marcel } + .party = {.NoItemDefaultMoves = sParty_Marcel } }, [TRAINER_ALBERTO] = @@ -178,7 +178,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alberto } + .party = {.NoItemDefaultMoves = sParty_Alberto } }, [TRAINER_ED] = @@ -192,7 +192,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ed } + .party = {.NoItemDefaultMoves = sParty_Ed } }, [TRAINER_GRUNT_9] = @@ -206,7 +206,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt9 } + .party = {.NoItemDefaultMoves = sParty_Grunt9 } }, [TRAINER_DECLAN] = @@ -220,7 +220,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Declan } + .party = {.NoItemDefaultMoves = sParty_Declan } }, [TRAINER_GRUNT_10] = @@ -234,7 +234,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt10 } + .party = {.NoItemDefaultMoves = sParty_Grunt10 } }, [TRAINER_GRUNT_11] = @@ -248,7 +248,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt11 } + .party = {.NoItemDefaultMoves = sParty_Grunt11 } }, [TRAINER_GRUNT_12] = @@ -262,7 +262,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt12 } + .party = {.NoItemDefaultMoves = sParty_Grunt12 } }, [TRAINER_GRUNT_13] = @@ -276,7 +276,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt13 } + .party = {.NoItemDefaultMoves = sParty_Grunt13 } }, [TRAINER_GRUNT_14] = @@ -290,7 +290,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt14 } + .party = {.NoItemDefaultMoves = sParty_Grunt14 } }, [TRAINER_GRUNT_15] = @@ -304,7 +304,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt15 } + .party = {.NoItemDefaultMoves = sParty_Grunt15 } }, [TRAINER_GRUNT_16] = @@ -318,7 +318,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt16 } + .party = {.NoItemDefaultMoves = sParty_Grunt16 } }, [TRAINER_GRUNT_17] = @@ -332,7 +332,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt17 } + .party = {.NoItemDefaultMoves = sParty_Grunt17 } }, [TRAINER_GRUNT_18] = @@ -346,7 +346,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt18 } + .party = {.NoItemDefaultMoves = sParty_Grunt18 } }, [TRAINER_GRUNT_19] = @@ -360,7 +360,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt19 } + .party = {.NoItemDefaultMoves = sParty_Grunt19 } }, [TRAINER_GRUNT_20] = @@ -374,7 +374,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt20 } + .party = {.NoItemDefaultMoves = sParty_Grunt20 } }, [TRAINER_GRUNT_21] = @@ -388,7 +388,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt21 } + .party = {.NoItemDefaultMoves = sParty_Grunt21 } }, [TRAINER_GRUNT_22] = @@ -402,7 +402,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt22 } + .party = {.NoItemDefaultMoves = sParty_Grunt22 } }, [TRAINER_FREDRICK] = @@ -416,7 +416,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Fredrick } + .party = {.NoItemDefaultMoves = sParty_Fredrick } }, [TRAINER_MATT] = @@ -430,7 +430,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Matt } + .party = {.NoItemDefaultMoves = sParty_Matt } }, [TRAINER_ZANDER] = @@ -444,7 +444,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Zander } + .party = {.NoItemDefaultMoves = sParty_Zander } }, [TRAINER_SHELLY_1] = @@ -458,7 +458,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelly1 } + .party = {.NoItemDefaultMoves = sParty_Shelly1 } }, [TRAINER_SHELLY_2] = @@ -472,7 +472,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelly2 } + .party = {.NoItemDefaultMoves = sParty_Shelly2 } }, [TRAINER_ARCHIE] = @@ -486,7 +486,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Archie } + .party = {.NoItemDefaultMoves = sParty_Archie } }, [TRAINER_LEAH] = @@ -500,7 +500,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leah } + .party = {.NoItemDefaultMoves = sParty_Leah } }, [TRAINER_DAISY] = @@ -514,7 +514,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Daisy } + .party = {.NoItemDefaultMoves = sParty_Daisy } }, [TRAINER_ROSE_1] = @@ -528,7 +528,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose1 } + .party = {.NoItemDefaultMoves = sParty_Rose1 } }, [TRAINER_FELIX] = @@ -542,7 +542,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Felix } + .party = {.NoItemCustomMoves = sParty_Felix } }, [TRAINER_VIOLET] = @@ -556,7 +556,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Violet } + .party = {.NoItemDefaultMoves = sParty_Violet } }, [TRAINER_ROSE_2] = @@ -570,7 +570,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose2 } + .party = {.NoItemDefaultMoves = sParty_Rose2 } }, [TRAINER_ROSE_3] = @@ -584,7 +584,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose3 } + .party = {.NoItemDefaultMoves = sParty_Rose3 } }, [TRAINER_ROSE_4] = @@ -598,7 +598,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose4 } + .party = {.NoItemDefaultMoves = sParty_Rose4 } }, [TRAINER_ROSE_5] = @@ -612,7 +612,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose5 } + .party = {.NoItemDefaultMoves = sParty_Rose5 } }, [TRAINER_DUSTY_1] = @@ -626,7 +626,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty1 } + .party = {.NoItemCustomMoves = sParty_Dusty1 } }, [TRAINER_CHIP] = @@ -640,7 +640,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Chip } + .party = {.NoItemCustomMoves = sParty_Chip } }, [TRAINER_FOSTER] = @@ -654,7 +654,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Foster } + .party = {.NoItemCustomMoves = sParty_Foster } }, [TRAINER_DUSTY_2] = @@ -668,7 +668,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty2 } + .party = {.NoItemCustomMoves = sParty_Dusty2 } }, [TRAINER_DUSTY_3] = @@ -682,7 +682,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty3 } + .party = {.NoItemCustomMoves = sParty_Dusty3 } }, [TRAINER_DUSTY_4] = @@ -696,7 +696,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty4 } + .party = {.NoItemCustomMoves = sParty_Dusty4 } }, [TRAINER_DUSTY_5] = @@ -710,7 +710,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty5 } + .party = {.NoItemCustomMoves = sParty_Dusty5 } }, [TRAINER_GABBY_AND_TY_1] = @@ -724,7 +724,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy1 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy1 } }, [TRAINER_GABBY_AND_TY_2] = @@ -738,7 +738,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy2 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy2 } }, [TRAINER_GABBY_AND_TY_3] = @@ -752,7 +752,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy3 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy3 } }, [TRAINER_GABBY_AND_TY_4] = @@ -766,7 +766,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy4 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy4 } }, [TRAINER_GABBY_AND_TY_5] = @@ -780,7 +780,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy5 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy5 } }, [TRAINER_GABBY_AND_TY_6] = @@ -794,7 +794,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_GabbyAndTy6 } + .party = {.NoItemCustomMoves = sParty_GabbyAndTy6 } }, [TRAINER_LOLA_1] = @@ -808,7 +808,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola1 } + .party = {.NoItemDefaultMoves = sParty_Lola1 } }, [TRAINER_AUSTINA] = @@ -822,7 +822,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Austina } + .party = {.NoItemDefaultMoves = sParty_Austina } }, [TRAINER_GWEN] = @@ -836,7 +836,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Gwen } + .party = {.NoItemDefaultMoves = sParty_Gwen } }, [TRAINER_LOLA_2] = @@ -850,7 +850,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola2 } + .party = {.NoItemDefaultMoves = sParty_Lola2 } }, [TRAINER_LOLA_3] = @@ -864,7 +864,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola3 } + .party = {.NoItemDefaultMoves = sParty_Lola3 } }, [TRAINER_LOLA_4] = @@ -878,7 +878,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola4 } + .party = {.NoItemDefaultMoves = sParty_Lola4 } }, [TRAINER_LOLA_5] = @@ -892,7 +892,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola5 } + .party = {.NoItemDefaultMoves = sParty_Lola5 } }, [TRAINER_RICKY_1] = @@ -906,7 +906,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky1 } + .party = {.NoItemCustomMoves = sParty_Ricky1 } }, [TRAINER_SIMON] = @@ -920,7 +920,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Simon } + .party = {.NoItemDefaultMoves = sParty_Simon } }, [TRAINER_CHARLIE] = @@ -934,7 +934,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Charlie } + .party = {.NoItemDefaultMoves = sParty_Charlie } }, [TRAINER_RICKY_2] = @@ -948,7 +948,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky2 } + .party = {.NoItemCustomMoves = sParty_Ricky2 } }, [TRAINER_RICKY_3] = @@ -962,7 +962,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky3 } + .party = {.NoItemCustomMoves = sParty_Ricky3 } }, [TRAINER_RICKY_4] = @@ -976,7 +976,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky4 } + .party = {.NoItemCustomMoves = sParty_Ricky4 } }, [TRAINER_RICKY_5] = @@ -990,7 +990,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky5 } + .party = {.NoItemCustomMoves = sParty_Ricky5 } }, [TRAINER_RANDALL] = @@ -1004,7 +1004,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Randall } + .party = {.ItemCustomMoves = sParty_Randall } }, [TRAINER_PARKER] = @@ -1018,7 +1018,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Parker } + .party = {.ItemCustomMoves = sParty_Parker } }, [TRAINER_GEORGE] = @@ -1032,7 +1032,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_George } + .party = {.ItemCustomMoves = sParty_George } }, [TRAINER_BERKE] = @@ -1046,7 +1046,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Berke } + .party = {.ItemCustomMoves = sParty_Berke } }, [TRAINER_BRAXTON] = @@ -1060,7 +1060,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Braxton } + .party = {.NoItemCustomMoves = sParty_Braxton } }, [TRAINER_VINCENT] = @@ -1074,7 +1074,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Vincent } + .party = {.NoItemDefaultMoves = sParty_Vincent } }, [TRAINER_LEROY] = @@ -1088,7 +1088,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Leroy } + .party = {.NoItemDefaultMoves = sParty_Leroy } }, [TRAINER_WILTON_1] = @@ -1102,7 +1102,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton1 } + .party = {.NoItemDefaultMoves = sParty_Wilton1 } }, [TRAINER_EDGAR] = @@ -1116,7 +1116,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edgar } + .party = {.NoItemDefaultMoves = sParty_Edgar } }, [TRAINER_ALBERT] = @@ -1130,7 +1130,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Albert } + .party = {.NoItemDefaultMoves = sParty_Albert } }, [TRAINER_SAMUEL] = @@ -1144,7 +1144,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Samuel } + .party = {.NoItemDefaultMoves = sParty_Samuel } }, [TRAINER_VITO] = @@ -1158,7 +1158,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Vito } + .party = {.NoItemDefaultMoves = sParty_Vito } }, [TRAINER_OWEN] = @@ -1172,7 +1172,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Owen } + .party = {.NoItemDefaultMoves = sParty_Owen } }, [TRAINER_WILTON_2] = @@ -1186,7 +1186,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton2 } + .party = {.NoItemDefaultMoves = sParty_Wilton2 } }, [TRAINER_WILTON_3] = @@ -1200,7 +1200,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton3 } + .party = {.NoItemDefaultMoves = sParty_Wilton3 } }, [TRAINER_WILTON_4] = @@ -1214,7 +1214,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton4 } + .party = {.NoItemDefaultMoves = sParty_Wilton4 } }, [TRAINER_WILTON_5] = @@ -1228,7 +1228,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton5 } + .party = {.NoItemDefaultMoves = sParty_Wilton5 } }, [TRAINER_WARREN] = @@ -1242,7 +1242,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Warren } + .party = {.NoItemDefaultMoves = sParty_Warren } }, [TRAINER_MARY] = @@ -1256,7 +1256,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Mary } + .party = {.ItemCustomMoves = sParty_Mary } }, [TRAINER_ALEXIA] = @@ -1270,7 +1270,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Alexia } + .party = {.ItemCustomMoves = sParty_Alexia } }, [TRAINER_JODY] = @@ -1284,7 +1284,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Jody } + .party = {.ItemCustomMoves = sParty_Jody } }, [TRAINER_WENDY] = @@ -1298,7 +1298,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Wendy } + .party = {.NoItemCustomMoves = sParty_Wendy } }, [TRAINER_KEIRA] = @@ -1312,7 +1312,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Keira } + .party = {.NoItemDefaultMoves = sParty_Keira } }, [TRAINER_BROOKE_1] = @@ -1326,7 +1326,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke1 } + .party = {.NoItemDefaultMoves = sParty_Brooke1 } }, [TRAINER_JENNIFER] = @@ -1340,7 +1340,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jennifer } + .party = {.NoItemDefaultMoves = sParty_Jennifer } }, [TRAINER_HOPE] = @@ -1354,7 +1354,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hope } + .party = {.NoItemDefaultMoves = sParty_Hope } }, [TRAINER_SHANNON] = @@ -1368,7 +1368,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Shannon } + .party = {.NoItemDefaultMoves = sParty_Shannon } }, [TRAINER_MICHELLE] = @@ -1382,7 +1382,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Michelle } + .party = {.NoItemDefaultMoves = sParty_Michelle } }, [TRAINER_CAROLINE] = @@ -1396,7 +1396,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Caroline } + .party = {.NoItemDefaultMoves = sParty_Caroline } }, [TRAINER_JULIE] = @@ -1410,7 +1410,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Julie } + .party = {.NoItemDefaultMoves = sParty_Julie } }, [TRAINER_BROOKE_2] = @@ -1424,7 +1424,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke2 } + .party = {.NoItemDefaultMoves = sParty_Brooke2 } }, [TRAINER_BROOKE_3] = @@ -1438,7 +1438,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke3 } + .party = {.NoItemDefaultMoves = sParty_Brooke3 } }, [TRAINER_BROOKE_4] = @@ -1452,7 +1452,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke4 } + .party = {.NoItemDefaultMoves = sParty_Brooke4 } }, [TRAINER_BROOKE_5] = @@ -1466,7 +1466,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke5 } + .party = {.NoItemDefaultMoves = sParty_Brooke5 } }, [TRAINER_PATRICIA] = @@ -1480,7 +1480,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Patricia } + .party = {.NoItemDefaultMoves = sParty_Patricia } }, [TRAINER_KINDRA] = @@ -1494,7 +1494,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kindra } + .party = {.NoItemDefaultMoves = sParty_Kindra } }, [TRAINER_TAMMY] = @@ -1508,7 +1508,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tammy } + .party = {.NoItemDefaultMoves = sParty_Tammy } }, [TRAINER_VALERIE_1] = @@ -1522,7 +1522,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie1 } + .party = {.NoItemDefaultMoves = sParty_Valerie1 } }, [TRAINER_TASHA] = @@ -1536,7 +1536,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tasha } + .party = {.NoItemDefaultMoves = sParty_Tasha } }, [TRAINER_VALERIE_2] = @@ -1550,7 +1550,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie2 } + .party = {.NoItemDefaultMoves = sParty_Valerie2 } }, [TRAINER_VALERIE_3] = @@ -1564,7 +1564,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie3 } + .party = {.NoItemDefaultMoves = sParty_Valerie3 } }, [TRAINER_VALERIE_4] = @@ -1578,7 +1578,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie4 } + .party = {.NoItemDefaultMoves = sParty_Valerie4 } }, [TRAINER_VALERIE_5] = @@ -1592,7 +1592,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie5 } + .party = {.NoItemDefaultMoves = sParty_Valerie5 } }, [TRAINER_CINDY_1] = @@ -1606,7 +1606,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy1 } + .party = {.ItemDefaultMoves = sParty_Cindy1 } }, [TRAINER_DAPHNE] = @@ -1620,7 +1620,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Daphne } + .party = {.ItemCustomMoves = sParty_Daphne } }, [TRAINER_GRUNT_23] = @@ -1634,7 +1634,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt23 } + .party = {.NoItemDefaultMoves = sParty_Grunt23 } }, [TRAINER_CINDY_2] = @@ -1648,7 +1648,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Cindy2 } + .party = {.ItemCustomMoves = sParty_Cindy2 } }, [TRAINER_BRIANNA] = @@ -1662,7 +1662,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Brianna } + .party = {.ItemDefaultMoves = sParty_Brianna } }, [TRAINER_NAOMI] = @@ -1676,7 +1676,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Naomi } + .party = {.ItemDefaultMoves = sParty_Naomi } }, [TRAINER_CINDY_3] = @@ -1690,7 +1690,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy3 } + .party = {.ItemDefaultMoves = sParty_Cindy3 } }, [TRAINER_CINDY_4] = @@ -1704,7 +1704,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy4 } + .party = {.ItemDefaultMoves = sParty_Cindy4 } }, [TRAINER_CINDY_5] = @@ -1718,7 +1718,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy5 } + .party = {.ItemDefaultMoves = sParty_Cindy5 } }, [TRAINER_CINDY_6] = @@ -1732,7 +1732,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Cindy6 } + .party = {.ItemCustomMoves = sParty_Cindy6 } }, [TRAINER_MELISSA] = @@ -1746,7 +1746,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Melissa } + .party = {.NoItemDefaultMoves = sParty_Melissa } }, [TRAINER_SHEILA] = @@ -1760,7 +1760,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sheila } + .party = {.NoItemDefaultMoves = sParty_Sheila } }, [TRAINER_SHIRLEY] = @@ -1774,7 +1774,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Shirley } + .party = {.NoItemDefaultMoves = sParty_Shirley } }, [TRAINER_JESSICA_1] = @@ -1788,7 +1788,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica1 } + .party = {.NoItemCustomMoves = sParty_Jessica1 } }, [TRAINER_CONNIE] = @@ -1802,7 +1802,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Connie } + .party = {.NoItemDefaultMoves = sParty_Connie } }, [TRAINER_BRIDGET] = @@ -1816,7 +1816,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Bridget } + .party = {.NoItemDefaultMoves = sParty_Bridget } }, [TRAINER_OLIVIA] = @@ -1830,7 +1830,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Olivia } + .party = {.NoItemCustomMoves = sParty_Olivia } }, [TRAINER_TIFFANY] = @@ -1844,7 +1844,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tiffany } + .party = {.NoItemDefaultMoves = sParty_Tiffany } }, [TRAINER_JESSICA_2] = @@ -1858,7 +1858,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica2 } + .party = {.NoItemCustomMoves = sParty_Jessica2 } }, [TRAINER_JESSICA_3] = @@ -1872,7 +1872,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica3 } + .party = {.NoItemCustomMoves = sParty_Jessica3 } }, [TRAINER_JESSICA_4] = @@ -1886,7 +1886,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica4 } + .party = {.NoItemCustomMoves = sParty_Jessica4 } }, [TRAINER_JESSICA_5] = @@ -1900,7 +1900,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica5 } + .party = {.NoItemCustomMoves = sParty_Jessica5 } }, [TRAINER_WINSTON_1] = @@ -1914,7 +1914,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston1 } + .party = {.ItemDefaultMoves = sParty_Winston1 } }, [TRAINER_MOLLIE] = @@ -1928,7 +1928,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Mollie } + .party = {.NoItemDefaultMoves = sParty_Mollie } }, [TRAINER_GARRET] = @@ -1942,7 +1942,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Garret } + .party = {.ItemDefaultMoves = sParty_Garret } }, [TRAINER_WINSTON_2] = @@ -1956,7 +1956,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston2 } + .party = {.ItemDefaultMoves = sParty_Winston2 } }, [TRAINER_WINSTON_3] = @@ -1970,7 +1970,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston3 } + .party = {.ItemDefaultMoves = sParty_Winston3 } }, [TRAINER_WINSTON_4] = @@ -1984,7 +1984,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston4 } + .party = {.ItemDefaultMoves = sParty_Winston4 } }, [TRAINER_WINSTON_5] = @@ -1998,7 +1998,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Winston5 } + .party = {.ItemCustomMoves = sParty_Winston5 } }, [TRAINER_STEVE_1] = @@ -2012,7 +2012,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve1 } + .party = {.NoItemDefaultMoves = sParty_Steve1 } }, [TRAINER_THALIA_1] = @@ -2026,7 +2026,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia1 } + .party = {.NoItemDefaultMoves = sParty_Thalia1 } }, [TRAINER_MARK] = @@ -2040,7 +2040,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Mark } + .party = {.NoItemDefaultMoves = sParty_Mark } }, [TRAINER_GRUNT_24] = @@ -2054,7 +2054,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt24 } + .party = {.NoItemDefaultMoves = sParty_Grunt24 } }, [TRAINER_STEVE_2] = @@ -2068,7 +2068,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve2 } + .party = {.NoItemDefaultMoves = sParty_Steve2 } }, [TRAINER_STEVE_3] = @@ -2082,7 +2082,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve3 } + .party = {.NoItemDefaultMoves = sParty_Steve3 } }, [TRAINER_STEVE_4] = @@ -2096,7 +2096,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve4 } + .party = {.NoItemDefaultMoves = sParty_Steve4 } }, [TRAINER_STEVE_5] = @@ -2110,7 +2110,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve5 } + .party = {.NoItemDefaultMoves = sParty_Steve5 } }, [TRAINER_LUIS] = @@ -2124,7 +2124,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Luis } + .party = {.NoItemDefaultMoves = sParty_Luis } }, [TRAINER_DOMINIK] = @@ -2138,7 +2138,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dominik } + .party = {.NoItemDefaultMoves = sParty_Dominik } }, [TRAINER_DOUGLAS] = @@ -2152,7 +2152,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Douglas } + .party = {.NoItemDefaultMoves = sParty_Douglas } }, [TRAINER_DARRIN] = @@ -2166,7 +2166,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Darrin } + .party = {.NoItemDefaultMoves = sParty_Darrin } }, [TRAINER_TONY_1] = @@ -2180,7 +2180,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony1 } + .party = {.NoItemDefaultMoves = sParty_Tony1 } }, [TRAINER_JEROME] = @@ -2194,7 +2194,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerome } + .party = {.NoItemDefaultMoves = sParty_Jerome } }, [TRAINER_MATTHEW] = @@ -2208,7 +2208,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Matthew } + .party = {.NoItemDefaultMoves = sParty_Matthew } }, [TRAINER_DAVID] = @@ -2222,7 +2222,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_David } + .party = {.NoItemDefaultMoves = sParty_David } }, [TRAINER_SPENCER] = @@ -2236,7 +2236,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Spencer } + .party = {.NoItemDefaultMoves = sParty_Spencer } }, [TRAINER_ROLAND] = @@ -2250,7 +2250,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Roland } + .party = {.NoItemDefaultMoves = sParty_Roland } }, [TRAINER_NOLEN] = @@ -2264,7 +2264,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nolen } + .party = {.NoItemDefaultMoves = sParty_Nolen } }, [TRAINER_STAN] = @@ -2278,7 +2278,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Stan } + .party = {.NoItemDefaultMoves = sParty_Stan } }, [TRAINER_BARRY] = @@ -2292,7 +2292,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Barry } + .party = {.NoItemDefaultMoves = sParty_Barry } }, [TRAINER_DEAN] = @@ -2306,7 +2306,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dean } + .party = {.NoItemDefaultMoves = sParty_Dean } }, [TRAINER_RODNEY] = @@ -2320,7 +2320,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rodney } + .party = {.NoItemDefaultMoves = sParty_Rodney } }, [TRAINER_RICHARD] = @@ -2334,7 +2334,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Richard } + .party = {.NoItemDefaultMoves = sParty_Richard } }, [TRAINER_HERMAN] = @@ -2348,7 +2348,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Herman } + .party = {.NoItemDefaultMoves = sParty_Herman } }, [TRAINER_SANTIAGO] = @@ -2362,7 +2362,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Santiago } + .party = {.NoItemDefaultMoves = sParty_Santiago } }, [TRAINER_GILBERT] = @@ -2376,7 +2376,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Gilbert } + .party = {.NoItemDefaultMoves = sParty_Gilbert } }, [TRAINER_FRANKLIN] = @@ -2390,7 +2390,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Franklin } + .party = {.NoItemDefaultMoves = sParty_Franklin } }, [TRAINER_KEVIN] = @@ -2404,7 +2404,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kevin } + .party = {.NoItemDefaultMoves = sParty_Kevin } }, [TRAINER_JACK] = @@ -2418,7 +2418,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jack } + .party = {.NoItemDefaultMoves = sParty_Jack } }, [TRAINER_DUDLEY] = @@ -2432,7 +2432,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dudley } + .party = {.NoItemDefaultMoves = sParty_Dudley } }, [TRAINER_CHAD] = @@ -2446,7 +2446,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chad } + .party = {.NoItemDefaultMoves = sParty_Chad } }, [TRAINER_TONY_2] = @@ -2460,7 +2460,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony2 } + .party = {.NoItemDefaultMoves = sParty_Tony2 } }, [TRAINER_TONY_3] = @@ -2474,7 +2474,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony3 } + .party = {.NoItemDefaultMoves = sParty_Tony3 } }, [TRAINER_TONY_4] = @@ -2488,7 +2488,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony4 } + .party = {.NoItemDefaultMoves = sParty_Tony4 } }, [TRAINER_TONY_5] = @@ -2502,7 +2502,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony5 } + .party = {.NoItemDefaultMoves = sParty_Tony5 } }, [TRAINER_TAKAO] = @@ -2516,7 +2516,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Takao } + .party = {.NoItemDefaultMoves = sParty_Takao } }, [TRAINER_HITOSHI] = @@ -2530,7 +2530,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hitoshi } + .party = {.NoItemDefaultMoves = sParty_Hitoshi } }, [TRAINER_KIYO] = @@ -2544,7 +2544,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kiyo } + .party = {.NoItemDefaultMoves = sParty_Kiyo } }, [TRAINER_KOICHI] = @@ -2558,7 +2558,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Koichi } + .party = {.NoItemDefaultMoves = sParty_Koichi } }, [TRAINER_NOB_1] = @@ -2572,7 +2572,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob1 } + .party = {.NoItemDefaultMoves = sParty_Nob1 } }, [TRAINER_NOB_2] = @@ -2586,7 +2586,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob2 } + .party = {.NoItemDefaultMoves = sParty_Nob2 } }, [TRAINER_NOB_3] = @@ -2600,7 +2600,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob3 } + .party = {.NoItemDefaultMoves = sParty_Nob3 } }, [TRAINER_NOB_4] = @@ -2614,7 +2614,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob4 } + .party = {.NoItemDefaultMoves = sParty_Nob4 } }, [TRAINER_NOB_5] = @@ -2628,7 +2628,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.ItemDefaultMoves = gTrainerParty_Nob5 } + .party = {.ItemDefaultMoves = sParty_Nob5 } }, [TRAINER_YUJI] = @@ -2642,7 +2642,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Yuji } + .party = {.NoItemDefaultMoves = sParty_Yuji } }, [TRAINER_DAISUKE] = @@ -2656,7 +2656,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Daisuke } + .party = {.NoItemDefaultMoves = sParty_Daisuke } }, [TRAINER_ATSUSHI] = @@ -2670,7 +2670,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Atsushi } + .party = {.NoItemDefaultMoves = sParty_Atsushi } }, [TRAINER_KIRK] = @@ -2684,7 +2684,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Kirk } + .party = {.NoItemCustomMoves = sParty_Kirk } }, [TRAINER_GRUNT_25] = @@ -2698,7 +2698,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt25 } + .party = {.NoItemDefaultMoves = sParty_Grunt25 } }, [TRAINER_GRUNT_26] = @@ -2712,7 +2712,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt26 } + .party = {.NoItemDefaultMoves = sParty_Grunt26 } }, [TRAINER_SHAWN] = @@ -2726,7 +2726,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shawn } + .party = {.NoItemDefaultMoves = sParty_Shawn } }, [TRAINER_FERNANDO_1] = @@ -2740,7 +2740,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando1 } + .party = {.NoItemDefaultMoves = sParty_Fernando1 } }, [TRAINER_DALTON_1] = @@ -2754,7 +2754,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton1 } + .party = {.NoItemDefaultMoves = sParty_Dalton1 } }, [TRAINER_DALTON_2] = @@ -2768,7 +2768,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton2 } + .party = {.NoItemDefaultMoves = sParty_Dalton2 } }, [TRAINER_DALTON_3] = @@ -2782,7 +2782,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton3 } + .party = {.NoItemDefaultMoves = sParty_Dalton3 } }, [TRAINER_DALTON_4] = @@ -2796,7 +2796,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton4 } + .party = {.NoItemDefaultMoves = sParty_Dalton4 } }, [TRAINER_DALTON_5] = @@ -2810,7 +2810,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton5 } + .party = {.NoItemDefaultMoves = sParty_Dalton5 } }, [TRAINER_COLE] = @@ -2824,7 +2824,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cole } + .party = {.NoItemDefaultMoves = sParty_Cole } }, [TRAINER_JEFF] = @@ -2838,7 +2838,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeff } + .party = {.NoItemDefaultMoves = sParty_Jeff } }, [TRAINER_AXLE] = @@ -2852,7 +2852,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Axle } + .party = {.NoItemDefaultMoves = sParty_Axle } }, [TRAINER_JACE] = @@ -2866,7 +2866,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jace } + .party = {.NoItemDefaultMoves = sParty_Jace } }, [TRAINER_KEEGAN] = @@ -2880,7 +2880,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Keegan } + .party = {.NoItemDefaultMoves = sParty_Keegan } }, [TRAINER_BERNIE_1] = @@ -2894,7 +2894,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie1 } + .party = {.NoItemDefaultMoves = sParty_Bernie1 } }, [TRAINER_BERNIE_2] = @@ -2908,7 +2908,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie2 } + .party = {.NoItemDefaultMoves = sParty_Bernie2 } }, [TRAINER_BERNIE_3] = @@ -2922,7 +2922,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie3 } + .party = {.NoItemDefaultMoves = sParty_Bernie3 } }, [TRAINER_BERNIE_4] = @@ -2936,7 +2936,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie4 } + .party = {.NoItemDefaultMoves = sParty_Bernie4 } }, [TRAINER_BERNIE_5] = @@ -2950,7 +2950,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie5 } + .party = {.NoItemDefaultMoves = sParty_Bernie5 } }, [TRAINER_DREW] = @@ -2964,7 +2964,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Drew } + .party = {.NoItemCustomMoves = sParty_Drew } }, [TRAINER_BEAU] = @@ -2978,7 +2978,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Beau } + .party = {.NoItemCustomMoves = sParty_Beau } }, [TRAINER_LARRY] = @@ -2992,7 +2992,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Larry } + .party = {.NoItemDefaultMoves = sParty_Larry } }, [TRAINER_SHANE] = @@ -3006,7 +3006,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shane } + .party = {.NoItemDefaultMoves = sParty_Shane } }, [TRAINER_JUSTIN] = @@ -3020,7 +3020,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Justin } + .party = {.NoItemDefaultMoves = sParty_Justin } }, [TRAINER_ETHAN_1] = @@ -3034,7 +3034,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan1 } + .party = {.NoItemDefaultMoves = sParty_Ethan1 } }, [TRAINER_AUTUMN] = @@ -3048,7 +3048,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Autumn } + .party = {.NoItemDefaultMoves = sParty_Autumn } }, [TRAINER_TRAVIS] = @@ -3062,7 +3062,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Travis } + .party = {.NoItemDefaultMoves = sParty_Travis } }, [TRAINER_ETHAN_2] = @@ -3076,7 +3076,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan2 } + .party = {.NoItemDefaultMoves = sParty_Ethan2 } }, [TRAINER_ETHAN_3] = @@ -3090,7 +3090,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan3 } + .party = {.NoItemDefaultMoves = sParty_Ethan3 } }, [TRAINER_ETHAN_4] = @@ -3104,7 +3104,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan4 } + .party = {.NoItemDefaultMoves = sParty_Ethan4 } }, [TRAINER_ETHAN_5] = @@ -3118,7 +3118,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan5 } + .party = {.NoItemDefaultMoves = sParty_Ethan5 } }, [TRAINER_BRENT] = @@ -3132,7 +3132,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brent } + .party = {.NoItemDefaultMoves = sParty_Brent } }, [TRAINER_DONALD] = @@ -3146,7 +3146,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Donald } + .party = {.NoItemDefaultMoves = sParty_Donald } }, [TRAINER_TAYLOR] = @@ -3160,7 +3160,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Taylor } + .party = {.NoItemDefaultMoves = sParty_Taylor } }, [TRAINER_JEFFREY_1] = @@ -3174,7 +3174,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey1 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey1 } }, [TRAINER_DEREK] = @@ -3188,7 +3188,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Derek } + .party = {.NoItemDefaultMoves = sParty_Derek } }, [TRAINER_JEFFREY_2] = @@ -3202,7 +3202,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey2 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey2 } }, [TRAINER_JEFFREY_3] = @@ -3216,7 +3216,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey3 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey3 } }, [TRAINER_JEFFREY_4] = @@ -3230,7 +3230,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey4 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey4 } }, [TRAINER_JEFFREY_5] = @@ -3244,7 +3244,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 5, - .party = {.ItemDefaultMoves = gTrainerParty_Jeffrey5 } + .party = {.ItemDefaultMoves = sParty_Jeffrey5 } }, [TRAINER_EDWARD] = @@ -3258,7 +3258,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Edward } + .party = {.NoItemCustomMoves = sParty_Edward } }, [TRAINER_PRESTON] = @@ -3272,7 +3272,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Preston } + .party = {.NoItemDefaultMoves = sParty_Preston } }, [TRAINER_VIRGIL] = @@ -3286,7 +3286,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Virgil } + .party = {.NoItemDefaultMoves = sParty_Virgil } }, [TRAINER_BLAKE] = @@ -3300,7 +3300,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Blake } + .party = {.NoItemDefaultMoves = sParty_Blake } }, [TRAINER_WILLIAM] = @@ -3314,7 +3314,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_William } + .party = {.NoItemDefaultMoves = sParty_William } }, [TRAINER_JOSHUA] = @@ -3328,7 +3328,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Joshua } + .party = {.NoItemDefaultMoves = sParty_Joshua } }, [TRAINER_CAMERON_1] = @@ -3342,7 +3342,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron1 } + .party = {.NoItemDefaultMoves = sParty_Cameron1 } }, [TRAINER_CAMERON_2] = @@ -3356,7 +3356,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron2 } + .party = {.NoItemDefaultMoves = sParty_Cameron2 } }, [TRAINER_CAMERON_3] = @@ -3370,7 +3370,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron3 } + .party = {.NoItemDefaultMoves = sParty_Cameron3 } }, [TRAINER_CAMERON_4] = @@ -3384,7 +3384,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron4 } + .party = {.NoItemDefaultMoves = sParty_Cameron4 } }, [TRAINER_CAMERON_5] = @@ -3398,7 +3398,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron5 } + .party = {.NoItemDefaultMoves = sParty_Cameron5 } }, [TRAINER_JACLYN] = @@ -3412,7 +3412,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Jaclyn } + .party = {.NoItemCustomMoves = sParty_Jaclyn } }, [TRAINER_HANNAH] = @@ -3426,7 +3426,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hannah } + .party = {.NoItemDefaultMoves = sParty_Hannah } }, [TRAINER_SAMANTHA] = @@ -3440,7 +3440,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Samantha } + .party = {.NoItemDefaultMoves = sParty_Samantha } }, [TRAINER_MAURA] = @@ -3454,7 +3454,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maura } + .party = {.NoItemDefaultMoves = sParty_Maura } }, [TRAINER_KAYLA] = @@ -3468,7 +3468,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Kayla } + .party = {.NoItemDefaultMoves = sParty_Kayla } }, [TRAINER_ALEXIS] = @@ -3482,7 +3482,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alexis } + .party = {.NoItemDefaultMoves = sParty_Alexis } }, [TRAINER_JACKI_1] = @@ -3496,7 +3496,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki1 } + .party = {.NoItemDefaultMoves = sParty_Jacki1 } }, [TRAINER_JACKI_2] = @@ -3510,7 +3510,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki2 } + .party = {.NoItemDefaultMoves = sParty_Jacki2 } }, [TRAINER_JACKI_3] = @@ -3524,7 +3524,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki3 } + .party = {.NoItemDefaultMoves = sParty_Jacki3 } }, [TRAINER_JACKI_4] = @@ -3538,7 +3538,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki4 } + .party = {.NoItemDefaultMoves = sParty_Jacki4 } }, [TRAINER_JACKI_5] = @@ -3552,7 +3552,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki5 } + .party = {.NoItemDefaultMoves = sParty_Jacki5 } }, [TRAINER_WALTER_1] = @@ -3566,7 +3566,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Walter1 } + .party = {.NoItemDefaultMoves = sParty_Walter1 } }, [TRAINER_MICAH] = @@ -3580,7 +3580,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Micah } + .party = {.NoItemDefaultMoves = sParty_Micah } }, [TRAINER_THOMAS] = @@ -3594,7 +3594,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Thomas } + .party = {.NoItemDefaultMoves = sParty_Thomas } }, [TRAINER_WALTER_2] = @@ -3608,7 +3608,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Walter2 } + .party = {.NoItemDefaultMoves = sParty_Walter2 } }, [TRAINER_WALTER_3] = @@ -3622,7 +3622,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Walter3 } + .party = {.NoItemCustomMoves = sParty_Walter3 } }, [TRAINER_WALTER_4] = @@ -3636,7 +3636,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Walter4 } + .party = {.NoItemCustomMoves = sParty_Walter4 } }, [TRAINER_WALTER_5] = @@ -3650,7 +3650,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Walter5 } + .party = {.NoItemCustomMoves = sParty_Walter5 } }, [TRAINER_SIDNEY] = @@ -3664,7 +3664,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Sidney } + .party = {.ItemCustomMoves = sParty_Sidney } }, [TRAINER_PHOEBE] = @@ -3678,7 +3678,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Phoebe } + .party = {.ItemCustomMoves = sParty_Phoebe } }, [TRAINER_GLACIA] = @@ -3692,7 +3692,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Glacia } + .party = {.ItemCustomMoves = sParty_Glacia } }, [TRAINER_DRAKE] = @@ -3706,7 +3706,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Drake } + .party = {.ItemCustomMoves = sParty_Drake } }, [TRAINER_ROXANNE_1] = @@ -3720,7 +3720,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne1 } + .party = {.ItemCustomMoves = sParty_Roxanne1 } }, [TRAINER_BRAWLY_1] = @@ -3734,7 +3734,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.ItemCustomMoves = gTrainerParty_Brawly1 } + .party = {.ItemCustomMoves = sParty_Brawly1 } }, [TRAINER_WATTSON_1] = @@ -3748,7 +3748,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Wattson1 } + .party = {.ItemCustomMoves = sParty_Wattson1 } }, [TRAINER_FLANNERY_1] = @@ -3762,7 +3762,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Flannery1 } + .party = {.ItemCustomMoves = sParty_Flannery1 } }, [TRAINER_NORMAN_1] = @@ -3776,7 +3776,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Norman1 } + .party = {.ItemCustomMoves = sParty_Norman1 } }, [TRAINER_WINONA_1] = @@ -3790,7 +3790,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Winona1 } + .party = {.ItemCustomMoves = sParty_Winona1 } }, [TRAINER_TATE_AND_LIZA_1] = @@ -3804,7 +3804,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza1 } + .party = {.ItemCustomMoves = sParty_TateAndLiza1 } }, [TRAINER_JUAN_1] = @@ -3818,7 +3818,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan1 } + .party = {.ItemCustomMoves = sParty_Juan1 } }, [TRAINER_JERRY_1] = @@ -3832,7 +3832,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry1 } + .party = {.NoItemDefaultMoves = sParty_Jerry1 } }, [TRAINER_TED] = @@ -3846,7 +3846,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Ted } + .party = {.NoItemDefaultMoves = sParty_Ted } }, [TRAINER_PAUL] = @@ -3860,7 +3860,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Paul } + .party = {.NoItemDefaultMoves = sParty_Paul } }, [TRAINER_JERRY_2] = @@ -3874,7 +3874,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry2 } + .party = {.NoItemDefaultMoves = sParty_Jerry2 } }, [TRAINER_JERRY_3] = @@ -3888,7 +3888,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry3 } + .party = {.NoItemDefaultMoves = sParty_Jerry3 } }, [TRAINER_JERRY_4] = @@ -3902,7 +3902,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry4 } + .party = {.NoItemDefaultMoves = sParty_Jerry4 } }, [TRAINER_JERRY_5] = @@ -3916,7 +3916,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry5 } + .party = {.NoItemDefaultMoves = sParty_Jerry5 } }, [TRAINER_KAREN_1] = @@ -3930,7 +3930,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen1 } + .party = {.NoItemDefaultMoves = sParty_Karen1 } }, [TRAINER_GEORGIA] = @@ -3944,7 +3944,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Georgia } + .party = {.NoItemDefaultMoves = sParty_Georgia } }, [TRAINER_KAREN_2] = @@ -3958,7 +3958,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen2 } + .party = {.NoItemDefaultMoves = sParty_Karen2 } }, [TRAINER_KAREN_3] = @@ -3972,7 +3972,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen3 } + .party = {.NoItemDefaultMoves = sParty_Karen3 } }, [TRAINER_KAREN_4] = @@ -3986,7 +3986,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen4 } + .party = {.NoItemDefaultMoves = sParty_Karen4 } }, [TRAINER_KAREN_5] = @@ -4000,7 +4000,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen5 } + .party = {.NoItemDefaultMoves = sParty_Karen5 } }, [TRAINER_KATE_AND_JOY] = @@ -4014,7 +4014,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_KateAndJoy } + .party = {.NoItemCustomMoves = sParty_KateAndJoy } }, [TRAINER_ANNA_AND_MEG_1] = @@ -4028,7 +4028,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg1 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg1 } }, [TRAINER_ANNA_AND_MEG_2] = @@ -4042,7 +4042,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg2 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg2 } }, [TRAINER_ANNA_AND_MEG_3] = @@ -4056,7 +4056,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg3 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg3 } }, [TRAINER_ANNA_AND_MEG_4] = @@ -4070,7 +4070,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg4 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg4 } }, [TRAINER_ANNA_AND_MEG_5] = @@ -4084,7 +4084,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg5 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg5 } }, [TRAINER_VICTOR] = @@ -4098,7 +4098,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Victor } + .party = {.ItemDefaultMoves = sParty_Victor } }, [TRAINER_MIGUEL_1] = @@ -4112,7 +4112,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel1 } + .party = {.ItemDefaultMoves = sParty_Miguel1 } }, [TRAINER_COLTON] = @@ -4126,7 +4126,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Colton } + .party = {.ItemCustomMoves = sParty_Colton } }, [TRAINER_MIGUEL_2] = @@ -4140,7 +4140,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel2 } + .party = {.ItemDefaultMoves = sParty_Miguel2 } }, [TRAINER_MIGUEL_3] = @@ -4154,7 +4154,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel3 } + .party = {.ItemDefaultMoves = sParty_Miguel3 } }, [TRAINER_MIGUEL_4] = @@ -4168,7 +4168,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel4 } + .party = {.ItemDefaultMoves = sParty_Miguel4 } }, [TRAINER_MIGUEL_5] = @@ -4182,7 +4182,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel5 } + .party = {.ItemDefaultMoves = sParty_Miguel5 } }, [TRAINER_VICTORIA] = @@ -4196,7 +4196,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Victoria } + .party = {.ItemDefaultMoves = sParty_Victoria } }, [TRAINER_VANESSA] = @@ -4210,7 +4210,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Vanessa } + .party = {.ItemDefaultMoves = sParty_Vanessa } }, [TRAINER_BETHANY] = @@ -4224,7 +4224,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.ItemDefaultMoves = gTrainerParty_Bethany } + .party = {.ItemDefaultMoves = sParty_Bethany } }, [TRAINER_ISABEL_1] = @@ -4238,7 +4238,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel1 } + .party = {.ItemDefaultMoves = sParty_Isabel1 } }, [TRAINER_ISABEL_2] = @@ -4252,7 +4252,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel2 } + .party = {.ItemDefaultMoves = sParty_Isabel2 } }, [TRAINER_ISABEL_3] = @@ -4266,7 +4266,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel3 } + .party = {.ItemDefaultMoves = sParty_Isabel3 } }, [TRAINER_ISABEL_4] = @@ -4280,7 +4280,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel4 } + .party = {.ItemDefaultMoves = sParty_Isabel4 } }, [TRAINER_ISABEL_5] = @@ -4294,7 +4294,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel5 } + .party = {.ItemDefaultMoves = sParty_Isabel5 } }, [TRAINER_TIMOTHY_1] = @@ -4308,7 +4308,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Timothy1 } + .party = {.NoItemDefaultMoves = sParty_Timothy1 } }, [TRAINER_TIMOTHY_2] = @@ -4322,7 +4322,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy2 } + .party = {.NoItemCustomMoves = sParty_Timothy2 } }, [TRAINER_TIMOTHY_3] = @@ -4336,7 +4336,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy3 } + .party = {.NoItemCustomMoves = sParty_Timothy3 } }, [TRAINER_TIMOTHY_4] = @@ -4350,7 +4350,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy4 } + .party = {.NoItemCustomMoves = sParty_Timothy4 } }, [TRAINER_TIMOTHY_5] = @@ -4364,7 +4364,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy5 } + .party = {.NoItemCustomMoves = sParty_Timothy5 } }, [TRAINER_VICKY] = @@ -4378,7 +4378,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Vicky } + .party = {.NoItemCustomMoves = sParty_Vicky } }, [TRAINER_SHELBY_1] = @@ -4392,7 +4392,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby1 } + .party = {.NoItemDefaultMoves = sParty_Shelby1 } }, [TRAINER_SHELBY_2] = @@ -4406,7 +4406,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby2 } + .party = {.NoItemDefaultMoves = sParty_Shelby2 } }, [TRAINER_SHELBY_3] = @@ -4420,7 +4420,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby3 } + .party = {.NoItemDefaultMoves = sParty_Shelby3 } }, [TRAINER_SHELBY_4] = @@ -4434,7 +4434,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby4 } + .party = {.NoItemDefaultMoves = sParty_Shelby4 } }, [TRAINER_SHELBY_5] = @@ -4448,7 +4448,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby5 } + .party = {.NoItemDefaultMoves = sParty_Shelby5 } }, [TRAINER_CALVIN_1] = @@ -4462,7 +4462,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin1 } + .party = {.NoItemDefaultMoves = sParty_Calvin1 } }, [TRAINER_BILLY] = @@ -4476,7 +4476,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Billy } + .party = {.NoItemDefaultMoves = sParty_Billy } }, [TRAINER_JOSH] = @@ -4490,7 +4490,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Josh } + .party = {.NoItemCustomMoves = sParty_Josh } }, [TRAINER_TOMMY] = @@ -4504,7 +4504,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tommy } + .party = {.NoItemDefaultMoves = sParty_Tommy } }, [TRAINER_JOEY] = @@ -4518,7 +4518,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Joey } + .party = {.NoItemDefaultMoves = sParty_Joey } }, [TRAINER_BEN] = @@ -4532,7 +4532,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Ben } + .party = {.NoItemCustomMoves = sParty_Ben } }, [TRAINER_QUINCY] = @@ -4546,7 +4546,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Quincy } + .party = {.NoItemCustomMoves = sParty_Quincy } }, [TRAINER_KATELYNN] = @@ -4560,7 +4560,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Katelynn } + .party = {.NoItemCustomMoves = sParty_Katelynn } }, [TRAINER_JAYLEN] = @@ -4574,7 +4574,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jaylen } + .party = {.NoItemDefaultMoves = sParty_Jaylen } }, [TRAINER_DILLON] = @@ -4588,7 +4588,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dillon } + .party = {.NoItemDefaultMoves = sParty_Dillon } }, [TRAINER_CALVIN_2] = @@ -4602,7 +4602,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin2 } + .party = {.NoItemDefaultMoves = sParty_Calvin2 } }, [TRAINER_CALVIN_3] = @@ -4616,7 +4616,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin3 } + .party = {.NoItemDefaultMoves = sParty_Calvin3 } }, [TRAINER_CALVIN_4] = @@ -4630,7 +4630,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin4 } + .party = {.NoItemDefaultMoves = sParty_Calvin4 } }, [TRAINER_CALVIN_5] = @@ -4644,7 +4644,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin5 } + .party = {.NoItemDefaultMoves = sParty_Calvin5 } }, [TRAINER_EDDIE] = @@ -4658,7 +4658,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Eddie } + .party = {.NoItemDefaultMoves = sParty_Eddie } }, [TRAINER_ALLEN] = @@ -4672,7 +4672,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Allen } + .party = {.NoItemDefaultMoves = sParty_Allen } }, [TRAINER_TIMMY] = @@ -4686,7 +4686,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Timmy } + .party = {.NoItemDefaultMoves = sParty_Timmy } }, [TRAINER_WALLACE] = @@ -4700,7 +4700,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Wallace } + .party = {.ItemCustomMoves = sParty_Wallace } }, [TRAINER_ANDREW] = @@ -4714,7 +4714,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andrew } + .party = {.NoItemDefaultMoves = sParty_Andrew } }, [TRAINER_IVAN] = @@ -4728,7 +4728,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ivan } + .party = {.NoItemDefaultMoves = sParty_Ivan } }, [TRAINER_CLAUDE] = @@ -4742,7 +4742,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Claude } + .party = {.NoItemDefaultMoves = sParty_Claude } }, [TRAINER_ELLIOT_1] = @@ -4756,7 +4756,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot1 } + .party = {.NoItemDefaultMoves = sParty_Elliot1 } }, [TRAINER_NED] = @@ -4770,7 +4770,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Ned } + .party = {.NoItemDefaultMoves = sParty_Ned } }, [TRAINER_DALE] = @@ -4784,7 +4784,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Dale } + .party = {.NoItemDefaultMoves = sParty_Dale } }, [TRAINER_NOLAN] = @@ -4798,7 +4798,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nolan } + .party = {.NoItemDefaultMoves = sParty_Nolan } }, [TRAINER_BARNY] = @@ -4812,7 +4812,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Barny } + .party = {.NoItemDefaultMoves = sParty_Barny } }, [TRAINER_WADE] = @@ -4826,7 +4826,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Wade } + .party = {.NoItemDefaultMoves = sParty_Wade } }, [TRAINER_CARTER] = @@ -4840,7 +4840,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Carter } + .party = {.NoItemDefaultMoves = sParty_Carter } }, [TRAINER_ELLIOT_2] = @@ -4854,7 +4854,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot2 } + .party = {.NoItemDefaultMoves = sParty_Elliot2 } }, [TRAINER_ELLIOT_3] = @@ -4868,7 +4868,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot3 } + .party = {.NoItemDefaultMoves = sParty_Elliot3 } }, [TRAINER_ELLIOT_4] = @@ -4882,7 +4882,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot4 } + .party = {.NoItemDefaultMoves = sParty_Elliot4 } }, [TRAINER_ELLIOT_5] = @@ -4896,7 +4896,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot5 } + .party = {.NoItemDefaultMoves = sParty_Elliot5 } }, [TRAINER_RONALD] = @@ -4910,7 +4910,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Ronald } + .party = {.NoItemDefaultMoves = sParty_Ronald } }, [TRAINER_JACOB] = @@ -4924,7 +4924,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacob } + .party = {.NoItemDefaultMoves = sParty_Jacob } }, [TRAINER_ANTHONY] = @@ -4938,7 +4938,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Anthony } + .party = {.NoItemDefaultMoves = sParty_Anthony } }, [TRAINER_BENJAMIN_1] = @@ -4952,7 +4952,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin1 } + .party = {.NoItemDefaultMoves = sParty_Benjamin1 } }, [TRAINER_BENJAMIN_2] = @@ -4966,7 +4966,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin2 } + .party = {.NoItemDefaultMoves = sParty_Benjamin2 } }, [TRAINER_BENJAMIN_3] = @@ -4980,7 +4980,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin3 } + .party = {.NoItemDefaultMoves = sParty_Benjamin3 } }, [TRAINER_BENJAMIN_4] = @@ -4994,7 +4994,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin4 } + .party = {.NoItemDefaultMoves = sParty_Benjamin4 } }, [TRAINER_BENJAMIN_5] = @@ -5008,7 +5008,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin5 } + .party = {.NoItemDefaultMoves = sParty_Benjamin5 } }, [TRAINER_ABIGAIL_1] = @@ -5022,7 +5022,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail1 } + .party = {.NoItemDefaultMoves = sParty_Abigail1 } }, [TRAINER_JASMINE] = @@ -5036,7 +5036,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jasmine } + .party = {.NoItemDefaultMoves = sParty_Jasmine } }, [TRAINER_ABIGAIL_2] = @@ -5050,7 +5050,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail2 } + .party = {.NoItemDefaultMoves = sParty_Abigail2 } }, [TRAINER_ABIGAIL_3] = @@ -5064,7 +5064,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail3 } + .party = {.NoItemDefaultMoves = sParty_Abigail3 } }, [TRAINER_ABIGAIL_4] = @@ -5078,7 +5078,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail4 } + .party = {.NoItemDefaultMoves = sParty_Abigail4 } }, [TRAINER_ABIGAIL_5] = @@ -5092,7 +5092,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail5 } + .party = {.NoItemDefaultMoves = sParty_Abigail5 } }, [TRAINER_DYLAN_1] = @@ -5106,7 +5106,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan1 } + .party = {.NoItemDefaultMoves = sParty_Dylan1 } }, [TRAINER_DYLAN_2] = @@ -5120,7 +5120,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan2 } + .party = {.NoItemDefaultMoves = sParty_Dylan2 } }, [TRAINER_DYLAN_3] = @@ -5134,7 +5134,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan3 } + .party = {.NoItemDefaultMoves = sParty_Dylan3 } }, [TRAINER_DYLAN_4] = @@ -5148,7 +5148,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan4 } + .party = {.NoItemDefaultMoves = sParty_Dylan4 } }, [TRAINER_DYLAN_5] = @@ -5162,7 +5162,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan5 } + .party = {.NoItemDefaultMoves = sParty_Dylan5 } }, [TRAINER_MARIA_1] = @@ -5176,7 +5176,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria1 } + .party = {.NoItemDefaultMoves = sParty_Maria1 } }, [TRAINER_MARIA_2] = @@ -5190,7 +5190,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria2 } + .party = {.NoItemDefaultMoves = sParty_Maria2 } }, [TRAINER_MARIA_3] = @@ -5204,7 +5204,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria3 } + .party = {.NoItemDefaultMoves = sParty_Maria3 } }, [TRAINER_MARIA_4] = @@ -5218,7 +5218,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria4 } + .party = {.NoItemDefaultMoves = sParty_Maria4 } }, [TRAINER_MARIA_5] = @@ -5232,7 +5232,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria5 } + .party = {.NoItemDefaultMoves = sParty_Maria5 } }, [TRAINER_CAMDEN] = @@ -5246,7 +5246,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Camden } + .party = {.NoItemDefaultMoves = sParty_Camden } }, [TRAINER_DEMETRIUS] = @@ -5260,7 +5260,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Demetrius } + .party = {.NoItemDefaultMoves = sParty_Demetrius } }, [TRAINER_ISAIAH_1] = @@ -5274,7 +5274,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah1 } + .party = {.NoItemDefaultMoves = sParty_Isaiah1 } }, [TRAINER_PABLO_1] = @@ -5288,7 +5288,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo1 } + .party = {.NoItemDefaultMoves = sParty_Pablo1 } }, [TRAINER_CHASE] = @@ -5302,7 +5302,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chase } + .party = {.NoItemDefaultMoves = sParty_Chase } }, [TRAINER_ISAIAH_2] = @@ -5316,7 +5316,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah2 } + .party = {.NoItemDefaultMoves = sParty_Isaiah2 } }, [TRAINER_ISAIAH_3] = @@ -5330,7 +5330,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah3 } + .party = {.NoItemDefaultMoves = sParty_Isaiah3 } }, [TRAINER_ISAIAH_4] = @@ -5344,7 +5344,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah4 } + .party = {.NoItemDefaultMoves = sParty_Isaiah4 } }, [TRAINER_ISAIAH_5] = @@ -5358,7 +5358,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah5 } + .party = {.NoItemDefaultMoves = sParty_Isaiah5 } }, [TRAINER_ISOBEL] = @@ -5372,7 +5372,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isobel } + .party = {.NoItemDefaultMoves = sParty_Isobel } }, [TRAINER_DONNY] = @@ -5386,7 +5386,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Donny } + .party = {.NoItemDefaultMoves = sParty_Donny } }, [TRAINER_TALIA] = @@ -5400,7 +5400,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Talia } + .party = {.NoItemDefaultMoves = sParty_Talia } }, [TRAINER_KATELYN_1] = @@ -5414,7 +5414,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn1 } + .party = {.NoItemDefaultMoves = sParty_Katelyn1 } }, [TRAINER_ALLISON] = @@ -5428,7 +5428,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Allison } + .party = {.NoItemDefaultMoves = sParty_Allison } }, [TRAINER_KATELYN_2] = @@ -5442,7 +5442,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn2 } + .party = {.NoItemDefaultMoves = sParty_Katelyn2 } }, [TRAINER_KATELYN_3] = @@ -5456,7 +5456,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn3 } + .party = {.NoItemDefaultMoves = sParty_Katelyn3 } }, [TRAINER_KATELYN_4] = @@ -5470,7 +5470,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn4 } + .party = {.NoItemDefaultMoves = sParty_Katelyn4 } }, [TRAINER_KATELYN_5] = @@ -5484,7 +5484,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn5 } + .party = {.NoItemDefaultMoves = sParty_Katelyn5 } }, [TRAINER_NICOLAS_1] = @@ -5498,7 +5498,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas1 } + .party = {.NoItemDefaultMoves = sParty_Nicolas1 } }, [TRAINER_NICOLAS_2] = @@ -5512,7 +5512,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas2 } + .party = {.NoItemDefaultMoves = sParty_Nicolas2 } }, [TRAINER_NICOLAS_3] = @@ -5526,7 +5526,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas3 } + .party = {.NoItemDefaultMoves = sParty_Nicolas3 } }, [TRAINER_NICOLAS_4] = @@ -5540,7 +5540,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas4 } + .party = {.NoItemDefaultMoves = sParty_Nicolas4 } }, [TRAINER_NICOLAS_5] = @@ -5554,7 +5554,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.ItemDefaultMoves = gTrainerParty_Nicolas5 } + .party = {.ItemDefaultMoves = sParty_Nicolas5 } }, [TRAINER_AARON] = @@ -5568,7 +5568,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Aaron } + .party = {.NoItemCustomMoves = sParty_Aaron } }, [TRAINER_PERRY] = @@ -5582,7 +5582,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Perry } + .party = {.NoItemDefaultMoves = sParty_Perry } }, [TRAINER_HUGH] = @@ -5596,7 +5596,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hugh } + .party = {.NoItemDefaultMoves = sParty_Hugh } }, [TRAINER_PHIL] = @@ -5610,7 +5610,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Phil } + .party = {.NoItemDefaultMoves = sParty_Phil } }, [TRAINER_JARED] = @@ -5624,7 +5624,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jared } + .party = {.NoItemDefaultMoves = sParty_Jared } }, [TRAINER_HUMBERTO] = @@ -5638,7 +5638,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Humberto } + .party = {.NoItemDefaultMoves = sParty_Humberto } }, [TRAINER_PRESLEY] = @@ -5652,7 +5652,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Presley } + .party = {.NoItemDefaultMoves = sParty_Presley } }, [TRAINER_EDWARDO] = @@ -5666,7 +5666,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwardo } + .party = {.NoItemDefaultMoves = sParty_Edwardo } }, [TRAINER_COLIN] = @@ -5680,7 +5680,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Colin } + .party = {.NoItemDefaultMoves = sParty_Colin } }, [TRAINER_ROBERT_1] = @@ -5694,7 +5694,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert1 } + .party = {.NoItemDefaultMoves = sParty_Robert1 } }, [TRAINER_BENNY] = @@ -5708,7 +5708,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Benny } + .party = {.NoItemDefaultMoves = sParty_Benny } }, [TRAINER_CHESTER] = @@ -5722,7 +5722,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chester } + .party = {.NoItemDefaultMoves = sParty_Chester } }, [TRAINER_ROBERT_2] = @@ -5736,7 +5736,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert2 } + .party = {.NoItemDefaultMoves = sParty_Robert2 } }, [TRAINER_ROBERT_3] = @@ -5750,7 +5750,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert3 } + .party = {.NoItemDefaultMoves = sParty_Robert3 } }, [TRAINER_ROBERT_4] = @@ -5764,7 +5764,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert4 } + .party = {.NoItemDefaultMoves = sParty_Robert4 } }, [TRAINER_ROBERT_5] = @@ -5778,7 +5778,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert5 } + .party = {.NoItemDefaultMoves = sParty_Robert5 } }, [TRAINER_ALEX] = @@ -5792,7 +5792,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alex } + .party = {.NoItemDefaultMoves = sParty_Alex } }, [TRAINER_BECK] = @@ -5806,7 +5806,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Beck } + .party = {.NoItemDefaultMoves = sParty_Beck } }, [TRAINER_YASU] = @@ -5820,7 +5820,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Yasu } + .party = {.NoItemDefaultMoves = sParty_Yasu } }, [TRAINER_TAKASHI] = @@ -5834,7 +5834,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Takashi } + .party = {.NoItemDefaultMoves = sParty_Takashi } }, [TRAINER_DIANNE] = @@ -5848,7 +5848,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Dianne } + .party = {.ItemCustomMoves = sParty_Dianne } }, [TRAINER_JANI] = @@ -5862,7 +5862,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jani } + .party = {.NoItemDefaultMoves = sParty_Jani } }, [TRAINER_LAO_1] = @@ -5876,7 +5876,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Lao1 } + .party = {.NoItemCustomMoves = sParty_Lao1 } }, [TRAINER_LUNG] = @@ -5890,7 +5890,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lung } + .party = {.NoItemDefaultMoves = sParty_Lung } }, [TRAINER_LAO_2] = @@ -5904,7 +5904,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao2 } + .party = {.NoItemCustomMoves = sParty_Lao2 } }, [TRAINER_LAO_3] = @@ -5918,7 +5918,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao3 } + .party = {.NoItemCustomMoves = sParty_Lao3 } }, [TRAINER_LAO_4] = @@ -5932,7 +5932,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao4 } + .party = {.NoItemCustomMoves = sParty_Lao4 } }, [TRAINER_LAO_5] = @@ -5946,7 +5946,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Lao5 } + .party = {.ItemCustomMoves = sParty_Lao5 } }, [TRAINER_JOCELYN] = @@ -5960,7 +5960,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jocelyn } + .party = {.NoItemDefaultMoves = sParty_Jocelyn } }, [TRAINER_LAURA] = @@ -5974,7 +5974,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Laura } + .party = {.NoItemDefaultMoves = sParty_Laura } }, [TRAINER_CYNDY_1] = @@ -5988,7 +5988,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy1 } + .party = {.NoItemDefaultMoves = sParty_Cyndy1 } }, [TRAINER_CORA] = @@ -6002,7 +6002,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cora } + .party = {.NoItemDefaultMoves = sParty_Cora } }, [TRAINER_PAULA] = @@ -6016,7 +6016,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Paula } + .party = {.NoItemDefaultMoves = sParty_Paula } }, [TRAINER_CYNDY_2] = @@ -6030,7 +6030,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy2 } + .party = {.NoItemDefaultMoves = sParty_Cyndy2 } }, [TRAINER_CYNDY_3] = @@ -6044,7 +6044,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy3 } + .party = {.NoItemDefaultMoves = sParty_Cyndy3 } }, [TRAINER_CYNDY_4] = @@ -6058,7 +6058,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy4 } + .party = {.NoItemDefaultMoves = sParty_Cyndy4 } }, [TRAINER_CYNDY_5] = @@ -6072,7 +6072,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy5 } + .party = {.NoItemDefaultMoves = sParty_Cyndy5 } }, [TRAINER_MADELINE_1] = @@ -6086,7 +6086,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline1 } + .party = {.NoItemCustomMoves = sParty_Madeline1 } }, [TRAINER_CLARISSA] = @@ -6100,7 +6100,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Clarissa } + .party = {.NoItemDefaultMoves = sParty_Clarissa } }, [TRAINER_ANGELICA] = @@ -6114,7 +6114,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Angelica } + .party = {.NoItemCustomMoves = sParty_Angelica } }, [TRAINER_MADELINE_2] = @@ -6128,7 +6128,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline2 } + .party = {.NoItemCustomMoves = sParty_Madeline2 } }, [TRAINER_MADELINE_3] = @@ -6142,7 +6142,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline3 } + .party = {.NoItemCustomMoves = sParty_Madeline3 } }, [TRAINER_MADELINE_4] = @@ -6156,7 +6156,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline4 } + .party = {.NoItemCustomMoves = sParty_Madeline4 } }, [TRAINER_MADELINE_5] = @@ -6170,7 +6170,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline5 } + .party = {.NoItemCustomMoves = sParty_Madeline5 } }, [TRAINER_BEVERLY] = @@ -6184,7 +6184,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Beverly } + .party = {.NoItemDefaultMoves = sParty_Beverly } }, [TRAINER_IMANI] = @@ -6198,7 +6198,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Imani } + .party = {.NoItemDefaultMoves = sParty_Imani } }, [TRAINER_KYLA] = @@ -6212,7 +6212,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kyla } + .party = {.NoItemDefaultMoves = sParty_Kyla } }, [TRAINER_DENISE] = @@ -6226,7 +6226,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Denise } + .party = {.NoItemDefaultMoves = sParty_Denise } }, [TRAINER_BETH] = @@ -6240,7 +6240,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Beth } + .party = {.NoItemDefaultMoves = sParty_Beth } }, [TRAINER_TARA] = @@ -6254,7 +6254,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tara } + .party = {.NoItemDefaultMoves = sParty_Tara } }, [TRAINER_MISSY] = @@ -6268,7 +6268,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Missy } + .party = {.NoItemDefaultMoves = sParty_Missy } }, [TRAINER_ALICE] = @@ -6282,7 +6282,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Alice } + .party = {.NoItemDefaultMoves = sParty_Alice } }, [TRAINER_JENNY_1] = @@ -6296,7 +6296,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny1 } + .party = {.NoItemDefaultMoves = sParty_Jenny1 } }, [TRAINER_GRACE] = @@ -6310,7 +6310,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grace } + .party = {.NoItemDefaultMoves = sParty_Grace } }, [TRAINER_TANYA] = @@ -6324,7 +6324,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tanya } + .party = {.NoItemDefaultMoves = sParty_Tanya } }, [TRAINER_SHARON] = @@ -6338,7 +6338,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sharon } + .party = {.NoItemDefaultMoves = sParty_Sharon } }, [TRAINER_NIKKI] = @@ -6352,7 +6352,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nikki } + .party = {.NoItemDefaultMoves = sParty_Nikki } }, [TRAINER_BRENDA] = @@ -6366,7 +6366,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brenda } + .party = {.NoItemDefaultMoves = sParty_Brenda } }, [TRAINER_KATIE] = @@ -6380,7 +6380,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Katie } + .party = {.NoItemDefaultMoves = sParty_Katie } }, [TRAINER_SUSIE] = @@ -6394,7 +6394,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Susie } + .party = {.NoItemDefaultMoves = sParty_Susie } }, [TRAINER_KARA] = @@ -6408,7 +6408,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kara } + .party = {.NoItemDefaultMoves = sParty_Kara } }, [TRAINER_DANA] = @@ -6422,7 +6422,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dana } + .party = {.NoItemDefaultMoves = sParty_Dana } }, [TRAINER_SIENNA] = @@ -6436,7 +6436,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sienna } + .party = {.NoItemDefaultMoves = sParty_Sienna } }, [TRAINER_DEBRA] = @@ -6450,7 +6450,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Debra } + .party = {.NoItemDefaultMoves = sParty_Debra } }, [TRAINER_LINDA] = @@ -6464,7 +6464,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Linda } + .party = {.NoItemDefaultMoves = sParty_Linda } }, [TRAINER_KAYLEE] = @@ -6478,7 +6478,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kaylee } + .party = {.NoItemDefaultMoves = sParty_Kaylee } }, [TRAINER_LAUREL] = @@ -6492,7 +6492,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Laurel } + .party = {.NoItemDefaultMoves = sParty_Laurel } }, [TRAINER_CARLEE] = @@ -6506,7 +6506,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Carlee } + .party = {.NoItemDefaultMoves = sParty_Carlee } }, [TRAINER_JENNY_2] = @@ -6520,7 +6520,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny2 } + .party = {.NoItemDefaultMoves = sParty_Jenny2 } }, [TRAINER_JENNY_3] = @@ -6534,7 +6534,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny3 } + .party = {.NoItemDefaultMoves = sParty_Jenny3 } }, [TRAINER_JENNY_4] = @@ -6548,7 +6548,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny4 } + .party = {.NoItemDefaultMoves = sParty_Jenny4 } }, [TRAINER_JENNY_5] = @@ -6562,7 +6562,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny5 } + .party = {.NoItemDefaultMoves = sParty_Jenny5 } }, [TRAINER_HEIDI] = @@ -6576,7 +6576,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Heidi } + .party = {.NoItemCustomMoves = sParty_Heidi } }, [TRAINER_BECKY] = @@ -6590,7 +6590,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Becky } + .party = {.NoItemCustomMoves = sParty_Becky } }, [TRAINER_CAROL] = @@ -6604,7 +6604,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Carol } + .party = {.NoItemDefaultMoves = sParty_Carol } }, [TRAINER_NANCY] = @@ -6618,7 +6618,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nancy } + .party = {.NoItemDefaultMoves = sParty_Nancy } }, [TRAINER_MARTHA] = @@ -6632,7 +6632,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Martha } + .party = {.NoItemDefaultMoves = sParty_Martha } }, [TRAINER_DIANA_1] = @@ -6646,7 +6646,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana1 } + .party = {.NoItemDefaultMoves = sParty_Diana1 } }, [TRAINER_CEDRIC] = @@ -6660,7 +6660,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Cedric } + .party = {.NoItemCustomMoves = sParty_Cedric } }, [TRAINER_IRENE] = @@ -6674,7 +6674,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Irene } + .party = {.NoItemDefaultMoves = sParty_Irene } }, [TRAINER_DIANA_2] = @@ -6688,7 +6688,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana2 } + .party = {.NoItemDefaultMoves = sParty_Diana2 } }, [TRAINER_DIANA_3] = @@ -6702,7 +6702,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana3 } + .party = {.NoItemDefaultMoves = sParty_Diana3 } }, [TRAINER_DIANA_4] = @@ -6716,7 +6716,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana4 } + .party = {.NoItemDefaultMoves = sParty_Diana4 } }, [TRAINER_DIANA_5] = @@ -6730,7 +6730,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana5 } + .party = {.NoItemDefaultMoves = sParty_Diana5 } }, [TRAINER_AMY_AND_LIV_1] = @@ -6744,7 +6744,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv1 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv1 } }, [TRAINER_AMY_AND_LIV_2] = @@ -6758,7 +6758,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv2 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv2 } }, [TRAINER_GINA_AND_MIA_1] = @@ -6772,7 +6772,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GinaAndMia1 } + .party = {.NoItemDefaultMoves = sParty_GinaAndMia1 } }, [TRAINER_MIU_AND_YUKI] = @@ -6786,7 +6786,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_MiuAndYuki } + .party = {.NoItemDefaultMoves = sParty_MiuAndYuki } }, [TRAINER_AMY_AND_LIV_3] = @@ -6800,7 +6800,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv3 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv3 } }, [TRAINER_GINA_AND_MIA_2] = @@ -6814,7 +6814,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_GinaAndMia2 } + .party = {.NoItemCustomMoves = sParty_GinaAndMia2 } }, [TRAINER_AMY_AND_LIV_4] = @@ -6828,7 +6828,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv4 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv4 } }, [TRAINER_AMY_AND_LIV_5] = @@ -6842,7 +6842,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv5 } + .party = {.NoItemCustomMoves = sParty_AmyAndLiv5 } }, [TRAINER_AMY_AND_LIV_6] = @@ -6856,7 +6856,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv6 } + .party = {.NoItemCustomMoves = sParty_AmyAndLiv6 } }, [TRAINER_HUEY] = @@ -6870,7 +6870,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Huey } + .party = {.NoItemDefaultMoves = sParty_Huey } }, [TRAINER_EDMOND] = @@ -6884,7 +6884,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Edmond } + .party = {.NoItemDefaultMoves = sParty_Edmond } }, [TRAINER_ERNEST_1] = @@ -6898,7 +6898,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest1 } + .party = {.NoItemDefaultMoves = sParty_Ernest1 } }, [TRAINER_DWAYNE] = @@ -6912,7 +6912,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dwayne } + .party = {.NoItemDefaultMoves = sParty_Dwayne } }, [TRAINER_PHILLIP] = @@ -6926,7 +6926,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Phillip } + .party = {.NoItemDefaultMoves = sParty_Phillip } }, [TRAINER_LEONARD] = @@ -6940,7 +6940,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Leonard } + .party = {.NoItemDefaultMoves = sParty_Leonard } }, [TRAINER_DUNCAN] = @@ -6954,7 +6954,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Duncan } + .party = {.NoItemDefaultMoves = sParty_Duncan } }, [TRAINER_ERNEST_2] = @@ -6968,7 +6968,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest2 } + .party = {.NoItemDefaultMoves = sParty_Ernest2 } }, [TRAINER_ERNEST_3] = @@ -6982,7 +6982,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest3 } + .party = {.NoItemDefaultMoves = sParty_Ernest3 } }, [TRAINER_ERNEST_4] = @@ -6996,7 +6996,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest4 } + .party = {.NoItemDefaultMoves = sParty_Ernest4 } }, [TRAINER_ERNEST_5] = @@ -7010,7 +7010,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest5 } + .party = {.NoItemDefaultMoves = sParty_Ernest5 } }, [TRAINER_ELI] = @@ -7024,7 +7024,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Eli } + .party = {.NoItemDefaultMoves = sParty_Eli } }, [TRAINER_ANNIKA] = @@ -7038,7 +7038,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Annika } + .party = {.ItemCustomMoves = sParty_Annika } }, [TRAINER_JAZMYN] = @@ -7052,7 +7052,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jazmyn } + .party = {.NoItemDefaultMoves = sParty_Jazmyn } }, [TRAINER_JONAS] = @@ -7066,7 +7066,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Jonas } + .party = {.NoItemCustomMoves = sParty_Jonas } }, [TRAINER_KAYLEY] = @@ -7080,7 +7080,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Kayley } + .party = {.NoItemCustomMoves = sParty_Kayley } }, [TRAINER_AURON] = @@ -7094,7 +7094,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Auron } + .party = {.NoItemDefaultMoves = sParty_Auron } }, [TRAINER_KELVIN] = @@ -7108,7 +7108,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kelvin } + .party = {.NoItemDefaultMoves = sParty_Kelvin } }, [TRAINER_MARLEY] = @@ -7122,7 +7122,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Marley } + .party = {.ItemCustomMoves = sParty_Marley } }, [TRAINER_REYNA] = @@ -7136,7 +7136,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Reyna } + .party = {.NoItemDefaultMoves = sParty_Reyna } }, [TRAINER_HUDSON] = @@ -7150,7 +7150,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hudson } + .party = {.NoItemDefaultMoves = sParty_Hudson } }, [TRAINER_CONOR] = @@ -7164,7 +7164,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Conor } + .party = {.NoItemDefaultMoves = sParty_Conor } }, [TRAINER_EDWIN_1] = @@ -7178,7 +7178,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin1 } + .party = {.NoItemDefaultMoves = sParty_Edwin1 } }, [TRAINER_HECTOR] = @@ -7192,7 +7192,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hector } + .party = {.NoItemDefaultMoves = sParty_Hector } }, [TRAINER_TABITHA_1] = @@ -7206,7 +7206,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha1 } + .party = {.NoItemDefaultMoves = sParty_Tabitha1 } }, [TRAINER_EDWIN_2] = @@ -7220,7 +7220,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin2 } + .party = {.NoItemDefaultMoves = sParty_Edwin2 } }, [TRAINER_EDWIN_3] = @@ -7234,7 +7234,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin3 } + .party = {.NoItemDefaultMoves = sParty_Edwin3 } }, [TRAINER_EDWIN_4] = @@ -7248,7 +7248,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin4 } + .party = {.NoItemDefaultMoves = sParty_Edwin4 } }, [TRAINER_EDWIN_5] = @@ -7262,7 +7262,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin5 } + .party = {.NoItemDefaultMoves = sParty_Edwin5 } }, [TRAINER_WALLY_1] = @@ -7276,7 +7276,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally1 } + .party = {.NoItemCustomMoves = sParty_Wally1 } }, [TRAINER_BRENDAN_1] = @@ -7290,7 +7290,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan1 } + .party = {.NoItemDefaultMoves = sParty_Brendan1 } }, [TRAINER_BRENDAN_2] = @@ -7304,7 +7304,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan2 } + .party = {.NoItemDefaultMoves = sParty_Brendan2 } }, [TRAINER_BRENDAN_3] = @@ -7318,7 +7318,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan3 } + .party = {.NoItemDefaultMoves = sParty_Brendan3 } }, [TRAINER_BRENDAN_4] = @@ -7332,7 +7332,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan4 } + .party = {.NoItemDefaultMoves = sParty_Brendan4 } }, [TRAINER_BRENDAN_5] = @@ -7346,7 +7346,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan5 } + .party = {.NoItemDefaultMoves = sParty_Brendan5 } }, [TRAINER_BRENDAN_6] = @@ -7360,7 +7360,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan6 } + .party = {.NoItemDefaultMoves = sParty_Brendan6 } }, [TRAINER_BRENDAN_7] = @@ -7374,7 +7374,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan7 } + .party = {.NoItemDefaultMoves = sParty_Brendan7 } }, [TRAINER_BRENDAN_8] = @@ -7388,7 +7388,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan8 } + .party = {.NoItemDefaultMoves = sParty_Brendan8 } }, [TRAINER_BRENDAN_9] = @@ -7402,7 +7402,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan9 } + .party = {.NoItemDefaultMoves = sParty_Brendan9 } }, [TRAINER_MAY_1] = @@ -7416,7 +7416,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May1 } + .party = {.NoItemDefaultMoves = sParty_May1 } }, [TRAINER_MAY_2] = @@ -7430,7 +7430,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May2 } + .party = {.NoItemDefaultMoves = sParty_May2 } }, [TRAINER_MAY_3] = @@ -7444,7 +7444,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May3 } + .party = {.NoItemDefaultMoves = sParty_May3 } }, [TRAINER_MAY_4] = @@ -7458,7 +7458,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May4 } + .party = {.NoItemDefaultMoves = sParty_May4 } }, [TRAINER_MAY_5] = @@ -7472,7 +7472,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May5 } + .party = {.NoItemDefaultMoves = sParty_May5 } }, [TRAINER_MAY_6] = @@ -7486,7 +7486,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May6 } + .party = {.NoItemDefaultMoves = sParty_May6 } }, [TRAINER_MAY_7] = @@ -7500,7 +7500,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May7 } + .party = {.NoItemDefaultMoves = sParty_May7 } }, [TRAINER_MAY_8] = @@ -7514,7 +7514,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May8 } + .party = {.NoItemDefaultMoves = sParty_May8 } }, [TRAINER_MAY_9] = @@ -7528,7 +7528,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May9 } + .party = {.NoItemDefaultMoves = sParty_May9 } }, [TRAINER_ISAAC_1] = @@ -7542,7 +7542,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac1 } + .party = {.NoItemDefaultMoves = sParty_Isaac1 } }, [TRAINER_DAVIS] = @@ -7556,7 +7556,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Davis } + .party = {.NoItemDefaultMoves = sParty_Davis } }, [TRAINER_MITCHELL] = @@ -7570,7 +7570,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Mitchell } + .party = {.NoItemCustomMoves = sParty_Mitchell } }, [TRAINER_ISAAC_2] = @@ -7584,7 +7584,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac2 } + .party = {.NoItemDefaultMoves = sParty_Isaac2 } }, [TRAINER_ISAAC_3] = @@ -7598,7 +7598,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac3 } + .party = {.NoItemDefaultMoves = sParty_Isaac3 } }, [TRAINER_ISAAC_4] = @@ -7612,7 +7612,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac4 } + .party = {.NoItemDefaultMoves = sParty_Isaac4 } }, [TRAINER_ISAAC_5] = @@ -7626,7 +7626,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac5 } + .party = {.NoItemDefaultMoves = sParty_Isaac5 } }, [TRAINER_LYDIA_1] = @@ -7640,7 +7640,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia1 } + .party = {.NoItemDefaultMoves = sParty_Lydia1 } }, [TRAINER_HALLE] = @@ -7654,7 +7654,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Halle } + .party = {.NoItemDefaultMoves = sParty_Halle } }, [TRAINER_GARRISON] = @@ -7668,7 +7668,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Garrison } + .party = {.NoItemDefaultMoves = sParty_Garrison } }, [TRAINER_LYDIA_2] = @@ -7682,7 +7682,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia2 } + .party = {.NoItemDefaultMoves = sParty_Lydia2 } }, [TRAINER_LYDIA_3] = @@ -7696,7 +7696,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia3 } + .party = {.NoItemDefaultMoves = sParty_Lydia3 } }, [TRAINER_LYDIA_4] = @@ -7710,7 +7710,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia4 } + .party = {.NoItemDefaultMoves = sParty_Lydia4 } }, [TRAINER_LYDIA_5] = @@ -7724,7 +7724,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia5 } + .party = {.NoItemDefaultMoves = sParty_Lydia5 } }, [TRAINER_JACKSON_1] = @@ -7738,7 +7738,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson1 } + .party = {.NoItemDefaultMoves = sParty_Jackson1 } }, [TRAINER_LORENZO] = @@ -7752,7 +7752,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Lorenzo } + .party = {.NoItemDefaultMoves = sParty_Lorenzo } }, [TRAINER_SEBASTIAN] = @@ -7766,7 +7766,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sebastian } + .party = {.NoItemDefaultMoves = sParty_Sebastian } }, [TRAINER_JACKSON_2] = @@ -7780,7 +7780,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson2 } + .party = {.NoItemDefaultMoves = sParty_Jackson2 } }, [TRAINER_JACKSON_3] = @@ -7794,7 +7794,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson3 } + .party = {.NoItemDefaultMoves = sParty_Jackson3 } }, [TRAINER_JACKSON_4] = @@ -7808,7 +7808,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson4 } + .party = {.NoItemDefaultMoves = sParty_Jackson4 } }, [TRAINER_JACKSON_5] = @@ -7822,7 +7822,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson5 } + .party = {.NoItemDefaultMoves = sParty_Jackson5 } }, [TRAINER_CATHERINE_1] = @@ -7836,7 +7836,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine1 } + .party = {.NoItemDefaultMoves = sParty_Catherine1 } }, [TRAINER_JENNA] = @@ -7850,7 +7850,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenna } + .party = {.NoItemDefaultMoves = sParty_Jenna } }, [TRAINER_SOPHIA] = @@ -7864,7 +7864,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sophia } + .party = {.NoItemDefaultMoves = sParty_Sophia } }, [TRAINER_CATHERINE_2] = @@ -7878,7 +7878,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine2 } + .party = {.NoItemDefaultMoves = sParty_Catherine2 } }, [TRAINER_CATHERINE_3] = @@ -7892,7 +7892,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine3 } + .party = {.NoItemDefaultMoves = sParty_Catherine3 } }, [TRAINER_CATHERINE_4] = @@ -7906,7 +7906,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine4 } + .party = {.NoItemDefaultMoves = sParty_Catherine4 } }, [TRAINER_CATHERINE_5] = @@ -7920,7 +7920,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine5 } + .party = {.NoItemDefaultMoves = sParty_Catherine5 } }, [TRAINER_JULIO] = @@ -7934,7 +7934,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Julio } + .party = {.NoItemDefaultMoves = sParty_Julio } }, [TRAINER_GRUNT_27] = @@ -7948,7 +7948,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt27 } + .party = {.NoItemDefaultMoves = sParty_Grunt27 } }, [TRAINER_GRUNT_28] = @@ -7962,7 +7962,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt28 } + .party = {.NoItemDefaultMoves = sParty_Grunt28 } }, [TRAINER_GRUNT_29] = @@ -7976,7 +7976,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt29 } + .party = {.NoItemDefaultMoves = sParty_Grunt29 } }, [TRAINER_GRUNT_30] = @@ -7990,7 +7990,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt30 } + .party = {.NoItemDefaultMoves = sParty_Grunt30 } }, [TRAINER_MARC] = @@ -8004,7 +8004,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marc } + .party = {.NoItemDefaultMoves = sParty_Marc } }, [TRAINER_BRENDEN] = @@ -8018,7 +8018,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brenden } + .party = {.NoItemDefaultMoves = sParty_Brenden } }, [TRAINER_LILITH] = @@ -8032,7 +8032,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Lilith } + .party = {.NoItemDefaultMoves = sParty_Lilith } }, [TRAINER_CRISTIAN] = @@ -8046,7 +8046,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristian } + .party = {.NoItemDefaultMoves = sParty_Cristian } }, [TRAINER_SYLVIA] = @@ -8060,7 +8060,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sylvia } + .party = {.NoItemDefaultMoves = sParty_Sylvia } }, [TRAINER_LEONARDO] = @@ -8074,7 +8074,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leonardo } + .party = {.NoItemDefaultMoves = sParty_Leonardo } }, [TRAINER_ATHENA] = @@ -8088,7 +8088,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Athena } + .party = {.ItemCustomMoves = sParty_Athena } }, [TRAINER_HARRISON] = @@ -8102,7 +8102,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Harrison } + .party = {.NoItemDefaultMoves = sParty_Harrison } }, [TRAINER_GRUNT_31] = @@ -8116,7 +8116,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt31 } + .party = {.NoItemDefaultMoves = sParty_Grunt31 } }, [TRAINER_CLARENCE] = @@ -8130,7 +8130,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clarence } + .party = {.NoItemDefaultMoves = sParty_Clarence } }, [TRAINER_TERRY] = @@ -8144,7 +8144,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Terry } + .party = {.NoItemDefaultMoves = sParty_Terry } }, [TRAINER_NATE] = @@ -8158,7 +8158,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nate } + .party = {.NoItemDefaultMoves = sParty_Nate } }, [TRAINER_KATHLEEN] = @@ -8172,7 +8172,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kathleen } + .party = {.NoItemDefaultMoves = sParty_Kathleen } }, [TRAINER_CLIFFORD] = @@ -8186,7 +8186,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clifford } + .party = {.NoItemDefaultMoves = sParty_Clifford } }, [TRAINER_NICHOLAS] = @@ -8200,7 +8200,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicholas } + .party = {.NoItemDefaultMoves = sParty_Nicholas } }, [TRAINER_GRUNT_32] = @@ -8214,7 +8214,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt32 } + .party = {.NoItemDefaultMoves = sParty_Grunt32 } }, [TRAINER_GRUNT_33] = @@ -8228,7 +8228,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt33 } + .party = {.NoItemDefaultMoves = sParty_Grunt33 } }, [TRAINER_GRUNT_34] = @@ -8242,7 +8242,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt34 } + .party = {.NoItemDefaultMoves = sParty_Grunt34 } }, [TRAINER_GRUNT_35] = @@ -8256,7 +8256,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt35 } + .party = {.NoItemDefaultMoves = sParty_Grunt35 } }, [TRAINER_GRUNT_36] = @@ -8270,7 +8270,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt36 } + .party = {.NoItemDefaultMoves = sParty_Grunt36 } }, [TRAINER_MACEY] = @@ -8284,7 +8284,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Macey } + .party = {.NoItemDefaultMoves = sParty_Macey } }, [TRAINER_BRENDAN_10] = @@ -8298,7 +8298,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan10 } + .party = {.NoItemDefaultMoves = sParty_Brendan10 } }, [TRAINER_BRENDAN_11] = @@ -8312,7 +8312,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan11 } + .party = {.NoItemDefaultMoves = sParty_Brendan11 } }, [TRAINER_PAXTON] = @@ -8326,7 +8326,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Paxton } + .party = {.NoItemDefaultMoves = sParty_Paxton } }, [TRAINER_ISABELLA] = @@ -8340,7 +8340,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isabella } + .party = {.NoItemDefaultMoves = sParty_Isabella } }, [TRAINER_GRUNT_37] = @@ -8354,7 +8354,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt37 } + .party = {.NoItemDefaultMoves = sParty_Grunt37 } }, [TRAINER_TABITHA_2] = @@ -8368,7 +8368,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha2 } + .party = {.NoItemDefaultMoves = sParty_Tabitha2 } }, [TRAINER_JONATHAN] = @@ -8382,7 +8382,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jonathan } + .party = {.NoItemDefaultMoves = sParty_Jonathan } }, [TRAINER_BRENDAN_12] = @@ -8396,7 +8396,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan12 } + .party = {.NoItemDefaultMoves = sParty_Brendan12 } }, [TRAINER_MAY_10] = @@ -8410,7 +8410,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May10 } + .party = {.NoItemDefaultMoves = sParty_May10 } }, [TRAINER_MAXIE_1] = @@ -8424,7 +8424,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie1 } + .party = {.NoItemDefaultMoves = sParty_Maxie1 } }, [TRAINER_MAXIE_2] = @@ -8438,7 +8438,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie2 } + .party = {.NoItemDefaultMoves = sParty_Maxie2 } }, [TRAINER_TIANA] = @@ -8452,7 +8452,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tiana } + .party = {.NoItemDefaultMoves = sParty_Tiana } }, [TRAINER_HALEY_1] = @@ -8466,7 +8466,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley1 } + .party = {.NoItemDefaultMoves = sParty_Haley1 } }, [TRAINER_JANICE] = @@ -8480,7 +8480,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Janice } + .party = {.NoItemDefaultMoves = sParty_Janice } }, [TRAINER_VIVI] = @@ -8494,7 +8494,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Vivi } + .party = {.NoItemDefaultMoves = sParty_Vivi } }, [TRAINER_HALEY_2] = @@ -8508,7 +8508,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley2 } + .party = {.NoItemDefaultMoves = sParty_Haley2 } }, [TRAINER_HALEY_3] = @@ -8522,7 +8522,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley3 } + .party = {.NoItemDefaultMoves = sParty_Haley3 } }, [TRAINER_HALEY_4] = @@ -8536,7 +8536,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley4 } + .party = {.NoItemDefaultMoves = sParty_Haley4 } }, [TRAINER_HALEY_5] = @@ -8550,7 +8550,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley5 } + .party = {.NoItemDefaultMoves = sParty_Haley5 } }, [TRAINER_SALLY] = @@ -8564,7 +8564,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sally } + .party = {.NoItemDefaultMoves = sParty_Sally } }, [TRAINER_ROBIN] = @@ -8578,7 +8578,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Robin } + .party = {.NoItemDefaultMoves = sParty_Robin } }, [TRAINER_ANDREA] = @@ -8592,7 +8592,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Andrea } + .party = {.NoItemDefaultMoves = sParty_Andrea } }, [TRAINER_CRISSY] = @@ -8606,7 +8606,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Crissy } + .party = {.NoItemDefaultMoves = sParty_Crissy } }, [TRAINER_RICK] = @@ -8620,7 +8620,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Rick } + .party = {.NoItemDefaultMoves = sParty_Rick } }, [TRAINER_LYLE] = @@ -8634,7 +8634,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Lyle } + .party = {.NoItemDefaultMoves = sParty_Lyle } }, [TRAINER_JOSE] = @@ -8648,7 +8648,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jose } + .party = {.NoItemDefaultMoves = sParty_Jose } }, [TRAINER_DOUG] = @@ -8662,7 +8662,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Doug } + .party = {.NoItemDefaultMoves = sParty_Doug } }, [TRAINER_GREG] = @@ -8676,7 +8676,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Greg } + .party = {.NoItemDefaultMoves = sParty_Greg } }, [TRAINER_KENT] = @@ -8690,7 +8690,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kent } + .party = {.NoItemDefaultMoves = sParty_Kent } }, [TRAINER_JAMES_1] = @@ -8704,7 +8704,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_James1 } + .party = {.NoItemDefaultMoves = sParty_James1 } }, [TRAINER_JAMES_2] = @@ -8718,7 +8718,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_James2 } + .party = {.NoItemDefaultMoves = sParty_James2 } }, [TRAINER_JAMES_3] = @@ -8732,7 +8732,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_James3 } + .party = {.NoItemDefaultMoves = sParty_James3 } }, [TRAINER_JAMES_4] = @@ -8746,7 +8746,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_James4 } + .party = {.NoItemDefaultMoves = sParty_James4 } }, [TRAINER_JAMES_5] = @@ -8760,7 +8760,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_James5 } + .party = {.NoItemDefaultMoves = sParty_James5 } }, [TRAINER_BRICE] = @@ -8774,7 +8774,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brice } + .party = {.NoItemDefaultMoves = sParty_Brice } }, [TRAINER_TRENT_1] = @@ -8788,7 +8788,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent1 } + .party = {.NoItemDefaultMoves = sParty_Trent1 } }, [TRAINER_LENNY] = @@ -8802,7 +8802,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lenny } + .party = {.NoItemDefaultMoves = sParty_Lenny } }, [TRAINER_LUCAS_1] = @@ -8816,7 +8816,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lucas1 } + .party = {.NoItemDefaultMoves = sParty_Lucas1 } }, [TRAINER_ALAN] = @@ -8830,7 +8830,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Alan } + .party = {.NoItemDefaultMoves = sParty_Alan } }, [TRAINER_CLARK] = @@ -8844,7 +8844,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clark } + .party = {.NoItemDefaultMoves = sParty_Clark } }, [TRAINER_ERIC] = @@ -8858,7 +8858,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Eric } + .party = {.NoItemDefaultMoves = sParty_Eric } }, [TRAINER_LUCAS_2] = @@ -8872,7 +8872,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Lucas2 } + .party = {.NoItemCustomMoves = sParty_Lucas2 } }, [TRAINER_MIKE_1] = @@ -8886,7 +8886,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Mike1 } + .party = {.NoItemCustomMoves = sParty_Mike1 } }, [TRAINER_MIKE_2] = @@ -8900,7 +8900,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Mike2 } + .party = {.NoItemDefaultMoves = sParty_Mike2 } }, [TRAINER_TRENT_2] = @@ -8914,7 +8914,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent2 } + .party = {.NoItemDefaultMoves = sParty_Trent2 } }, [TRAINER_TRENT_3] = @@ -8928,7 +8928,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent3 } + .party = {.NoItemDefaultMoves = sParty_Trent3 } }, [TRAINER_TRENT_4] = @@ -8942,7 +8942,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent4 } + .party = {.NoItemDefaultMoves = sParty_Trent4 } }, [TRAINER_TRENT_5] = @@ -8956,7 +8956,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent5 } + .party = {.NoItemDefaultMoves = sParty_Trent5 } }, [TRAINER_DEZ_AND_LUKE] = @@ -8970,7 +8970,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_DezAndLuke } + .party = {.NoItemDefaultMoves = sParty_DezAndLuke } }, [TRAINER_LEA_AND_JED] = @@ -8984,7 +8984,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LeaAndJed } + .party = {.NoItemDefaultMoves = sParty_LeaAndJed } }, [TRAINER_KIRA_AND_DAN_1] = @@ -8998,7 +8998,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan1 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan1 } }, [TRAINER_KIRA_AND_DAN_2] = @@ -9012,7 +9012,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan2 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan2 } }, [TRAINER_KIRA_AND_DAN_3] = @@ -9026,7 +9026,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan3 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan3 } }, [TRAINER_KIRA_AND_DAN_4] = @@ -9040,7 +9040,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan4 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan4 } }, [TRAINER_KIRA_AND_DAN_5] = @@ -9054,7 +9054,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan5 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan5 } }, [TRAINER_JOHANNA] = @@ -9068,7 +9068,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Johanna } + .party = {.NoItemDefaultMoves = sParty_Johanna } }, [TRAINER_GERALD] = @@ -9082,7 +9082,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Gerald } + .party = {.NoItemCustomMoves = sParty_Gerald } }, [TRAINER_VIVIAN] = @@ -9096,7 +9096,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Vivian } + .party = {.NoItemCustomMoves = sParty_Vivian } }, [TRAINER_DANIELLE] = @@ -9110,7 +9110,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Danielle } + .party = {.NoItemCustomMoves = sParty_Danielle } }, [TRAINER_HIDEO] = @@ -9124,7 +9124,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Hideo } + .party = {.NoItemCustomMoves = sParty_Hideo } }, [TRAINER_KEIGO] = @@ -9138,7 +9138,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Keigo } + .party = {.NoItemCustomMoves = sParty_Keigo } }, [TRAINER_RILEY] = @@ -9152,7 +9152,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Riley } + .party = {.NoItemCustomMoves = sParty_Riley } }, [TRAINER_FLINT] = @@ -9166,7 +9166,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Flint } + .party = {.NoItemDefaultMoves = sParty_Flint } }, [TRAINER_ASHLEY] = @@ -9180,7 +9180,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ashley } + .party = {.NoItemDefaultMoves = sParty_Ashley } }, [TRAINER_WALLY_2] = @@ -9194,7 +9194,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Wally2 } + .party = {.NoItemDefaultMoves = sParty_Wally2 } }, [TRAINER_WALLY_3] = @@ -9208,7 +9208,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally3 } + .party = {.NoItemCustomMoves = sParty_Wally3 } }, [TRAINER_WALLY_4] = @@ -9222,7 +9222,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally4 } + .party = {.NoItemCustomMoves = sParty_Wally4 } }, [TRAINER_WALLY_5] = @@ -9236,7 +9236,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally5 } + .party = {.NoItemCustomMoves = sParty_Wally5 } }, [TRAINER_WALLY_6] = @@ -9250,7 +9250,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally6 } + .party = {.NoItemCustomMoves = sParty_Wally6 } }, [TRAINER_BRENDAN_13] = @@ -9264,7 +9264,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan13 } + .party = {.NoItemDefaultMoves = sParty_Brendan13 } }, [TRAINER_BRENDAN_14] = @@ -9278,7 +9278,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan14 } + .party = {.NoItemDefaultMoves = sParty_Brendan14 } }, [TRAINER_BRENDAN_15] = @@ -9292,7 +9292,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan15 } + .party = {.NoItemDefaultMoves = sParty_Brendan15 } }, [TRAINER_MAY_11] = @@ -9306,7 +9306,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May11 } + .party = {.NoItemDefaultMoves = sParty_May11 } }, [TRAINER_MAY_12] = @@ -9320,7 +9320,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May12 } + .party = {.NoItemDefaultMoves = sParty_May12 } }, [TRAINER_MAY_13] = @@ -9334,7 +9334,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May13 } + .party = {.NoItemDefaultMoves = sParty_May13 } }, [TRAINER_JONAH] = @@ -9348,7 +9348,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jonah } + .party = {.NoItemDefaultMoves = sParty_Jonah } }, [TRAINER_HENRY] = @@ -9362,7 +9362,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Henry } + .party = {.NoItemDefaultMoves = sParty_Henry } }, [TRAINER_ROGER] = @@ -9376,7 +9376,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Roger } + .party = {.NoItemDefaultMoves = sParty_Roger } }, [TRAINER_ALEXA] = @@ -9390,7 +9390,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alexa } + .party = {.NoItemDefaultMoves = sParty_Alexa } }, [TRAINER_RUBEN] = @@ -9404,7 +9404,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ruben } + .party = {.NoItemDefaultMoves = sParty_Ruben } }, [TRAINER_KOJI_1] = @@ -9418,7 +9418,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji1 } + .party = {.NoItemDefaultMoves = sParty_Koji1 } }, [TRAINER_WAYNE] = @@ -9432,7 +9432,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wayne } + .party = {.NoItemDefaultMoves = sParty_Wayne } }, [TRAINER_AIDAN] = @@ -9446,7 +9446,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Aidan } + .party = {.NoItemDefaultMoves = sParty_Aidan } }, [TRAINER_REED] = @@ -9460,7 +9460,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Reed } + .party = {.NoItemDefaultMoves = sParty_Reed } }, [TRAINER_TISHA] = @@ -9474,7 +9474,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tisha } + .party = {.NoItemDefaultMoves = sParty_Tisha } }, [TRAINER_TORI_AND_TIA] = @@ -9488,7 +9488,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_ToriAndTia } + .party = {.NoItemDefaultMoves = sParty_ToriAndTia } }, [TRAINER_KIM_AND_IRIS] = @@ -9502,7 +9502,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_KimAndIris } + .party = {.NoItemCustomMoves = sParty_KimAndIris } }, [TRAINER_TYRA_AND_IVY] = @@ -9516,7 +9516,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_TyraAndIvy } + .party = {.NoItemCustomMoves = sParty_TyraAndIvy } }, [TRAINER_MEL_AND_PAUL] = @@ -9530,7 +9530,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_MelAndPaul } + .party = {.NoItemCustomMoves = sParty_MelAndPaul } }, [TRAINER_JOHN_AND_JAY_1] = @@ -9544,7 +9544,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay1 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay1 } }, [TRAINER_JOHN_AND_JAY_2] = @@ -9558,7 +9558,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay2 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay2 } }, [TRAINER_JOHN_AND_JAY_3] = @@ -9572,7 +9572,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay3 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay3 } }, [TRAINER_JOHN_AND_JAY_4] = @@ -9586,7 +9586,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay4 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay4 } }, [TRAINER_JOHN_AND_JAY_5] = @@ -9600,7 +9600,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay5 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay5 } }, [TRAINER_RELI_AND_IAN] = @@ -9614,7 +9614,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_ReliAndIan } + .party = {.NoItemDefaultMoves = sParty_ReliAndIan } }, [TRAINER_LILA_AND_ROY_1] = @@ -9628,7 +9628,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy1 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy1 } }, [TRAINER_LILA_AND_ROY_2] = @@ -9642,7 +9642,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy2 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy2 } }, [TRAINER_LILA_AND_ROY_3] = @@ -9656,7 +9656,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy3 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy3 } }, [TRAINER_LILA_AND_ROY_4] = @@ -9670,7 +9670,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy4 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy4 } }, [TRAINER_LILA_AND_ROY_5] = @@ -9684,7 +9684,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy5 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy5 } }, [TRAINER_LISA_AND_RAY] = @@ -9698,7 +9698,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LisaAndRay } + .party = {.NoItemDefaultMoves = sParty_LisaAndRay } }, [TRAINER_CHRIS] = @@ -9712,7 +9712,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Chris } + .party = {.NoItemDefaultMoves = sParty_Chris } }, [TRAINER_DAWSON] = @@ -9726,7 +9726,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Dawson } + .party = {.ItemDefaultMoves = sParty_Dawson } }, [TRAINER_SARAH] = @@ -9740,7 +9740,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Sarah } + .party = {.ItemDefaultMoves = sParty_Sarah } }, [TRAINER_DARIAN] = @@ -9754,7 +9754,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Darian } + .party = {.NoItemDefaultMoves = sParty_Darian } }, [TRAINER_HAILEY] = @@ -9768,7 +9768,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hailey } + .party = {.NoItemDefaultMoves = sParty_Hailey } }, [TRAINER_CHANDLER] = @@ -9782,7 +9782,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chandler } + .party = {.NoItemDefaultMoves = sParty_Chandler } }, [TRAINER_KALEB] = @@ -9796,7 +9796,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Kaleb } + .party = {.ItemDefaultMoves = sParty_Kaleb } }, [TRAINER_JOSEPH] = @@ -9810,7 +9810,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Joseph } + .party = {.NoItemDefaultMoves = sParty_Joseph } }, [TRAINER_ALYSSA] = @@ -9824,7 +9824,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Alyssa } + .party = {.NoItemDefaultMoves = sParty_Alyssa } }, [TRAINER_MARCOS] = @@ -9838,7 +9838,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Marcos } + .party = {.NoItemDefaultMoves = sParty_Marcos } }, [TRAINER_RHETT] = @@ -9852,7 +9852,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rhett } + .party = {.NoItemDefaultMoves = sParty_Rhett } }, [TRAINER_TYRON] = @@ -9866,7 +9866,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tyron } + .party = {.NoItemDefaultMoves = sParty_Tyron } }, [TRAINER_CELINA] = @@ -9880,7 +9880,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Celina } + .party = {.NoItemDefaultMoves = sParty_Celina } }, [TRAINER_BIANCA] = @@ -9894,7 +9894,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Bianca } + .party = {.NoItemDefaultMoves = sParty_Bianca } }, [TRAINER_HAYDEN] = @@ -9908,7 +9908,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hayden } + .party = {.NoItemDefaultMoves = sParty_Hayden } }, [TRAINER_SOPHIE] = @@ -9922,7 +9922,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sophie } + .party = {.NoItemDefaultMoves = sParty_Sophie } }, [TRAINER_COBY] = @@ -9936,7 +9936,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Coby } + .party = {.NoItemDefaultMoves = sParty_Coby } }, [TRAINER_LAWRENCE] = @@ -9950,7 +9950,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lawrence } + .party = {.NoItemDefaultMoves = sParty_Lawrence } }, [TRAINER_WYATT] = @@ -9964,7 +9964,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Wyatt } + .party = {.NoItemDefaultMoves = sParty_Wyatt } }, [TRAINER_ANGELINA] = @@ -9978,7 +9978,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Angelina } + .party = {.NoItemDefaultMoves = sParty_Angelina } }, [TRAINER_KAI] = @@ -9992,7 +9992,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kai } + .party = {.NoItemDefaultMoves = sParty_Kai } }, [TRAINER_CHARLOTTE] = @@ -10006,7 +10006,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Charlotte } + .party = {.NoItemDefaultMoves = sParty_Charlotte } }, [TRAINER_DEANDRE] = @@ -10020,7 +10020,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Deandre } + .party = {.NoItemDefaultMoves = sParty_Deandre } }, [TRAINER_GRUNT_38] = @@ -10034,7 +10034,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt38 } + .party = {.NoItemDefaultMoves = sParty_Grunt38 } }, [TRAINER_GRUNT_39] = @@ -10048,7 +10048,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt39 } + .party = {.NoItemDefaultMoves = sParty_Grunt39 } }, [TRAINER_GRUNT_40] = @@ -10062,7 +10062,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt40 } + .party = {.NoItemDefaultMoves = sParty_Grunt40 } }, [TRAINER_GRUNT_41] = @@ -10076,7 +10076,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt41 } + .party = {.NoItemDefaultMoves = sParty_Grunt41 } }, [TRAINER_GRUNT_42] = @@ -10090,7 +10090,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt42 } + .party = {.NoItemDefaultMoves = sParty_Grunt42 } }, [TRAINER_GRUNT_43] = @@ -10104,7 +10104,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt43 } + .party = {.NoItemDefaultMoves = sParty_Grunt43 } }, [TRAINER_GRUNT_44] = @@ -10118,7 +10118,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt44 } + .party = {.NoItemDefaultMoves = sParty_Grunt44 } }, [TRAINER_GRUNT_45] = @@ -10132,7 +10132,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt45 } + .party = {.NoItemDefaultMoves = sParty_Grunt45 } }, [TRAINER_GRUNT_46] = @@ -10146,7 +10146,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt46 } + .party = {.NoItemDefaultMoves = sParty_Grunt46 } }, [TRAINER_GRUNT_47] = @@ -10160,7 +10160,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt47 } + .party = {.NoItemDefaultMoves = sParty_Grunt47 } }, [TRAINER_GRUNT_48] = @@ -10174,7 +10174,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt48 } + .party = {.NoItemDefaultMoves = sParty_Grunt48 } }, [TRAINER_GRUNT_49] = @@ -10188,7 +10188,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt49 } + .party = {.NoItemDefaultMoves = sParty_Grunt49 } }, [TRAINER_GRUNT_50] = @@ -10202,7 +10202,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt50 } + .party = {.NoItemDefaultMoves = sParty_Grunt50 } }, [TRAINER_GRUNT_51] = @@ -10216,7 +10216,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt51 } + .party = {.NoItemDefaultMoves = sParty_Grunt51 } }, [TRAINER_GRUNT_52] = @@ -10230,7 +10230,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt52 } + .party = {.NoItemDefaultMoves = sParty_Grunt52 } }, [TRAINER_GRUNT_53] = @@ -10244,7 +10244,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt53 } + .party = {.NoItemDefaultMoves = sParty_Grunt53 } }, [TRAINER_TABITHA_3] = @@ -10258,7 +10258,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha3 } + .party = {.NoItemDefaultMoves = sParty_Tabitha3 } }, [TRAINER_DARCY] = @@ -10272,7 +10272,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Darcy } + .party = {.NoItemDefaultMoves = sParty_Darcy } }, [TRAINER_MAXIE_3] = @@ -10286,7 +10286,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie3 } + .party = {.NoItemDefaultMoves = sParty_Maxie3 } }, [TRAINER_PETE] = @@ -10300,7 +10300,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Pete } + .party = {.NoItemDefaultMoves = sParty_Pete } }, [TRAINER_ISABELLE] = @@ -10314,7 +10314,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isabelle } + .party = {.NoItemDefaultMoves = sParty_Isabelle } }, [TRAINER_ANDRES_1] = @@ -10328,7 +10328,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres1 } + .party = {.NoItemDefaultMoves = sParty_Andres1 } }, [TRAINER_JOSUE] = @@ -10342,7 +10342,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Josue } + .party = {.NoItemDefaultMoves = sParty_Josue } }, [TRAINER_CAMRON] = @@ -10356,7 +10356,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Camron } + .party = {.NoItemDefaultMoves = sParty_Camron } }, [TRAINER_CORY_1] = @@ -10370,7 +10370,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory1 } + .party = {.NoItemDefaultMoves = sParty_Cory1 } }, [TRAINER_CAROLINA] = @@ -10384,7 +10384,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Carolina } + .party = {.NoItemDefaultMoves = sParty_Carolina } }, [TRAINER_ELIJAH] = @@ -10398,7 +10398,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Elijah } + .party = {.NoItemDefaultMoves = sParty_Elijah } }, [TRAINER_CELIA] = @@ -10412,7 +10412,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Celia } + .party = {.NoItemDefaultMoves = sParty_Celia } }, [TRAINER_BRYAN] = @@ -10426,7 +10426,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bryan } + .party = {.NoItemDefaultMoves = sParty_Bryan } }, [TRAINER_BRANDEN] = @@ -10440,7 +10440,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Branden } + .party = {.NoItemDefaultMoves = sParty_Branden } }, [TRAINER_BRYANT] = @@ -10454,7 +10454,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bryant } + .party = {.NoItemDefaultMoves = sParty_Bryant } }, [TRAINER_SHAYLA] = @@ -10468,7 +10468,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shayla } + .party = {.NoItemDefaultMoves = sParty_Shayla } }, [TRAINER_KYRA] = @@ -10482,7 +10482,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kyra } + .party = {.NoItemDefaultMoves = sParty_Kyra } }, [TRAINER_JAIDEN] = @@ -10496,7 +10496,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jaiden } + .party = {.NoItemDefaultMoves = sParty_Jaiden } }, [TRAINER_ALIX] = @@ -10510,7 +10510,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alix } + .party = {.NoItemDefaultMoves = sParty_Alix } }, [TRAINER_HELENE] = @@ -10524,7 +10524,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Helene } + .party = {.NoItemDefaultMoves = sParty_Helene } }, [TRAINER_MARLENE] = @@ -10538,7 +10538,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marlene } + .party = {.NoItemDefaultMoves = sParty_Marlene } }, [TRAINER_DEVAN] = @@ -10552,7 +10552,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Devan } + .party = {.NoItemDefaultMoves = sParty_Devan } }, [TRAINER_JOHNSON] = @@ -10566,7 +10566,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Johnson } + .party = {.NoItemDefaultMoves = sParty_Johnson } }, [TRAINER_MELINA] = @@ -10580,7 +10580,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Melina } + .party = {.NoItemDefaultMoves = sParty_Melina } }, [TRAINER_BRANDI] = @@ -10594,7 +10594,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brandi } + .party = {.NoItemDefaultMoves = sParty_Brandi } }, [TRAINER_AISHA] = @@ -10608,7 +10608,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Aisha } + .party = {.NoItemDefaultMoves = sParty_Aisha } }, [TRAINER_MAKAYLA] = @@ -10622,7 +10622,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Makayla } + .party = {.NoItemDefaultMoves = sParty_Makayla } }, [TRAINER_FABIAN] = @@ -10636,7 +10636,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Fabian } + .party = {.NoItemDefaultMoves = sParty_Fabian } }, [TRAINER_DAYTON] = @@ -10650,7 +10650,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Dayton } + .party = {.NoItemDefaultMoves = sParty_Dayton } }, [TRAINER_RACHEL] = @@ -10664,7 +10664,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rachel } + .party = {.NoItemDefaultMoves = sParty_Rachel } }, [TRAINER_LEONEL] = @@ -10678,7 +10678,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Leonel } + .party = {.NoItemCustomMoves = sParty_Leonel } }, [TRAINER_CALLIE] = @@ -10692,7 +10692,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Callie } + .party = {.NoItemDefaultMoves = sParty_Callie } }, [TRAINER_CALE] = @@ -10706,7 +10706,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cale } + .party = {.NoItemDefaultMoves = sParty_Cale } }, [TRAINER_MYLES] = @@ -10720,7 +10720,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Myles } + .party = {.NoItemDefaultMoves = sParty_Myles } }, [TRAINER_PAT] = @@ -10734,7 +10734,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Pat } + .party = {.NoItemDefaultMoves = sParty_Pat } }, [TRAINER_CRISTIN_1] = @@ -10748,7 +10748,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin1 } + .party = {.NoItemDefaultMoves = sParty_Cristin1 } }, [TRAINER_MAY_14] = @@ -10762,7 +10762,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May14 } + .party = {.NoItemDefaultMoves = sParty_May14 } }, [TRAINER_MAY_15] = @@ -10776,7 +10776,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May15 } + .party = {.NoItemDefaultMoves = sParty_May15 } }, [TRAINER_ROXANNE_2] = @@ -10790,7 +10790,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne2 } + .party = {.ItemCustomMoves = sParty_Roxanne2 } }, [TRAINER_ROXANNE_3] = @@ -10804,7 +10804,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne3 } + .party = {.ItemCustomMoves = sParty_Roxanne3 } }, [TRAINER_ROXANNE_4] = @@ -10818,7 +10818,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne4 } + .party = {.ItemCustomMoves = sParty_Roxanne4 } }, [TRAINER_ROXANNE_5] = @@ -10832,7 +10832,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne5 } + .party = {.ItemCustomMoves = sParty_Roxanne5 } }, [TRAINER_BRAWLY_2] = @@ -10846,7 +10846,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Brawly2 } + .party = {.ItemCustomMoves = sParty_Brawly2 } }, [TRAINER_BRAWLY_3] = @@ -10860,7 +10860,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Brawly3 } + .party = {.ItemCustomMoves = sParty_Brawly3 } }, [TRAINER_BRAWLY_4] = @@ -10874,7 +10874,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Brawly4 } + .party = {.ItemCustomMoves = sParty_Brawly4 } }, [TRAINER_BRAWLY_5] = @@ -10888,7 +10888,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Brawly5 } + .party = {.ItemCustomMoves = sParty_Brawly5 } }, [TRAINER_WATTSON_2] = @@ -10902,7 +10902,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Wattson2 } + .party = {.ItemCustomMoves = sParty_Wattson2 } }, [TRAINER_WATTSON_3] = @@ -10916,7 +10916,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Wattson3 } + .party = {.ItemCustomMoves = sParty_Wattson3 } }, [TRAINER_WATTSON_4] = @@ -10930,7 +10930,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Wattson4 } + .party = {.ItemCustomMoves = sParty_Wattson4 } }, [TRAINER_WATTSON_5] = @@ -10944,7 +10944,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Wattson5 } + .party = {.ItemCustomMoves = sParty_Wattson5 } }, [TRAINER_FLANNERY_2] = @@ -10958,7 +10958,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Flannery2 } + .party = {.ItemCustomMoves = sParty_Flannery2 } }, [TRAINER_FLANNERY_3] = @@ -10972,7 +10972,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Flannery3 } + .party = {.ItemCustomMoves = sParty_Flannery3 } }, [TRAINER_FLANNERY_4] = @@ -10986,7 +10986,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Flannery4 } + .party = {.ItemCustomMoves = sParty_Flannery4 } }, [TRAINER_FLANNERY_5] = @@ -11000,7 +11000,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Flannery5 } + .party = {.ItemCustomMoves = sParty_Flannery5 } }, [TRAINER_NORMAN_2] = @@ -11014,7 +11014,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Norman2 } + .party = {.ItemCustomMoves = sParty_Norman2 } }, [TRAINER_NORMAN_3] = @@ -11028,7 +11028,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Norman3 } + .party = {.ItemCustomMoves = sParty_Norman3 } }, [TRAINER_NORMAN_4] = @@ -11042,7 +11042,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Norman4 } + .party = {.ItemCustomMoves = sParty_Norman4 } }, [TRAINER_NORMAN_5] = @@ -11056,7 +11056,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Norman5 } + .party = {.ItemCustomMoves = sParty_Norman5 } }, [TRAINER_WINONA_2] = @@ -11070,7 +11070,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Winona2 } + .party = {.ItemCustomMoves = sParty_Winona2 } }, [TRAINER_WINONA_3] = @@ -11084,7 +11084,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona3 } + .party = {.ItemCustomMoves = sParty_Winona3 } }, [TRAINER_WINONA_4] = @@ -11098,7 +11098,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona4 } + .party = {.ItemCustomMoves = sParty_Winona4 } }, [TRAINER_WINONA_5] = @@ -11112,7 +11112,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona5 } + .party = {.ItemCustomMoves = sParty_Winona5 } }, [TRAINER_TATE_AND_LIZA_2] = @@ -11126,7 +11126,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza2 } + .party = {.ItemCustomMoves = sParty_TateAndLiza2 } }, [TRAINER_TATE_AND_LIZA_3] = @@ -11140,7 +11140,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza3 } + .party = {.ItemCustomMoves = sParty_TateAndLiza3 } }, [TRAINER_TATE_AND_LIZA_4] = @@ -11154,7 +11154,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza4 } + .party = {.ItemCustomMoves = sParty_TateAndLiza4 } }, [TRAINER_TATE_AND_LIZA_5] = @@ -11168,7 +11168,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza5 } + .party = {.ItemCustomMoves = sParty_TateAndLiza5 } }, [TRAINER_JUAN_2] = @@ -11182,7 +11182,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan2 } + .party = {.ItemCustomMoves = sParty_Juan2 } }, [TRAINER_JUAN_3] = @@ -11196,7 +11196,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan3 } + .party = {.ItemCustomMoves = sParty_Juan3 } }, [TRAINER_JUAN_4] = @@ -11210,7 +11210,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Juan4 } + .party = {.ItemCustomMoves = sParty_Juan4 } }, [TRAINER_JUAN_5] = @@ -11224,7 +11224,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Juan5 } + .party = {.ItemCustomMoves = sParty_Juan5 } }, [TRAINER_ANGELO] = @@ -11238,7 +11238,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Angelo } + .party = {.ItemCustomMoves = sParty_Angelo } }, [TRAINER_DARIUS] = @@ -11252,7 +11252,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Darius } + .party = {.NoItemDefaultMoves = sParty_Darius } }, [TRAINER_STEVEN] = @@ -11266,7 +11266,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Steven } + .party = {.ItemCustomMoves = sParty_Steven } }, [TRAINER_ANABEL] = @@ -11280,7 +11280,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Anabel } + .party = {.NoItemDefaultMoves = sParty_Anabel } }, [TRAINER_TUCKER] = @@ -11294,7 +11294,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tucker } + .party = {.NoItemDefaultMoves = sParty_Tucker } }, [TRAINER_SPENSER] = @@ -11308,7 +11308,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Spenser } + .party = {.NoItemDefaultMoves = sParty_Spenser } }, [TRAINER_GRETA] = @@ -11322,7 +11322,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Greta } + .party = {.NoItemDefaultMoves = sParty_Greta } }, [TRAINER_NOLAND] = @@ -11336,7 +11336,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Noland } + .party = {.NoItemDefaultMoves = sParty_Noland } }, [TRAINER_LUCY] = @@ -11350,7 +11350,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Lucy } + .party = {.NoItemDefaultMoves = sParty_Lucy } }, [TRAINER_BRANDON] = @@ -11364,7 +11364,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brandon } + .party = {.NoItemDefaultMoves = sParty_Brandon } }, [TRAINER_ANDRES_2] = @@ -11378,7 +11378,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres2 } + .party = {.NoItemDefaultMoves = sParty_Andres2 } }, [TRAINER_ANDRES_3] = @@ -11392,7 +11392,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres3 } + .party = {.NoItemDefaultMoves = sParty_Andres3 } }, [TRAINER_ANDRES_4] = @@ -11406,7 +11406,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres4 } + .party = {.NoItemDefaultMoves = sParty_Andres4 } }, [TRAINER_ANDRES_5] = @@ -11420,7 +11420,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres5 } + .party = {.NoItemDefaultMoves = sParty_Andres5 } }, [TRAINER_CORY_2] = @@ -11434,7 +11434,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory2 } + .party = {.NoItemDefaultMoves = sParty_Cory2 } }, [TRAINER_CORY_3] = @@ -11448,7 +11448,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory3 } + .party = {.NoItemDefaultMoves = sParty_Cory3 } }, [TRAINER_CORY_4] = @@ -11462,7 +11462,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory4 } + .party = {.NoItemDefaultMoves = sParty_Cory4 } }, [TRAINER_CORY_5] = @@ -11476,7 +11476,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory5 } + .party = {.NoItemDefaultMoves = sParty_Cory5 } }, [TRAINER_PABLO_2] = @@ -11490,7 +11490,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo2 } + .party = {.NoItemDefaultMoves = sParty_Pablo2 } }, [TRAINER_PABLO_3] = @@ -11504,7 +11504,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo3 } + .party = {.NoItemDefaultMoves = sParty_Pablo3 } }, [TRAINER_PABLO_4] = @@ -11518,7 +11518,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo4 } + .party = {.NoItemDefaultMoves = sParty_Pablo4 } }, [TRAINER_PABLO_5] = @@ -11532,7 +11532,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo5 } + .party = {.NoItemDefaultMoves = sParty_Pablo5 } }, [TRAINER_KOJI_2] = @@ -11546,7 +11546,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji2 } + .party = {.NoItemDefaultMoves = sParty_Koji2 } }, [TRAINER_KOJI_3] = @@ -11560,7 +11560,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji3 } + .party = {.NoItemDefaultMoves = sParty_Koji3 } }, [TRAINER_KOJI_4] = @@ -11574,7 +11574,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji4 } + .party = {.NoItemDefaultMoves = sParty_Koji4 } }, [TRAINER_KOJI_5] = @@ -11588,7 +11588,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji5 } + .party = {.NoItemDefaultMoves = sParty_Koji5 } }, [TRAINER_CRISTIN_2] = @@ -11602,7 +11602,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin2 } + .party = {.NoItemDefaultMoves = sParty_Cristin2 } }, [TRAINER_CRISTIN_3] = @@ -11616,7 +11616,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin3 } + .party = {.NoItemDefaultMoves = sParty_Cristin3 } }, [TRAINER_CRISTIN_4] = @@ -11630,7 +11630,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin4 } + .party = {.NoItemDefaultMoves = sParty_Cristin4 } }, [TRAINER_CRISTIN_5] = @@ -11644,7 +11644,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin5 } + .party = {.NoItemDefaultMoves = sParty_Cristin5 } }, [TRAINER_FERNANDO_2] = @@ -11658,7 +11658,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando2 } + .party = {.NoItemDefaultMoves = sParty_Fernando2 } }, [TRAINER_FERNANDO_3] = @@ -11672,7 +11672,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando3 } + .party = {.NoItemDefaultMoves = sParty_Fernando3 } }, [TRAINER_FERNANDO_4] = @@ -11686,7 +11686,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando4 } + .party = {.NoItemDefaultMoves = sParty_Fernando4 } }, [TRAINER_FERNANDO_5] = @@ -11700,7 +11700,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando5 } + .party = {.NoItemDefaultMoves = sParty_Fernando5 } }, [TRAINER_SAWYER_2] = @@ -11714,7 +11714,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer2 } + .party = {.NoItemDefaultMoves = sParty_Sawyer2 } }, [TRAINER_SAWYER_3] = @@ -11728,7 +11728,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer3 } + .party = {.NoItemDefaultMoves = sParty_Sawyer3 } }, [TRAINER_SAWYER_4] = @@ -11742,7 +11742,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer4 } + .party = {.NoItemDefaultMoves = sParty_Sawyer4 } }, [TRAINER_SAWYER_5] = @@ -11756,7 +11756,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer5 } + .party = {.NoItemDefaultMoves = sParty_Sawyer5 } }, [TRAINER_GABRIELLE_2] = @@ -11770,7 +11770,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle2 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle2 } }, [TRAINER_GABRIELLE_3] = @@ -11784,7 +11784,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle3 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle3 } }, [TRAINER_GABRIELLE_4] = @@ -11798,7 +11798,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle4 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle4 } }, [TRAINER_GABRIELLE_5] = @@ -11812,7 +11812,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle5 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle5 } }, [TRAINER_THALIA_2] = @@ -11826,7 +11826,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia2 } + .party = {.NoItemDefaultMoves = sParty_Thalia2 } }, [TRAINER_THALIA_3] = @@ -11840,7 +11840,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia3 } + .party = {.NoItemDefaultMoves = sParty_Thalia3 } }, [TRAINER_THALIA_4] = @@ -11854,7 +11854,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia4 } + .party = {.NoItemDefaultMoves = sParty_Thalia4 } }, [TRAINER_THALIA_5] = @@ -11868,7 +11868,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia5 } + .party = {.NoItemDefaultMoves = sParty_Thalia5 } }, [TRAINER_MARIELA] = @@ -11882,7 +11882,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Mariela } + .party = {.NoItemDefaultMoves = sParty_Mariela } }, [TRAINER_ALVARO] = @@ -11896,7 +11896,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alvaro } + .party = {.NoItemDefaultMoves = sParty_Alvaro } }, [TRAINER_EVERETT] = @@ -11910,7 +11910,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Everett } + .party = {.NoItemDefaultMoves = sParty_Everett } }, [TRAINER_RED] = @@ -11924,7 +11924,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Red } + .party = {.NoItemDefaultMoves = sParty_Red } }, [TRAINER_LEAF] = @@ -11938,7 +11938,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leaf } + .party = {.NoItemDefaultMoves = sParty_Leaf } }, [TRAINER_BRENDAN_16] = @@ -11952,7 +11952,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan16 } + .party = {.NoItemDefaultMoves = sParty_Brendan16 } }, [TRAINER_MAY_16] = @@ -11966,6 +11966,6 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May16 } + .party = {.NoItemDefaultMoves = sParty_May16 } }, }; From b0223f691fcc83c18b6ba8df5140d907939b04cf Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 4 Apr 2019 23:53:06 +0200 Subject: [PATCH 59/84] Clean up data headers --- include/battle.h | 65 +-------------------- include/data.h | 60 ++++++++++++++++++- include/field_effect.h | 4 +- include/field_specials.h | 3 + include/pokemon_summary_screen.h | 2 + src/apprentice.c | 2 +- src/battle_ai_script_commands.c | 3 +- src/battle_anim_effects_3.c | 4 +- src/battle_anim_mons.c | 7 +-- src/battle_controller_link_opponent.c | 4 +- src/battle_controller_link_partner.c | 5 +- src/battle_controller_opponent.c | 4 +- src/battle_controller_player.c | 5 +- src/battle_controller_player_partner.c | 5 +- src/battle_controller_recorded_opponent.c | 4 +- src/battle_controller_recorded_player.c | 5 +- src/battle_controller_safari.c | 4 +- src/battle_controller_wally.c | 4 +- src/battle_dome.c | 5 +- src/battle_factory_screen.c | 2 +- src/battle_gfx_sfx_util.c | 12 +--- src/battle_interface.c | 5 +- src/battle_main.c | 2 +- src/battle_message.c | 3 +- src/battle_tower.c | 2 +- src/battle_util.c | 4 +- src/bike.c | 5 +- src/cable_club.c | 2 +- src/contest.c | 6 +- src/contest_link_80F57C4.c | 2 +- src/contest_painting.c | 5 +- src/data.c | 2 +- src/data/pokemon_graphics/footprint_table.h | 2 +- src/data/pokemon_graphics/front_pic_anims.h | 2 +- src/decompress.c | 10 ++-- src/easy_chat.c | 2 +- src/egg_hatch.c | 2 +- src/evolution_scene.c | 4 +- src/field_effect.c | 6 +- src/field_specials.c | 30 +++++----- src/frontier_util.c | 2 +- src/hall_of_fame.c | 2 +- src/item_menu.c | 2 +- src/item_use.c | 2 +- src/match_call.c | 2 +- src/menu_specialized.c | 2 +- src/move_relearner.c | 2 +- src/naming_screen.c | 2 +- src/party_menu.c | 2 +- src/pokeblock_feed.c | 9 ++- src/pokedex.c | 2 +- src/pokemon.c | 36 +++--------- src/pokemon_size_record.c | 2 +- src/pokemon_storage_system.c | 4 +- src/pokemon_summary_screen.c | 3 +- src/pokenav_match_call.c | 3 +- src/reshow_battle_screen.c | 8 +-- src/scanline_effect.c | 2 +- src/scrcmd.c | 2 +- src/script_pokemon_util_80F87D8.c | 2 +- src/shop.c | 2 +- src/smokescreen.c | 6 +- src/starter_choose.c | 2 +- src/trade.c | 6 +- src/trainer_pokemon_sprites.c | 17 +----- src/tv.c | 2 +- src/union_room.c | 2 +- src/use_pokeblock.c | 7 +-- 68 files changed, 173 insertions(+), 267 deletions(-) diff --git a/include/battle.h b/include/battle.h index 0274e4d9fe..e3c37aa991 100644 --- a/include/battle.h +++ b/include/battle.h @@ -62,70 +62,12 @@ #define BATTLE_BUFFER_LINK_SIZE 0x1000 -struct TrainerMonNoItemDefaultMoves -{ - u16 iv; - u8 lvl; - u16 species; -}; - -struct TrainerMonItemDefaultMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 heldItem; -}; - -struct TrainerMonNoItemCustomMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 moves[4]; -}; - -struct TrainerMonItemCustomMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 heldItem; - u16 moves[4]; -}; - -union TrainerMonPtr -{ - const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; - const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; - const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; - const struct TrainerMonItemCustomMoves *ItemCustomMoves; -}; - -struct Trainer -{ - /*0x00*/ u8 partyFlags; - /*0x01*/ u8 trainerClass; - /*0x02*/ u8 encounterMusic_gender; // last bit is gender - /*0x03*/ u8 trainerPic; - /*0x04*/ u8 trainerName[12]; - /*0x10*/ u16 items[4]; - /*0x18*/ bool8 doubleBattle; - /*0x1C*/ u32 aiFlags; - /*0x20*/ u8 partySize; - /*0x24*/ union TrainerMonPtr party; -}; - -extern const struct Trainer gTrainers[]; - -#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F)) - -struct UnknownFlags +struct ResourceFlags { u32 flags[4]; }; -#define UNKNOWN_FLAG_FLASH_FIRE 1 +#define RESOURCE_FLAG_FLASH_FIRE 1 struct DisableStruct { @@ -282,7 +224,7 @@ struct StatsArray struct BattleResources { struct SecretBaseRecord* secretBase; - struct UnknownFlags *flags; + struct ResourceFlags *flags; struct BattleScriptsStack* battleScriptsStack; struct BattleCallbacksStack* battleCallbackStack; struct StatsArray* beforeLvlUp; @@ -769,6 +711,5 @@ extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT]; extern u8 gMultiUsePlayerCursor; extern u8 gNumberOfMovesToChoose; extern u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; -extern const u8 gTrainerClassNames[][13]; #endif // GUARD_BATTLE_H diff --git a/include/data.h b/include/data.h index a8ba573fe8..f1a4caa6a9 100644 --- a/include/data.h +++ b/include/data.h @@ -14,6 +14,62 @@ struct MonCoords u8 y_offset; }; +struct TrainerMonNoItemDefaultMoves +{ + u16 iv; + u8 lvl; + u16 species; +}; + +struct TrainerMonItemDefaultMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 heldItem; +}; + +struct TrainerMonNoItemCustomMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 moves[4]; +}; + +struct TrainerMonItemCustomMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 heldItem; + u16 moves[4]; +}; + +union TrainerMonPtr +{ + const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; + const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; + const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; + const struct TrainerMonItemCustomMoves *ItemCustomMoves; +}; + +struct Trainer +{ + /*0x00*/ u8 partyFlags; + /*0x01*/ u8 trainerClass; + /*0x02*/ u8 encounterMusic_gender; // last bit is gender + /*0x03*/ u8 trainerPic; + /*0x04*/ u8 trainerName[12]; + /*0x10*/ u16 items[4]; + /*0x18*/ bool8 doubleBattle; + /*0x1C*/ u32 aiFlags; + /*0x20*/ u8 partySize; + /*0x24*/ union TrainerMonPtr party; +}; + +#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F)) + extern const u16 gUnknown_082FF1D8[]; extern const u32 gUnknown_082FF1F8[]; @@ -34,7 +90,7 @@ extern const union AffineAnimCmd *const gUnknown_082FF618[]; extern const union AffineAnimCmd *const gUnknown_082FF694[]; extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; -extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[]; +extern const union AnimCmd *const gUnknown_082FF70C[]; extern const struct MonCoords gMonFrontPicCoords[]; extern const struct CompressedSpriteSheet gMonStillFrontPicTable[]; extern const struct MonCoords gMonBackPicCoords[]; @@ -52,7 +108,7 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern const u8 gEnemyMonElevation[NUM_SPECIES]; -extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[]; +extern const union AnimCmd *const *const gMonFrontAnimsPtrTable[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct Trainer gTrainers[]; diff --git a/include/field_effect.h b/include/field_effect.h index 1f5f4ee297..0dbe600d34 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -1,9 +1,7 @@ #ifndef GUARD_FIELD_EFFECTS_H #define GUARD_FIELD_EFFECTS_H -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[2]; extern const struct SpritePalette gNewGameBirchObjectPaletteInfo; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[2]; extern const struct SpriteTemplate gNewGameBirchObjectTemplate; extern const struct OamData gNewGameBirchOamAttributes; @@ -53,4 +51,4 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId); u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority); void StartEscapeRopeFieldEffect(void); -#endif //GUARD_FIELD_EFFECTS_H +#endif // GUARD_FIELD_EFFECTS_H diff --git a/include/field_specials.h b/include/field_specials.h index 68b2330745..b1a50c811f 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -1,6 +1,9 @@ #ifndef GUARD_FIELD_SPECIALS_H #define GUARD_FIELD_SPECIALS_H +extern bool8 gBikeCyclingChallenge; +extern u8 gBikeCollisions; + u8 GetLeadMonIndex(void); u8 sub_813B260(void); u16 get_unknown_box_id(void); diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 19994b77fd..20d881702a 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -4,7 +4,9 @@ #include "main.h" extern u8 gLastViewedMonIndex; + extern const u8 *const gMoveDescriptionPointers[]; +extern const u8 *const gNatureNamePointers[]; void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); diff --git a/src/apprentice.c b/src/apprentice.c index 27ff8e36e7..ac2bba48fc 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -2,7 +2,7 @@ #include "apprentice.h" #include "battle.h" #include "battle_tower.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "field_player_avatar.h" diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 61876e0de3..5e832aba01 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -4,6 +4,7 @@ #include "battle_ai_script_commands.h" #include "battle_factory.h" #include "battle_setup.h" +#include "data.h" #include "item.h" #include "pokemon.h" #include "random.h" @@ -2217,7 +2218,7 @@ static void BattleAICmd_if_flash_fired(void) { u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); - if (gBattleResources->flags->flags[battlerId] & UNKNOWN_FLAG_FLASH_FIRE) + if (gBattleResources->flags->flags[battlerId] & RESOURCE_FLAG_FLASH_FIRE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index efa2620fd5..ab765b8c1e 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -4,7 +4,7 @@ #include "battle_anim.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "gpu_regs.h" @@ -25,8 +25,6 @@ #include "constants/weather.h" extern const struct SpriteTemplate gUnknown_08593114; -extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; void sub_815A0D4(struct Sprite *); void sub_815A1B0(struct Sprite *); diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 372377a0cf..c6058204d1 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -3,7 +3,7 @@ #include "battle_anim.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "gpu_regs.h" @@ -27,11 +27,6 @@ #define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) extern const struct OamData gUnknown_0852497C; -extern const struct MonCoords gMonFrontPicCoords[]; -extern const struct MonCoords gMonBackPicCoords[]; -extern const u8 gEnemyMonElevation[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const union AffineAnimCmd *gUnknown_082FF6C0[]; static void sub_80A6FB4(struct Sprite *sprite); static void sub_80A7144(struct Sprite *sprite); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 23d469c271..3fb5da9dc6 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "main.h" #include "m4a.h" @@ -31,8 +31,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void LinkOpponentHandleGetMonData(void); static void LinkOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 22633c5bc3..6fc73a6047 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "main.h" #include "m4a.h" @@ -29,9 +29,6 @@ #include "constants/trainers.h" #include "recorded_battle.h" -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void LinkPartnerHandleGetMonData(void); static void LinkPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 7d940cb897..3928113275 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -10,7 +10,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "frontier_util.h" #include "item.h" #include "link.h" @@ -36,8 +36,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void OpponentHandleGetMonData(void); static void OpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b377ecf64d..3f5a777e4e 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -9,7 +9,7 @@ #include "battle_setup.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item.h" #include "item_menu.h" #include "link.h" @@ -36,9 +36,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void PlayerHandleGetMonData(void); static void PlayerHandleSetMonData(void); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 2c53938c13..0ec21fd22d 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -8,7 +8,7 @@ #include "battle_setup.h" #include "battle_tower.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -27,9 +27,6 @@ #include "constants/songs.h" #include "constants/trainers.h" -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void PlayerPartnerHandleGetMonData(void); static void PlayerPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index e43c5f8ae2..69d8400209 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -31,8 +31,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void RecordedOpponentHandleGetMonData(void); static void RecordedOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 412c49f179..95683225e7 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -6,7 +6,7 @@ #include "battle_message.h" #include "battle_interface.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -27,9 +27,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void RecordedPlayerHandleGetMonData(void); static void RecordedPlayerHandleGetRawMonData(void); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index e9da16252c..8f89e4cb53 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -5,7 +5,7 @@ #include "battle_interface.h" #include "battle_message.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_menu.h" #include "link.h" #include "main.h" @@ -23,8 +23,6 @@ #include "constants/battle_anim.h" #include "constants/songs.h" -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void SafariHandleGetMonData(void); static void SafariHandleGetRawMonData(void); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index f1b783b215..a504f5a805 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -7,7 +7,7 @@ #include "battle_setup.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item.h" #include "item_menu.h" #include "link.h" @@ -31,8 +31,6 @@ #include "constants/songs.h" #include "constants/trainers.h" -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void WallyHandleGetMonData(void); static void WallyHandleGetRawMonData(void); diff --git a/src/battle_dome.c b/src/battle_dome.c index 1b79531804..95fce49a3d 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -24,7 +24,7 @@ #include "menu.h" #include "sound.h" #include "pokemon_icon.h" -#include "data2.h" +#include "data.h" #include "international_string_util.h" #include "trainer_pokemon_sprites.h" #include "scanline_effect.h" @@ -59,9 +59,6 @@ struct UnkStruct_860DD10 u16 src; }; -// text -extern const u8 gTrainerClassNames[][13]; - // This file's functions. static u8 GetDomeTrainerMonIvs(u16 trainerId); static void SwapDomeTrainers(int id1, int id2, u16 *statsArray); diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 367c1401fc..ac32651e2a 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -17,7 +17,7 @@ #include "string_util.h" #include "international_string_util.h" #include "window.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "pokemon_summary_screen.h" #include "sound.h" diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 7c6b743042..d6b1b6deea 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -19,7 +19,7 @@ #include "m4a.h" #include "constants/species.h" #include "decompress.h" -#include "data2.h" +#include "data.h" #include "palette.h" #include "contest.h" #include "constants/songs.h" @@ -32,16 +32,8 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const u8 gUnknown_0831C604[]; extern const u8 * const gBattleAnims_General[]; extern const u8 * const gBattleAnims_Special[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; -extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; -extern const u8 gEnemyMonElevation[]; // this file's functions static u8 sub_805D4A8(u16 move); @@ -932,7 +924,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform if (targetSpecies == SPECIES_CASTFORM) { - gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonAnimationsSpriteAnimsPtrTable[targetSpecies]; + gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonFrontAnimsPtrTable[targetSpecies]; LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, 32); } diff --git a/src/battle_interface.c b/src/battle_interface.c index a8651f6cf6..9224375976 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -23,7 +23,8 @@ #include "battle_anim.h" #include "constants/battle_anim.h" #include "constants/rgb.h" -#include "data2.h" +#include "data.h" +#include "pokemon_summary_screen.h" struct TestingBar { @@ -157,8 +158,6 @@ enum HEALTHBOX_GFX_117, //unknown_D1300C }; -extern const u8 *const gNatureNamePointers[]; - // strings extern const u8 gText_Slash[]; extern const u8 gText_HighlightDarkGrey[]; diff --git a/src/battle_main.c b/src/battle_main.c index 92f12636d2..7e564ce7f1 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -13,7 +13,7 @@ #include "battle_tower.h" #include "berry.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "event_data.h" diff --git a/src/battle_message.c b/src/battle_message.c index f93765b896..3fec571f45 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -5,7 +5,7 @@ #include "battle_message.h" #include "battle_setup.h" #include "battle_tower.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "frontier_util.h" #include "international_string_util.h" @@ -38,7 +38,6 @@ struct BattleWindowText u8 shadowColor; }; -extern const u8 gTrainerClassNames[][13]; extern const u16 gUnknown_08D85620[]; // this file's functions diff --git a/src/battle_tower.c b/src/battle_tower.c index 46aab4bac2..6f8e3e25f2 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -18,7 +18,7 @@ #include "trainer_see.h" #include "new_game.h" #include "string_util.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "field_message_box.h" #include "tv.h" diff --git a/src/battle_util.c b/src/battle_util.c index a7962b7f7d..03f1482da4 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2041,7 +2041,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && !(gBattleMons[battler].status1 & STATUS1_FREEZE)) { - if (!(gBattleResources->flags->flags[battler] & UNKNOWN_FLAG_FLASH_FIRE)) + if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; if (gProtectStructs[gBattlerAttacker].notFirstStrike) @@ -2049,7 +2049,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - gBattleResources->flags->flags[battler] |= UNKNOWN_FLAG_FLASH_FIRE; + gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_FLASH_FIRE; effect = 2; } else diff --git a/src/bike.c b/src/bike.c index 530742bdf6..7f84f350b7 100644 --- a/src/bike.c +++ b/src/bike.c @@ -3,7 +3,7 @@ #include "event_object_movement.h" #include "field_player_avatar.h" #include "fieldmap.h" -#include "global.fieldmap.h" +#include "field_specials.h" #include "metatile_behavior.h" #include "overworld.h" #include "sound.h" @@ -11,9 +11,6 @@ #include "constants/map_types.h" #include "constants/songs.h" -extern bool8 gBikeCyclingChallenge; -extern u8 gBikeCollisions; - // this file's functions static void MovePlayerOnMachBike(u8, u16, u16); static u8 GetMachBikeTransition(u8 *); diff --git a/src/cable_club.c b/src/cable_club.c index fab187b071..303cc76d1e 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -4,7 +4,7 @@ #include "battle_records.h" #include "battle_setup.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "field_message_box.h" #include "field_specials.h" diff --git a/src/contest.c b/src/contest.c index 02d7038cfa..b06335a1c6 100644 --- a/src/contest.c +++ b/src/contest.c @@ -11,7 +11,7 @@ #include "battle.h" #include "battle_anim.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "graphics.h" #include "link.h" @@ -41,7 +41,7 @@ #include "contest_link_80FC4F4.h" #include "script_pokemon_util_80F87D8.h" #include "international_string_util.h" -#include "data2.h" +#include "data.h" #include "constants/rgb.h" #include "contest_ai.h" @@ -242,8 +242,6 @@ extern const u8 gText_Contest_Fear[]; extern const u8 gText_BDot[]; extern const u8 gText_CDot[]; extern const u8 *const gUnknown_08587E10[]; -extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; extern const struct SpriteTemplate gSpriteTemplate_8587AD0; extern const struct SpriteTemplate gSpriteTemplate_8587B18[]; extern void (*const gContestEffectFuncs[])(void); diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c index 59f41d72af..cf0e77c3c3 100644 --- a/src/contest_link_80F57C4.c +++ b/src/contest_link_80F57C4.c @@ -6,6 +6,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_link_80FC4F4.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "event_data.h" @@ -86,7 +87,6 @@ struct ContestLink80F57C4 EWRAM_DATA struct ContestLink80F57C4 *gUnknown_0203A034 = NULL; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct BgTemplate gUnknown_0858D888[4]; extern const struct WindowTemplate gUnknown_0858D898[]; extern const struct CompressedSpriteSheet gUnknown_0858D878[]; diff --git a/src/contest_painting.c b/src/contest_painting.c index 87598f2bdd..b43923c7b5 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -1,11 +1,12 @@ #include "global.h" #include "alloc.h" #include "battle.h" +#include "battle_gfx_sfx_util.h" #include "bg.h" #include "contest.h" #include "contest_painting.h" #include "contest_painting_effects.h" -#include "battle_gfx_sfx_util.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "international_string_util.h" @@ -44,8 +45,6 @@ static void VBlankCB_ContestPainting(void); static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]); extern const u8 gUnknown_0827EA0C[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; extern const u8 gContestCoolness[]; extern const u8 gContestBeauty[]; extern const u8 gContestCuteness[]; diff --git a/src/data.c b/src/data.c index b0d14d2afe..7aebd63ede 100644 --- a/src/data.c +++ b/src/data.c @@ -284,7 +284,7 @@ static const union AnimCmd gUnknown_082FF704[] = ANIMCMD_END, }; -const union AnimCmd *const gPlayerMonSpriteAnimsTable[] = +const union AnimCmd *const gUnknown_082FF70C[] = { gUnknown_082FF6EC, gUnknown_082FF6F4, diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index 0128c08c02..86ca067901 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -1,4 +1,4 @@ -const u8 *const gMonFootprintTable[NUM_SPECIES] = +const u8 *const gMonFootprintTable[] = { [SPECIES_NONE] = gMonFootprint_Bulbasaur, [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur, diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 8be6ed4955..4c97af1a7b 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -6948,7 +6948,7 @@ static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={ #define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name #define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims -const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[] = +const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = { ANIM_CMD(NONE), ANIM_CMD(BULBASAUR), diff --git a/src/decompress.c b/src/decompress.c index 949b969901..46e4ef6149 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -1,15 +1,13 @@ #include "global.h" -#include "decompress.h" -#include "constants/species.h" -#include "text.h" #include "alloc.h" +#include "data.h" +#include "decompress.h" #include "pokemon.h" +#include "text.h" +#include "constants/species.h" EWRAM_DATA ALIGNED(4) u8 gDecompressionBuffer[0x4000] = {0}; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; - static void DuplicateDeoxysTiles(void *pointer, s32 species); void LZDecompressWram(const u32 *src, void *dest) diff --git a/src/easy_chat.c b/src/easy_chat.c index 4388592f77..b29a05babc 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -2,7 +2,7 @@ #include "alloc.h" #include "bard_music.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dewford_trend.h" #include "dynamic_placeholder_text_util.h" diff --git a/src/egg_hatch.c b/src/egg_hatch.c index fc559e0018..65601d64ab 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -33,6 +33,7 @@ #include "naming_screen.h" #include "pokemon_storage_system.h" #include "field_screen_effect.h" +#include "data.h" #include "battle.h" // to get rid of later struct EggHatchData @@ -52,7 +53,6 @@ struct EggHatchData u8 textColor[3]; }; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; extern const u8 gText_NickHatchPrompt[]; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 8c4847b8da..4b8223b175 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -3,7 +3,7 @@ #include "battle.h" #include "battle_message.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "evolution_scene.h" #include "evolution_graphics.h" @@ -52,8 +52,6 @@ void (*gCB2_AfterEvolution)(void); #define sEvoCursorPos gBattleCommunication[1] // when learning a new move #define sEvoGraphicsTaskID gBattleCommunication[2] -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; - // this file's functions static void Task_EvolutionScene(u8 taskID); static void Task_TradeEvolutionScene(u8 taskID); diff --git a/src/field_effect.c b/src/field_effect.c index 93d7e5ef82..6fdf996f2c 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -33,8 +33,6 @@ #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} -extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const. - EWRAM_DATA s32 gFieldEffectArguments[8] = {0}; // Static type declarations @@ -237,7 +235,9 @@ static void Fldeff_MoveDeoxysRock_Step(u8 taskId); static IWRAM_DATA u8 sActiveList[32]; // External declarations - +extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const. +extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; +extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern u8 *gFieldEffectScriptPointers[]; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; diff --git a/src/field_specials.c b/src/field_specials.c index 20c2e61739..8bd9900634 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3,7 +3,7 @@ #include "battle.h" #include "battle_tower.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "decoration.h" #include "diploma.h" #include "event_data.h" @@ -59,20 +59,20 @@ EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; -EWRAM_DATA u32 gBikeCyclingTimer = 0; -EWRAM_DATA u8 gUnknown_0203AB5C = 0; -EWRAM_DATA u8 gUnknown_0203AB5D = 0; -EWRAM_DATA u8 gUnknown_0203AB5E = 0; -EWRAM_DATA u16 gUnknown_0203AB60 = 0; -EWRAM_DATA u16 gUnknown_0203AB62 = 0; -EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; -EWRAM_DATA u16 gUnknown_0203AB68 = 0; -EWRAM_DATA u16 gUnknown_0203AB6A = 0; -EWRAM_DATA u8 gUnknown_0203AB6C = 0; -EWRAM_DATA u8 gUnknown_0203AB6D = 0; -EWRAM_DATA u8 gUnknown_0203AB6E = 0; -EWRAM_DATA u8 gUnknown_0203AB6F = 0; -EWRAM_DATA u32 gUnknown_0203AB70 = 0; +static EWRAM_DATA u32 gBikeCyclingTimer = 0; +static EWRAM_DATA u8 gUnknown_0203AB5C = 0; +static EWRAM_DATA u8 gUnknown_0203AB5D = 0; +static EWRAM_DATA u8 gUnknown_0203AB5E = 0; +static EWRAM_DATA u16 gUnknown_0203AB60 = 0; +static EWRAM_DATA u16 gUnknown_0203AB62 = 0; +static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; +static EWRAM_DATA u16 gUnknown_0203AB68 = 0; +static EWRAM_DATA u16 gUnknown_0203AB6A = 0; +static EWRAM_DATA u8 gUnknown_0203AB6C = 0; +static EWRAM_DATA u8 gUnknown_0203AB6D = 0; +static EWRAM_DATA u8 gUnknown_0203AB6E = 0; +static EWRAM_DATA u8 gUnknown_0203AB6F = 0; +static EWRAM_DATA u32 gUnknown_0203AB70 = 0; struct ListMenuTemplate gUnknown_030061D0; diff --git a/src/frontier_util.c b/src/frontier_util.c index bce7b926f2..4dd8159cb6 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -21,7 +21,7 @@ #include "apprentice.h" #include "pokedex.h" #include "recorded_battle.h" -#include "data2.h" +#include "data.h" #include "record_mixing.h" #include "strings.h" #include "alloc.h" diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 8eba90d962..fdf2020ff3 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -32,7 +32,7 @@ #include "menu.h" #include "fldeff_misc.h" #include "trainer_pokemon_sprites.h" -#include "data2.h" +#include "data.h" #include "rom_81520A8.h" #include "constants/rgb.h" diff --git a/src/item_menu.c b/src/item_menu.c index 8edf6f2797..c000b95636 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -8,7 +8,7 @@ #include "bg.h" #include "constants/items.h" #include "constants/songs.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "event_object_movement.h" diff --git a/src/item_use.c b/src/item_use.c index 159ece398e..8e28d48fdb 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -7,7 +7,7 @@ #include "berry_powder.h" #include "bike.h" #include "coins.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "fieldmap.h" diff --git a/src/match_call.c b/src/match_call.c index 641079ba9f..35daacc3d4 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -3,7 +3,7 @@ #include "battle.h" #include "battle_setup.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "field_player_avatar.h" diff --git a/src/menu_specialized.c b/src/menu_specialized.c index b3f07fb46c..3b73d3c06b 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -2,7 +2,7 @@ #include "alloc.h" #include "battle_main.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" diff --git a/src/move_relearner.c b/src/move_relearner.c index e148b9ace0..0b0b4a5aa5 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -3,7 +3,7 @@ #include "battle.h" #include "bg.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "field_screen_effect.h" #include "gpu_regs.h" diff --git a/src/naming_screen.c b/src/naming_screen.c index e43a259e7a..ee68edbd0a 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -21,7 +21,7 @@ #include "trig.h" #include "field_effect.h" #include "pokemon_icon.h" -#include "data2.h" +#include "data.h" #include "strings.h" #include "menu.h" #include "text_window.h" diff --git a/src/party_menu.c b/src/party_menu.c index 6233558fff..b1dd8b94a9 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -10,7 +10,7 @@ #include "battle_pyramid_bag.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "easy_chat.h" #include "event_data.h" diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 59ba1b4dcb..972ca4285a 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -1,13 +1,14 @@ #include "global.h" -#include "battle.h" // to get rid of once gMonSpritesGfxPtr is put elsewhere +#include "alloc.h" +#include "battle.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" #include "graphics.h" +#include "item_menu.h" #include "main.h" -#include "alloc.h" #include "menu.h" #include "menu_helpers.h" #include "m4a.h" @@ -49,10 +50,8 @@ struct PokeblockFeedStruct u8 unused; }; -extern u16 gSpecialVar_ItemId; extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u16 gUnknown_0860F074[]; // this file's functions diff --git a/src/pokedex.c b/src/pokedex.c index cceb50ba13..8b18a0e739 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1,7 +1,7 @@ #include "global.h" #include "battle_main.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" diff --git a/src/pokemon.c b/src/pokemon.c index a75701cb0f..76a850d5a1 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -9,6 +9,7 @@ #include "battle_pyramid.h" #include "battle_setup.h" #include "battle_tower.h" +#include "data.h" #include "event_data.h" #include "evolution_scene.h" #include "field_specials.h" @@ -51,29 +52,6 @@ struct SpeciesItem u16 item; }; -extern const struct SpriteFrameImage gUnknown_082FF3A8[]; -extern const struct SpriteFrameImage gUnknown_082FF3C8[]; -extern const struct SpriteFrameImage gUnknown_082FF3E8[]; -extern const struct SpriteFrameImage gUnknown_082FF408[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_May[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Red[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[]; -extern const union AffineAnimCmd *const gUnknown_082FF618[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const union AnimCmd *gPlayerMonSpriteAnimsTable[]; -extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[]; -extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; -extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const struct CompressedSpritePalette gMonPaletteTable[]; -extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; -extern const u8 gTrainerClassNames[][13]; - // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); @@ -3315,7 +3293,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } // flash fire triggered - if ((gBattleResources->flags->flags[battlerIdAtk] & UNKNOWN_FLAG_FLASH_FIRE) && type == TYPE_FIRE) + if ((gBattleResources->flags->flags[battlerIdAtk] & RESOURCE_FLAG_FLASH_FIRE) && type == TYPE_FIRE) damage = (15 * damage) / 10; } @@ -3448,11 +3426,11 @@ void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition) gMultiuseSpriteTemplate.paletteTag = species; if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) - gMultiuseSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; - else if (species > 500) - gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500]; + gMultiuseSpriteTemplate.anims = gUnknown_082FF70C; + else if (species > SPECIES_SHINY_TAG) + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[species - SPECIES_SHINY_TAG]; else - gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species]; + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[species]; } void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition) @@ -6819,7 +6797,7 @@ static void sub_806F1FC(struct Unknown_806F160_Struct* structPtr) structPtr->frameImages[i * structPtr->field_0_0 + j].data = &structPtr->byteArrays[i][j * 0x800]; } structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->field_0_0]; - structPtr->templates[i].anims = gPlayerMonSpriteAnimsTable; + structPtr->templates[i].anims = gUnknown_082FF70C; structPtr->templates[i].paletteTag = i; } } diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 98d83d8ce4..f63e1ccbab 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -1,4 +1,5 @@ #include "global.h" +#include "data.h" #include "event_data.h" #include "pokedex.h" #include "pokemon.h" @@ -45,7 +46,6 @@ static const u8 sGiftRibbonsMonDataIds[] = extern const u8 gText_DecimalPoint[]; extern const u8 gText_Marco[]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; #define CM_PER_INCH 2.54 diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index fb1be06984..148be7c5c9 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1,7 +1,7 @@ #include "global.h" #include "alloc.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "dynamic_placeholder_text_util.h" @@ -463,8 +463,6 @@ EWRAM_DATA static u8 sMovingMonOrigBoxId = 0; EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0; EWRAM_DATA static bool8 sCanOnlyMove = 0; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; - // This file's functions. static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr); static void Cb2_EnterPSS(u8 boxOption); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 3a5b06d45f..2ec0886283 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -9,7 +9,7 @@ #include "bg.h" #include "contest.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "dynamic_placeholder_text_util.h" @@ -164,7 +164,6 @@ static EWRAM_DATA struct PokemonSummaryScreenData EWRAM_DATA u8 gLastViewedMonIndex = 0; static EWRAM_DATA u8 sUnknown_0203CF21 = 0; ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; struct UnkStruct_61CC04 { diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call.c index ce00401a9d..1f621922db 100644 --- a/src/pokenav_match_call.c +++ b/src/pokenav_match_call.c @@ -1,13 +1,12 @@ #include "global.h" #include "battle_setup.h" +#include "data.h" #include "event_data.h" #include "string_util.h" #include "battle.h" #include "gym_leader_rematch.h" #include "match_call.h" -extern const u8 gTrainerClassNames[][13]; - // Static type declarations typedef struct MatchCallTextDataStruct { diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index dd177f8842..b804d25911 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -15,9 +15,7 @@ #include "constants/trainers.h" #include "battle_interface.h" #include "battle_anim.h" -#include "data2.h" - -extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[]; +#include "data.h" // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); @@ -233,7 +231,7 @@ static void CreateBattlerSprite(u8 battler) StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) - gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; + gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM]; } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) { @@ -269,7 +267,7 @@ static void CreateBattlerSprite(u8 battler) StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) - gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; + gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM]; } gSprites[gBattlerSpriteIds[battler]].invisible = gBattleSpritesDataPtr->battlerData[battler].invisible; diff --git a/src/scanline_effect.c b/src/scanline_effect.c index a9ae9427b6..0a4b0b8fd5 100644 --- a/src/scanline_effect.c +++ b/src/scanline_effect.c @@ -1,6 +1,6 @@ #include "global.h" #include "battle.h" -#include "data2.h" +#include "data.h" #include "task.h" #include "trig.h" #include "scanline_effect.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index 125a57c011..4dc494790b 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -7,7 +7,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_painting.h" -#include "data2.h" +#include "data.h" #include "decoration.h" #include "decoration_inventory.h" #include "event_data.h" diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index ece0303950..2f32951edc 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -5,6 +5,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_painting.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "event_data.h" @@ -35,7 +36,6 @@ extern const u16 gEventObjectPalette8[]; extern const u16 gEventObjectPalette17[]; extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 }; diff --git a/src/shop.c b/src/shop.c index 32caafb64c..ab7f31c1f6 100755 --- a/src/shop.c +++ b/src/shop.c @@ -1,6 +1,6 @@ #include "global.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "decoration.h" #include "decoration_inventory.h" diff --git a/src/smokescreen.c b/src/smokescreen.c index d9780bbb61..61e011451f 100644 --- a/src/smokescreen.c +++ b/src/smokescreen.c @@ -1,11 +1,15 @@ #include "global.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "sprite.h" #include "util.h" static void sub_8075370(struct Sprite *); +extern const struct CompressedSpriteSheet gUnknown_0831C620; +extern const struct CompressedSpritePalette gUnknown_0831C628; +extern const struct SpriteTemplate gUnknown_0831C688; + u8 sub_807521C(s16 x, s16 y, u8 a3) { u8 mainSpriteId; diff --git a/src/starter_choose.c b/src/starter_choose.c index c3d6361758..c3957e403f 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -1,6 +1,6 @@ #include "global.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" diff --git a/src/trade.c b/src/trade.c index 80c74d2cd1..353ba4ce3e 100644 --- a/src/trade.c +++ b/src/trade.c @@ -4,7 +4,7 @@ #include "battle_interface.h" #include "bg.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "event_data.h" @@ -1384,10 +1384,6 @@ static const u8 gUnknown_08339090[][2] = {0, 0} }; -// external to this file -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct MonCoords gMonFrontPicCoords[]; - static bool8 sub_8077170(const void *a0, u32 a1) { if (gUnknown_02022C2C == 29) diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 8172f09e6c..6824e87477 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -6,21 +6,10 @@ #include "palette.h" #include "decompress.h" #include "trainer_pokemon_sprites.h" -#include "data2.h" +#include "data.h" #include "pokemon.h" #include "constants/trainers.h" -extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES]; -extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES]; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; -extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const union AffineAnimCmd *const gUnknown_082FF618[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[]; -extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES]; -extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; - // Static type declarations struct PicData @@ -149,7 +138,7 @@ static void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 pale static void AssignSpriteAnimsTable(bool8 isTrainer) { if (!isTrainer) - sCreatingSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; + sCreatingSpriteTemplate.anims = gUnknown_082FF70C; else sCreatingSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[0]; } @@ -270,7 +259,7 @@ u16 CreatePicSprite2(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s1 images[j].size = 0x800; } sCreatingSpriteTemplate.tileTag = 0xFFFF; - sCreatingSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species]; + sCreatingSpriteTemplate.anims = gMonFrontAnimsPtrTable[species]; sCreatingSpriteTemplate.images = images; if (flags2 == 0x01) { diff --git a/src/tv.c b/src/tv.c index 17243a4563..7b5252add8 100644 --- a/src/tv.c +++ b/src/tv.c @@ -37,7 +37,7 @@ #include "decoration.h" #include "secret_base.h" #include "tv.h" -#include "data2.h" +#include "data.h" #include "constants/layouts.h" #include "constants/metatile_behaviors.h" diff --git a/src/union_room.c b/src/union_room.c index ea3658903b..687efbf5e2 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -32,7 +32,7 @@ #include "palette.h" #include "decompress.h" #include "start_menu.h" -#include "data2.h" +#include "data.h" #include "field_screen_effect.h" #include "script_pokemon_util_80F87D8.h" #include "international_string_util.h" diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 4eaf60be40..f28b651ccf 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -21,6 +21,8 @@ #include "menu.h" #include "gpu_regs.h" #include "graphics.h" +#include "pokemon_summary_screen.h" +#include "item_menu.h" struct UsePokeblockSubStruct { @@ -83,8 +85,6 @@ struct UsePokeblockStruct /*0x7FD0*/ struct UsePokeblockSubStruct info; }; -extern u16 gKeyRepeatStartDelay; - extern void sub_81D21DC(u8); // this file's functions @@ -133,7 +133,6 @@ void sub_8168168(struct Sprite *sprite); extern const struct BgTemplate gUnknown_085DFCCC[4]; extern const struct WindowTemplate gUnknown_085DFCDC[]; -extern u16 gSpecialVar_ItemId; extern const struct WindowTemplate sUsePokeblockYesNoWinTemplate[]; extern const u8* sContestStatNames[]; extern const u32 gUnknown_085DFCB0[]; @@ -152,8 +151,6 @@ extern const u8 gUnknown_085DFCC9[]; extern const struct SpritePalette gUnknown_085DFDB8; extern const struct SpriteTemplate gUnknown_085DFDA0; -extern const u8 *const gNatureNamePointers[]; - // ram variables EWRAM_DATA struct UsePokeblockSubStruct *gUnknown_0203BC90 = NULL; EWRAM_DATA void (*gUnknown_0203BC94)(void) = NULL; From 8751fafad148d1c2a6790b6b4fcba9be39f3c1e3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 5 Apr 2019 00:05:51 +0200 Subject: [PATCH 60/84] Make it compile --- src/battle_bg.c | 1 + src/battle_script_commands.c | 1 + src/battle_setup.c | 1 + src/battle_util2.c | 4 ++-- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/battle_bg.c b/src/battle_bg.c index 814e8dad9b..81e8acdf9e 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -5,6 +5,7 @@ #include "battle_message.h" #include "battle_setup.h" #include "bg.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index fc396b5e36..c002eefbc4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -50,6 +50,7 @@ #include "pokemon_summary_screen.h" #include "pokenav.h" #include "menu_specialized.h" +#include "data.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; diff --git a/src/battle_setup.c b/src/battle_setup.c index 7395c175b7..712098773e 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -45,6 +45,7 @@ #include "constants/map_types.h" #include "constants/battle_frontier.h" #include "field_screen_effect.h" +#include "data.h" enum { diff --git a/src/battle_util2.c b/src/battle_util2.c index 5ef969fd53..f840cd58b9 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -25,7 +25,7 @@ void AllocateBattleResources(void) gBattleResources->flags = AllocZeroed(sizeof(*gBattleResources->flags)); gBattleResources->battleScriptsStack = AllocZeroed(sizeof(*gBattleResources->battleScriptsStack)); gBattleResources->battleCallbackStack = AllocZeroed(sizeof(*gBattleResources->battleCallbackStack)); - gBattleResources->statsBeforeLvlUp = AllocZeroed(sizeof(*gBattleResources->statsBeforeLvlUp)); + gBattleResources->beforeLvlUp = AllocZeroed(sizeof(*gBattleResources->beforeLvlUp)); gBattleResources->ai = AllocZeroed(sizeof(*gBattleResources->ai)); gBattleResources->battleHistory = AllocZeroed(sizeof(*gBattleResources->battleHistory)); gBattleResources->AI_ScriptsStack = AllocZeroed(sizeof(*gBattleResources->AI_ScriptsStack)); @@ -56,7 +56,7 @@ void FreeBattleResources(void) FREE_AND_SET_NULL(gBattleResources->flags); FREE_AND_SET_NULL(gBattleResources->battleScriptsStack); FREE_AND_SET_NULL(gBattleResources->battleCallbackStack); - FREE_AND_SET_NULL(gBattleResources->statsBeforeLvlUp); + FREE_AND_SET_NULL(gBattleResources->beforeLvlUp); FREE_AND_SET_NULL(gBattleResources->ai); FREE_AND_SET_NULL(gBattleResources->battleHistory); FREE_AND_SET_NULL(gBattleResources->AI_ScriptsStack); From 70569e7ebc428bebe42709c18f13a9df5399045e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 5 Apr 2019 00:07:39 +0200 Subject: [PATCH 61/84] Use shiny species tag --- include/pokemon.h | 2 +- src/pokemon.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/pokemon.h b/include/pokemon.h index 60ccb27f41..150486c0e0 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -487,7 +487,7 @@ u8 GetDefaultMoveTarget(u8 battlerId); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); -void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition); +void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition); void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition); void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition); diff --git a/src/pokemon.c b/src/pokemon.c index 76a850d5a1..64b02021b1 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3413,7 +3413,7 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) return MON_MALE; } -void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition) +void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition) { if (gMonSpritesGfxPtr != NULL) gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; @@ -3424,13 +3424,13 @@ void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition) else gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition]; - gMultiuseSpriteTemplate.paletteTag = species; + gMultiuseSpriteTemplate.paletteTag = speciesTag; if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) gMultiuseSpriteTemplate.anims = gUnknown_082FF70C; - else if (species > SPECIES_SHINY_TAG) - gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[species - SPECIES_SHINY_TAG]; + else if (speciesTag > SPECIES_SHINY_TAG) + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG]; else - gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[species]; + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag]; } void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition) From 9a11764b5208a71d346f14eb61703588bd210116 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 5 Apr 2019 09:22:56 +0200 Subject: [PATCH 62/84] Fix oam in menu specialised --- src/menu_specialized.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/menu_specialized.c b/src/menu_specialized.c index 3b73d3c06b..34dd1fe2be 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -1476,18 +1476,13 @@ static void sub_81D32F4(struct Sprite *sprite) static const struct OamData sOamData_8625AD0 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), .x = 0, - .matrixNum = 0, - .size = 1, - .tileNum = 0, + .size = SPRITE_SIZE(16x16), .priority = 0, - .paletteNum = 0, - .affineParam = 0 }; static const union AnimCmd sSpriteAnim_8625AD8[] = From 033580da9623d6519c35efcb3594552d3389772d Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 5 Apr 2019 16:11:24 -0500 Subject: [PATCH 63/84] Document secret base --- data/event_scripts.s | 28 +- data/maps/MossdeepCity_House4/scripts.inc | 2 +- data/maps/SecretBase_YellowCave4/scripts.inc | 2 +- data/scripts/secret_base.inc | 38 +- data/scripts/secret_power_tm.inc | 8 - data/specials.inc | 46 +- include/battle.h | 2 +- include/constants/event_objects.h | 2 + include/constants/flags.h | 2 +- include/constants/metatile_behaviors.h | 4 +- include/constants/vars.h | 2 - include/decoration.h | 4 +- include/event_object_movement.h | 10 +- include/event_scripts.h | 6 +- include/global.h | 14 +- include/metatile_behavior.h | 4 +- include/pokemon.h | 2 +- include/secret_base.h | 46 +- include/strings.h | 2 +- src/data/decoration/header.h | 90 +- src/decoration.c | 94 +- src/event_object_movement.c | 71 +- src/field_control_avatar.c | 20 +- src/field_effect.c | 2 +- src/field_player_avatar.c | 4 +- src/fieldmap.c | 6 +- src/fldeff_misc.c | 20 +- src/item.c | 2 +- src/metatile_behavior.c | 12 +- src/new_game.c | 2 +- src/overworld.c | 10 +- src/pokemon.c | 2 +- src/record_mixing.c | 10 +- src/scrcmd.c | 8 +- src/secret_base.c | 1806 +++++++++--------- src/strings.c | 2 +- src/tv.c | 14 +- src/union_room_player_avatar.c | 2 +- 38 files changed, 1139 insertions(+), 1262 deletions(-) diff --git a/data/event_scripts.s b/data/event_scripts.s index 5c3c408aa7..2587c63d27 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -454,7 +454,7 @@ EventScript_SecretBasePC:: @ 823B4BB EventScript_SecretBasePCShowMainMenu:: @ 823B4D3 message Text_SecretBasePCStartMenu waitmessage - goto_if_set FLAG_DECORATION_16, EventScript_SecretBasePCMainMenuChoice + goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, EventScript_SecretBasePCMainMenuChoice goto EventScript_23B531 end @@ -487,16 +487,16 @@ EventScript_23B568:: @ 823B568 compare VAR_RESULT, 0 goto_if_eq EventScript_SecretBasePCShowMainMenu closemessage - special sub_80E9AC0 + special MoveOutOfSecretBase releaseall end EventScript_23B581:: @ 823B581 - special sub_80E9C74 + special ShowSecretBaseDecorationMenu end EventScript_23B585:: @ 823B585 - special sub_80E9C88 + special ShowSecretBaseRegistryMenu end EventScript_RecordMixingSecretBasePC:: @ 823B589 @@ -529,17 +529,17 @@ gUnknown_0823B5E9:: @ 823B5E9 end EventScript_23B5F0:: @ 823B5F0 - special sub_80E9BDC + special GetCurSecretBaseRegistrationValidity compare VAR_RESULT, 1 goto_if_eq EventScript_23B62F compare VAR_RESULT, 2 goto_if_eq EventScript_CantRegisterTooManyBases - special sub_80E980C - msgbox Text_276707, MSGBOX_YESNO + special CopyCurSecretBaseOwnerName_StrVar1 + msgbox Text_WantToRegisterSecretBase, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq EventScript_23B5A1 msgbox Text_2767D1, MSGBOX_SIGN - special sub_80E9C2C + special ToggleCurSecretBaseRegistry special DoSecretBasePCTurnOffEffect releaseall end @@ -549,7 +549,7 @@ EventScript_23B62F:: @ 823B62F compare VAR_RESULT, 0 goto_if_eq EventScript_23B5A1 msgbox Text_2767E9, MSGBOX_SIGN - special sub_80E9C2C + special ToggleCurSecretBaseRegistry special DoSecretBasePCTurnOffEffect releaseall end @@ -573,23 +573,23 @@ EventScript_23B66E:: @ 823B66E end EventScript_23B674:: @ 823B674 - special sub_80EB498 + special SetSecretBaseSecretsTvFlags_Poster end EventScript_23B678:: @ 823B678 - special sub_80EB56C + special SetSecretBaseSecretsTvFlags_MiscFurnature end EventScript_23B67C:: @ 823B67C - special sub_80EB9E0 + special SetSecretBaseSecretsTvFlags_LargeDecorationSpot end EventScript_23B680:: @ 823B680 - special sub_80EBB28 + special SetSecretBaseSecretsTvFlags_SmallDecorationSpot end EventScript_SecretBaseSandOrnament:: @ 823B684 - special sub_80EBE7C + special SetSecretBaseSecretsTvFlags_SandOrnament dofieldeffect FLDEFF_SAND_PILLAR waitstate end diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc index 1763a9c467..4505b1f03f 100644 --- a/data/maps/MossdeepCity_House4/scripts.inc +++ b/data/maps/MossdeepCity_House4/scripts.inc @@ -17,7 +17,7 @@ MossdeepCity_House4_EventScript_222DED:: @ 8222DED MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7 lock faceplayer - special sub_80E8BC8 + special CheckPlayerHasSecretBase compare VAR_RESULT, 0 goto_if_eq MossdeepCity_House4_EventScript_222E14 special GetSecretBaseNearbyMapName diff --git a/data/maps/SecretBase_YellowCave4/scripts.inc b/data/maps/SecretBase_YellowCave4/scripts.inc index 805d7e299b..c4ddb3a9e7 100644 --- a/data/maps/SecretBase_YellowCave4/scripts.inc +++ b/data/maps/SecretBase_YellowCave4/scripts.inc @@ -11,7 +11,7 @@ SecretBase_RedCave1_MapScript2_23B498: @ 823B498 SecretBase_RedCave1_MapScript1_23B4A2: @ 823B4A2 call SecretBase_RedCave1_EventScript_275CE1 - special sub_80E95D4 + special SetSecretBaseOwnerGfxId special sub_80EB1AC end diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index 3475136362..a20469345d 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -310,8 +310,8 @@ SecretBase_RedCave1_Text_275944: @ 8275944 .string "Are you speechless?$" EventScript_2759F1:: @ 82759F1 - special sub_80E8C98 - special sub_80E8BC8 + special GetSecretBaseTypeInFrontOfPlayer + special CheckPlayerHasSecretBase compare VAR_RESULT, 1 goto_if_eq EventScript_275BE8 checkpartymove MOVE_SECRET_POWER @@ -432,11 +432,11 @@ EventScript_275B5B:: @ 8275B5B playse SE_KAIDAN setvar VAR_INIT_SECRET_BASE, 0 setflag FLAG_DECORATION_0 - special sub_80E8E18 - special sub_80E9068 + special SetPlayerSecretBase + special EnterSecretBase setvar VAR_0x8004, 0 setvar VAR_0x8005, 0 - special sub_80E933C + special InitSecretBaseDecorationSprites setvar VAR_SECRET_BASE_INITIALIZED, 1 waitstate end @@ -450,13 +450,13 @@ SecretBase_RedCave1_EventScript_275B81:: @ 8275B81 goto_if_eq SecretBase_RedCave1_EventScript_275BAB closemessage playse SE_KAIDAN - special sub_80E9A90 + special ClearAndLeaveSecretBase end SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB closemessage setflag FLAG_RECEIVED_SECRET_POWER - special sub_80E91F8 + special EnterNewlyCreatedSecretBase waitstate end @@ -469,18 +469,18 @@ EventScript_275BB7:: @ 8275BB7 lockall setvar VAR_INIT_SECRET_BASE, 1 playse SE_KAIDAN - special sub_80E9744 + special IsCurSecretBaseOwnedByAnotherPlayer compare VAR_RESULT, 0 goto_if_eq EventScript_275BDB clearflag FLAG_DECORATION_0 - special sub_80E9068 + special EnterSecretBase setvar VAR_SECRET_BASE_INITIALIZED, 0 waitstate end EventScript_275BDB:: @ 8275BDB setflag FLAG_DECORATION_0 - special sub_80E9068 + special EnterSecretBase setvar VAR_SECRET_BASE_INITIALIZED, 0 waitstate end @@ -500,7 +500,7 @@ EventScript_275BE8:: @ 8275BE8 compare VAR_RESULT, 0 goto_if_eq EventScript_275CDE fadescreenswapbuffers 1 - special sub_80E9B70 + special MoveOutOfSecretBaseFromOutside closemessage fadescreenswapbuffers 0 msgbox Text_276A95, MSGBOX_YESNO @@ -569,7 +569,7 @@ SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1 EventScript_275D0C:: @ 8275D0C setvar VAR_0x8004, 0 setvar VAR_0x8005, 0 - special sub_80E933C + special InitSecretBaseDecorationSprites setvar VAR_SECRET_BASE_INITIALIZED, 1 end @@ -626,7 +626,7 @@ SecretBase_YellowCave1_EventScript_275D64:: @ 8275D64 SecretBase_YellowCave2_EventScript_275D64:: @ 8275D64 SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64 SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64 - special sub_80EA354 + special GetSecretBaseOwnerInteractionState compare VAR_0x8004, 0 goto_if_eq SecretBase_RedCave1_EventScript_275DD6 compare VAR_0x8004, 1 @@ -1010,7 +1010,7 @@ SecretBase_RedCave1_EventScript_27627C:: @ 827627C end SecretBase_RedCave1_EventScript_276286:: @ 8276286 - special sub_80EA2E4 + special PrepSecretBaseBattleFlags setvar VAR_0x8004, SPECIAL_BATTLE_SECRET_BASE setvar VAR_0x8005, 0 special DoSpecialTrainerBattle @@ -1039,12 +1039,20 @@ SecretBase_RedCave1_EventScript_2762C5:: @ 82762C5 .include "data/scripts/secret_power_tm.inc" +SecretBase_EventScript_DollInteract:: @ 82766A2 + special sub_80EB290 + end + +SecretBase_EventScript_CushionInteract:: @ 82766A6 + special sub_80EB2C8 + end + Text_2766AA: @ 82766AA .string "All decorations and furniture in your\n" .string "SECRET BASE will be returned to your PC.\p" .string "Is that okay?$" -Text_276707: @ 8276707 +Text_WantToRegisterSecretBase: @ 8276707 .string "Do you want to register\n" .string "{STR_VAR_1}'s SECRET BASE?$" diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index ed7216357c..647064829e 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -103,11 +103,3 @@ Route111_Movement_276696: @ 8276696 walk_down walk_down step_end - -EventScript_SecretPower1:: @ 82766A2 - special sub_80EB290 - end - -EventScript_SecretPower2:: @ 82766A6 - special sub_80EB2C8 - end diff --git a/data/specials.inc b/data/specials.inc index e16b2753dc..7a2b0f975f 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -14,25 +14,25 @@ gSpecials:: @ 81DBA64 def_special sub_80AF9F8 def_special CleanupLinkRoomState def_special ExitLinkRoom - def_special sub_80E8E18 - def_special sub_80E8BC8 - def_special sub_80E9068 - def_special sub_80E9A90 - def_special sub_80E9AC0 - def_special sub_80E9744 - def_special sub_80E9BDC - def_special sub_80E9C2C - def_special sub_80E9C74 - def_special sub_80E9C88 - def_special sub_80EA2E4 - def_special sub_80EA354 - def_special sub_80E933C + def_special SetPlayerSecretBase + def_special CheckPlayerHasSecretBase + def_special EnterSecretBase + def_special ClearAndLeaveSecretBase + def_special MoveOutOfSecretBase + def_special IsCurSecretBaseOwnedByAnotherPlayer + def_special GetCurSecretBaseRegistrationValidity + def_special ToggleCurSecretBaseRegistry + def_special ShowSecretBaseDecorationMenu + def_special ShowSecretBaseRegistryMenu + def_special PrepSecretBaseBattleFlags + def_special GetSecretBaseOwnerInteractionState + def_special InitSecretBaseDecorationSprites def_special sub_8127E18 def_special sub_81297AC - def_special sub_80E8C98 - def_special sub_80E95D4 + def_special GetSecretBaseTypeInFrontOfPlayer + def_special SetSecretBaseOwnerGfxId def_special sub_8129708 - def_special sub_80E91F8 + def_special EnterNewlyCreatedSecretBase def_special sub_80EA30C def_special DoSecretBasePCTurnOffEffect def_special RecordMixingPlayerSpotTriggered @@ -313,7 +313,7 @@ gSpecials:: @ 81DBA64 def_special sub_80AFC60 def_special PutZigzagoonInPlayerParty def_special IsStarterInParty - def_special sub_80E980C + def_special CopyCurSecretBaseOwnerName_StrVar1 def_special ScriptCheckFreePokemonStorageSpace def_special DoSealedChamberShakingEffect1 def_special sub_8139B60 @@ -340,7 +340,7 @@ gSpecials:: @ 81DBA64 def_special ScriptGetPartyMonSpecies def_special sub_81B98DC def_special nullsub_54 - def_special sub_80E9B70 + def_special MoveOutOfSecretBaseFromOutside def_special LoadPlayerBag def_special sub_80B05B4 def_special SetPacifidlogTMReceivedDay @@ -361,17 +361,17 @@ gSpecials:: @ 81DBA64 def_special sub_80EED10 def_special sub_80EED34 def_special sub_80EB1AC - def_special sub_80EBE7C + def_special SetSecretBaseSecretsTvFlags_SandOrnament def_special sub_80EB300 def_special sub_80EB438 def_special sub_80EB368 def_special sub_80EB3D0 def_special sub_80EB290 def_special sub_80EB2C8 - def_special sub_80EB56C - def_special sub_80EB9E0 - def_special sub_80EBB28 - def_special sub_80EB498 + def_special SetSecretBaseSecretsTvFlags_MiscFurnature + def_special SetSecretBaseSecretsTvFlags_LargeDecorationSpot + def_special SetSecretBaseSecretsTvFlags_SmallDecorationSpot + def_special SetSecretBaseSecretsTvFlags_Poster def_special sub_818D9C0 def_special sub_818DAEC def_special sub_818DBE8 diff --git a/include/battle.h b/include/battle.h index e3c37aa991..0f4087c90b 100644 --- a/include/battle.h +++ b/include/battle.h @@ -223,7 +223,7 @@ struct StatsArray struct BattleResources { - struct SecretBaseRecord* secretBase; + struct SecretBase* secretBase; struct ResourceFlags *flags; struct BattleScriptsStack* battleScriptsStack; struct BattleCallbacksStack* battleCallbackStack; diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 9973477da2..07ed2d40c0 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -274,6 +274,8 @@ #define TRACKS_FOOT 1 #define TRACKS_BIKE_TIRE 2 +#define FIRST_DECORATION_SPRITE_GFX EVENT_OBJ_GFX_PICHU_DOLL + #define EVENT_OBJ_ID_PLAYER 0xFF #define EVENT_OBJ_ID_CAMERA 0x7F diff --git a/include/constants/flags.h b/include/constants/flags.h index 0450e988dd..c56e9013d3 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -287,7 +287,7 @@ #define FLAG_RECEIVED_TM41 0x109 #define FLAG_RECEIVED_LAVARIDGE_EGG 0x10A #define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B -#define FLAG_DECORATION_16 0x10C +#define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C #define FLAG_RECEIVED_TM46 0x10D #define FLAG_CONTEST_SKETCH_CREATED 0x10E #define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index d8d75066ca..44bbd97291 100755 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -182,7 +182,7 @@ #define MB_SECRET_BASE_UNUSED 0xB2 #define MB_BLOCK_DECORATION 0xB3 #define MB_SECRET_BASE_DECORATION 0xB4 -#define MB_SECRET_BASE_LARGE_MAT_EDGE 0xB5 +#define MB_HOLDS_SMALL_DECORATION 0xB5 #define MB_UNUSED_B6 0xB6 #define MB_SECRET_BASE_NORTH_WALL 0xB7 #define MB_SECRET_BASE_BALLOON 0xB8 @@ -196,7 +196,7 @@ #define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0 #define MB_IMPASSABLE_WEST_AND_EAST 0xC1 #define MB_SECRET_BASE_HOLE 0xC2 -#define MB_LARGE_MAT_CENTER 0xC3 +#define MB_HOLDS_LARGE_DECORATION 0xC3 #define MB_SECRET_BASE_TV_SHIELD 0xC4 #define MB_PLAYER_ROOM_PC_ON 0xC5 #define MB_C6 0xC6 diff --git a/include/constants/vars.h b/include/constants/vars.h index 20524611b1..6fd1c16dd0 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -1,8 +1,6 @@ #ifndef GUARD_CONSTANTS_VARS_H #define GUARD_CONSTANTS_VARS_H -#define UNKNOWN_VAR_OFFSET_3F20 0x3F20 - #define VARS_START 0x4000 // temporary vars diff --git a/include/decoration.h b/include/decoration.h index f613c25d2e..0e6d6cfdd6 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -9,7 +9,7 @@ enum DecorPerm { DECORPERM_PASS_FLOOR, DECORPERM_BEHIND_FLOOR, DECORPERM_NA_WALL, - DECORPERM_SOLID_MAT + DECORPERM_SPRITE }; enum DecorShape { @@ -68,7 +68,7 @@ extern EWRAM_DATA u8 gCurDecorationIndex; void sub_8126968(void); void sub_8126AD8(u8 taskId); -void sub_8127D38(u16 mapX, u16 mapY, u16 decor); +void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor); void sub_8126B2C(u8 taskId); void sub_8127208(u8 taskId); void sub_8127250(u8 *dest, u8 decorCat); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index ab555fda05..4f3f99cd16 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -74,10 +74,10 @@ u8 GetFirstInactiveEventObjectId(void); void RemoveEventObjectByLocalIdAndMap(u8, u8, u8); void LoadPlayerObjectReflectionPalette(u16, u8); void LoadSpecialObjectReflectionPalette(u16, u8); -void sub_808EBA8(u8, u8, u8, s16, s16); +void TryMoveEventObjectToMapCoords(u8, u8, u8, s16, s16); void PatchObjectPalette(u16, u8); void sub_808E16C(s16, s16); -void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); +void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); void sub_8092FF0(s16, s16, s16 *, s16 *); u8 GetFaceDirectionAnimNum(u8); void sub_80930E0(s16 *, s16 *, s16, s16); @@ -86,7 +86,7 @@ void EventObjectClearHeldMovementIfActive(struct EventObject *); void TrySpawnEventObjects(s16, s16); u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction); u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); -u8 show_sprite(u8, u8, u8); +u8 TrySpawnEventObject(u8, u8, u8); u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z); u8 SpawnSpecialEventObject(struct EventObjectTemplate *); void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *); @@ -103,8 +103,8 @@ void sub_808E78C(u8, u8, u8, u8); void sub_808E75C(s16, s16); void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup); void ShiftEventObjectCoords(struct EventObject *, s16, s16); -void sub_808EB08(struct EventObject *, s16, s16); -void sub_808F254(u8, u8, u8); +void MoveEventObjectToMapCoords(struct EventObject *, s16, s16); +void TryOverrideEventObjectTemplateCoords(u8, u8, u8); void InitEventObjectPalettes(u8 palSlot); void UpdateEventObjectCurrentMovement(struct EventObject *, struct Sprite *, bool8(struct EventObject *, struct Sprite *)); u8 EventObjectFaceOppositeDirection(struct EventObject *, u8); diff --git a/include/event_scripts.h b/include/event_scripts.h index bf7084326d..d35bf962d4 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -15,8 +15,8 @@ extern const u8 EventScript_TryDoDoubleTrainerBattle[]; extern const u8 EventScript_TryDoNormalTrainerBattle[]; extern const u8 EventScript_TryDoDoubleRematchBattle[]; extern const u8 EventScript_TryDoRematchBattle[]; -extern const u8 EventScript_SecretPower1[]; -extern const u8 EventScript_SecretPower2[]; +extern const u8 SecretBase_EventScript_DollInteract[]; +extern const u8 SecretBase_EventScript_CushionInteract[]; extern const u8 gTVBravoTrainerText00[]; @@ -528,8 +528,6 @@ extern const u8 EventScript_PlayerPCMale[]; extern const u8 EventScript_PlayerPCFemale[]; extern const u8 EventScript_SecretBasePC[]; extern const u8 EventScript_RecordMixingSecretBasePC[]; -extern const u8 EventScript_SecretPower1[]; -extern const u8 EventScript_SecretPower2[]; extern const u8 EventScript_PC[]; extern const u8 EventScript_TestSignpostMsg[]; extern const u8 EventScript_HiddenItemScript[]; diff --git a/include/global.h b/include/global.h index 7b570d72e2..4523ece214 100644 --- a/include/global.h +++ b/include/global.h @@ -471,21 +471,21 @@ struct SecretBaseParty u8 EVs[PARTY_SIZE]; }; -struct SecretBaseRecord +struct SecretBase { /*0x1A9C*/ u8 secretBaseId; /*0x1A9D*/ u8 sbr_field_1_0:4; /*0x1A9D*/ u8 gender:1; - /*0x1A9D*/ u8 sbr_field_1_5:1; - /*0x1A9D*/ u8 sbr_field_1_6:2; + /*0x1A9D*/ u8 battledOwnerToday:1; + /*0x1A9D*/ u8 registryStatus:2; /*0x1A9E*/ u8 trainerName[PLAYER_NAME_LENGTH]; /*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class /*0x1AA9*/ u8 language; - /*0x1AAA*/ u16 sbr_field_e; - /*0x1AAC*/ u8 sbr_field_10; + /*0x1AAA*/ u16 numSecretBasesReceived; + /*0x1AAC*/ u8 numTimesEntered; /*0x1AAD*/ u8 sbr_field_11; /*0x1AAE*/ u8 decorations[16]; - /*0x1ABE*/ u8 decorationPos[16]; + /*0x1ABE*/ u8 decorationPositions[16]; /*0x1AD0*/ struct SecretBaseParty party; }; @@ -915,7 +915,7 @@ struct SaveBlock1 /*0x139C*/ u16 vars[VARS_COUNT]; /*0x159C*/ u32 gameStats[NUM_GAME_STATS]; /*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT]; - /*0x1A9C*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + /*0x1A9C*/ struct SecretBase secretBases[SECRET_BASES_COUNT]; /*0x271C*/ u8 playerRoomDecor[12]; /*0x2728*/ u8 playerRoomDecorPos[12]; /*0x2734*/ u8 decorDesk[10]; diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index e18639faf3..7fd1d13018 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -59,8 +59,8 @@ bool8 MetatileBehavior_IsSecretBasePoster(u8); bool8 MetatileBehavior_IsNormal(u8); bool8 MetatileBehavior_IsSecretBaseNorthWall(u8); bool8 MetatileBehavior_IsMB_B2_Duplicate(u8); -bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8); -bool8 MetatileBehavior_IsLargeMatCenter(u8); +bool8 MetatileBehavior_HoldsSmallDecoration(u8); +bool8 MetatileBehavior_HoldsLargeDecoration(u8); bool8 MetatileBehavior_IsSecretBaseHole(u8); bool8 MetatileBehavior_IsSecretBaseBalloon(u8); bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8); diff --git a/include/pokemon.h b/include/pokemon.h index 150486c0e0..26d715d891 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -509,7 +509,7 @@ u8 GetMonsStateToDoubles(void); u8 GetMonsStateToDoubles_2(void); u8 GetAbilityBySpecies(u16 species, bool8 altAbility); u8 GetMonAbility(struct Pokemon *mon); -void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord); +void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord); u8 GetSecretBaseTrainerPicIndex(void); u8 GetSecretBaseTrainerClass(void); bool8 IsPlayerPartyAndPokemonStorageFull(void); diff --git a/include/secret_base.h b/include/secret_base.h index 17efc314d3..4e323b0c6d 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -1,40 +1,30 @@ #ifndef GUARD_SECRET_BASE_H #define GUARD_SECRET_BASE_H -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations -void sub_80E9578(void); -void sub_80E980C(void); -void sub_80EB18C(struct SecretBaseRecord *dest); -void sub_80E9914(void); +void HideSecretBaseDecorationSprites(void); +void CopyCurSecretBaseOwnerName_StrVar1(void); +void ClearJapaneseSecretBases(struct SecretBase *dest); +void SetPlayerSecretBaseParty(void); u8 *GetSecretBaseMapName(u8 *dest); const u8 *GetSecretBaseTrainerLoseText(void); -void sub_80E8EE0(struct MapEvents const *events); -void sub_80E9238(u8 flagIn); -bool8 CurrentMapIsSecretBase(void); +void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events); +void InitSecretBaseAppearance(bool8 hidePC); +bool8 CurMapIsSecretBase(void); void SecretBasePerStepCallback(u8 taskId); -bool8 sub_80E9680(void); -void sub_80EB498(void); -void sub_80EB56C(void); -void sub_80EB9E0(void); -void sub_80EBB28(void); +bool8 TrySetCurSecretBase(void); +void SetSecretBaseSecretsTvFlags_Poster(void); +void SetSecretBaseSecretsTvFlags_MiscFurnature(void); +void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void); +void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void); void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events); -bool8 sub_80E909C(void); +bool8 SecretBaseMapPopupEnabled(void); void sub_80EB218(void); -void ResetSecretBases(void); - -// SetCurrentSecretBaseFromPosition -void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events); -// SetCurrentSecretBaseVar -void sub_80E8B6C(void); -void sub_80E8BC8(void); -void sub_80E8D4C(void); +void ClearSecretBases(void); +void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events); +void TrySetCurSecretBaseIndex(void); +void CheckPlayerHasSecretBase(void); +void ToggleSecretBaseEntranceMetatile(void); void EnableBothScriptContexts(void); void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx); - - #endif //GUARD_SECRET_BASE_H diff --git a/include/strings.h b/include/strings.h index c279cf75c9..74e364232e 100644 --- a/include/strings.h +++ b/include/strings.h @@ -132,7 +132,7 @@ extern const u8 gText_ApostropheSBase[]; extern const u8 gText_NoRegistry[]; extern const u8 gText_OkayToDeleteFromRegistry[]; extern const u8 gText_RegisteredDataDeleted[]; -extern const u8 gUnknown_085EA79D[]; +extern const u8 gText_DelRegist[]; extern const u8 gText_CommErrorEllipsis[]; extern const u8 gText_MoveCloserToLinkPartner[]; extern const u8 gText_CommErrorCheckConnections[]; diff --git a/src/data/decoration/header.h b/src/data/decoration/header.h index a909bd9fd8..55458c7a3f 100644 --- a/src/data/decoration/header.h +++ b/src/data/decoration/header.h @@ -686,7 +686,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PICHU_DOLL, _("PICHU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -695,7 +695,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PIKACHU_DOLL, _("PIKACHU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -704,7 +704,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MARILL_DOLL, _("MARILL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -713,7 +713,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TOGEPI_DOLL, _("TOGEPI DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -722,7 +722,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CYNDAQUIL_DOLL, _("CYNDAQUIL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -731,7 +731,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CHIKORITA_DOLL, _("CHIKORITA DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -740,7 +740,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TOTODILE_DOLL, _("TOTODILE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -749,7 +749,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_JIGGLYPUFF_DOLL, _("JIGGLYPUFF DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -758,7 +758,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MEOWTH_DOLL, _("MEOWTH DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -767,7 +767,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CLEFAIRY_DOLL, _("CLEFAIRY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -776,7 +776,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DITTO_DOLL, _("DITTO DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -785,7 +785,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SMOOCHUM_DOLL, _("SMOOCHUM DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -794,7 +794,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TREECKO_DOLL, _("TREECKO DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -803,7 +803,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TORCHIC_DOLL, _("TORCHIC DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -812,7 +812,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MUDKIP_DOLL, _("MUDKIP DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -821,7 +821,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DUSKULL_DOLL, _("DUSKULL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -830,7 +830,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WYNAUT_DOLL, _("WYNAUT DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -839,7 +839,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BALTOY_DOLL, _("BALTOY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -848,7 +848,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_KECLEON_DOLL, _("KECLEON DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -857,7 +857,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_AZURILL_DOLL, _("AZURILL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -866,7 +866,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SKITTY_DOLL, _("SKITTY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -875,7 +875,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SWABLU_DOLL, _("SWABLU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -884,7 +884,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_GULPIN_DOLL, _("GULPIN DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -893,7 +893,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_LOTAD_DOLL, _("LOTAD DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -902,7 +902,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SEEDOT_DOLL, _("SEEDOT DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -911,7 +911,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PIKA_CUSHION, _("PIKA CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -920,7 +920,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_ROUND_CUSHION, _("ROUND CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -929,7 +929,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_KISS_CUSHION, _("KISS CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -938,7 +938,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_ZIGZAG_CUSHION, _("ZIGZAG CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -947,7 +947,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SPIN_CUSHION, _("SPIN CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -956,7 +956,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DIAMOND_CUSHION, _("DIAMOND CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -965,7 +965,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BALL_CUSHION, _("BALL CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -974,7 +974,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_GRASS_CUSHION, _("GRASS CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -983,7 +983,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_FIRE_CUSHION, _("FIRE CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -992,7 +992,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WATER_CUSHION, _("WATER CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -1001,7 +1001,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SNORLAX_DOLL, _("SNORLAX DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1010,7 +1010,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_RHYDON_DOLL, _("RHYDON DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1019,7 +1019,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_LAPRAS_DOLL, _("LAPRAS DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1028,7 +1028,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_VENUSAUR_DOLL, _("VENUSAUR DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1037,7 +1037,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CHARIZARD_DOLL, _("CHARIZARD DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1046,7 +1046,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BLASTOISE_DOLL, _("BLASTOISE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1055,7 +1055,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WAILMER_DOLL, _("WAILMER DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1064,7 +1064,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGIROCK_DOLL, _("REGIROCK DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1073,7 +1073,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGICE_DOLL, _("REGICE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1082,7 +1082,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGISTEEL_DOLL, _("REGISTEEL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, diff --git a/src/decoration.c b/src/decoration.c index 4baa6d4c8e..201fa74b1a 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -444,7 +444,7 @@ void sub_8126968(void) if (gUnknown_0203A17C.isPlayerRoom == FALSE) { gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPos; + gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; } if (gUnknown_0203A17C.isPlayerRoom == TRUE) { @@ -507,7 +507,7 @@ void sub_8126AD8(u8 taskId) { sub_8126ABC(); gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPos; + gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations); gUnknown_0203A17C.isPlayerRoom = FALSE; gTasks[taskId].func = sub_8126B80; @@ -1165,52 +1165,40 @@ u16 sub_8127B54(u8 decor, u8 a1) void sub_8127B90(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decor) { - u16 i; - u16 j; + u16 i, j; + s16 x, y; u16 behavior; u16 impassableFlag; - u16 v0; - u16 v1; - s16 decLeft; - s16 decBottom; + u16 posterSide; + u16 elevation; - for (i = 0; i < decHeight; i ++) + for (j = 0; j < decHeight; j++) { - decBottom = mapY - decHeight + 1 + i; - for (j = 0; j < decWidth; j ++) + y = mapY - decHeight + 1 + j; + for (i = 0; i < decWidth; i++) { - decLeft = mapX + j; - behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decor].tiles[i * decWidth + j]); + x = mapX + i; + behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decor].tiles[j * decWidth + i]); if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decor].permission != DECORPERM_PASS_FLOOR && (behavior >> 12))) - { impassableFlag = METATILE_COLLISION_MASK; - } else - { - impassableFlag = 0x000; - } - if (gDecorations[decor].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(decLeft, decBottom)) == TRUE) - { - v0 = 1; - } + impassableFlag = 0; + + if (gDecorations[decor].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE) + posterSide = 1; else - { - v0 = 0; - } - v1 = sub_8127B54(gDecorations[decor].id, i * decWidth + j); - if (v1 != 0xFFFF) - { - MapGridSetMetatileEntryAt(decLeft, decBottom, (gDecorations[decor].tiles[i * decWidth + j] + (0x200 | v0)) | impassableFlag | v1); - } + posterSide = 0; + + elevation = sub_8127B54(gDecorations[decor].id, j * decWidth + i); + if (elevation != 0xFFFF) + MapGridSetMetatileEntryAt(x, y, (gDecorations[decor].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag | elevation); else - { - MapGridSetMetatileIdAt(decLeft, decBottom, (gDecorations[decor].tiles[i * decWidth + j] + (0x200 | v0)) | impassableFlag); - } + MapGridSetMetatileIdAt(x, y, (gDecorations[decor].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag); } } } -void sub_8127D38(u16 mapX, u16 mapY, u16 decor) +void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor) { switch (gDecorations[decor].shape) { @@ -1264,13 +1252,15 @@ void sub_8127E18(void) break; } } - VarSet(UNKNOWN_VAR_OFFSET_3F20 + gMapHeader.events->eventObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]); + VarSet( + VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[j].graphicsId - EVENT_OBJ_GFX_VAR_0), + sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]); gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId; gSpecialVar_0x8006 = sCurDecorMapX; gSpecialVar_0x8007 = sCurDecorMapY; - show_sprite(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - sub_808EBA8(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_808F254(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryMoveEventObjectToMapCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + TryOverrideEventObjectTemplateCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); break; } } @@ -1591,7 +1581,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration) } } break; - case DECORPERM_SOLID_MAT: + case DECORPERM_SPRITE: curY = gTasks[taskId].data[1]; for (j=0; jshape == DECORSHAPE_1x2) { - if (!MetatileBehavior_IsLargeMatCenter(behaviorAt)) + if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) { return FALSE; } } - else if (!MetatileBehavior_IsSecretBaseLargeMatEdge(behaviorAt)) + else if (!MetatileBehavior_HoldsSmallDecoration(behaviorAt)) { - if (!MetatileBehavior_IsLargeMatCenter(behaviorAt)) + if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) { return FALSE; } @@ -1646,9 +1636,9 @@ void sub_81289F0(u8 taskId) { ClearDialogWindowAndFrame(0, 0); sub_8128AAC(taskId); - if (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].permission != DECORPERM_SOLID_MAT) + if (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].permission != DECORPERM_SPRITE) { - sub_8127D38(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorInventoryItems[gCurDecorationIndex]); + ShowDecorationOnMap(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorInventoryItems[gCurDecorationIndex]); } else { @@ -1750,7 +1740,7 @@ void sub_8128C64(u8 taskId) switch (data[2]) { case 0: - sub_80E9578(); + HideSecretBaseDecorationSprites(); data[2] ++; break; case 1: @@ -2043,7 +2033,7 @@ u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuf { sub_8129048(data); data->decoration = &gDecorations[decor]; - if (data->decoration->permission == DECORPERM_SOLID_MAT) + if (data->decoration->permission == DECORPERM_SPRITE) { return AddPseudoEventObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1); } @@ -2104,7 +2094,7 @@ u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor sub_8129048(&sPlaceDecorationGraphicsDataBuffer); sPlaceDecorationGraphicsDataBuffer.decoration = &gDecorations[decor]; - if (sPlaceDecorationGraphicsDataBuffer.decoration->permission != DECORPERM_SOLID_MAT) + if (sPlaceDecorationGraphicsDataBuffer.decoration->permission != DECORPERM_SPRITE) { sub_81291E8(&sPlaceDecorationGraphicsDataBuffer); SetDecorSelectionBoxOamAttributes(sPlaceDecorationGraphicsDataBuffer.decoration->shape); @@ -2192,7 +2182,7 @@ void sub_8129708(void) { gSpecialVar_Result = 1; } - else if (gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SOLID_MAT) + else if (gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SPRITE) { gSpecialVar_0x8005 = sDecorRearrangementDataBuffer[gSpecialVar_0x8004].flagId; sub_81296EC(sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx); @@ -2235,7 +2225,7 @@ void sub_81297F8(void) perm = gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[i].idx]].permission; posX = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] >> 4; posY = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F; - if (perm != DECORPERM_SOLID_MAT) + if (perm != DECORPERM_SPRITE) { for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y ++) { @@ -2522,7 +2512,7 @@ bool8 sub_8129FC8(u8 taskId) { if (gUnknown_0203A17C.items[i] != 0) { - if (gDecorations[gUnknown_0203A17C.items[i]].permission == DECORPERM_SOLID_MAT) + if (gDecorations[gUnknown_0203A17C.items[i]].permission == DECORPERM_SPRITE) { sub_8129D8C(gUnknown_0203A17C.items[i], sDecorRearrangementDataBuffer); if (sub_8129E74(taskId, i, sDecorRearrangementDataBuffer) == TRUE) @@ -2550,7 +2540,7 @@ void sub_812A040(u8 left, u8 top, u8 right, u8 bottom) decorIdx = gUnknown_0203A17C.items[i]; xOff = gUnknown_0203A17C.pos[i] >> 4; yOff = gUnknown_0203A17C.pos[i] & 0x0F; - if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SOLID_MAT && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff) + if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SPRITE && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff) { sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx = i; sub_8129F20(); @@ -2656,7 +2646,7 @@ void sub_812A2C4(u8 taskId) switch (data[2]) { case 0: - sub_80E9578(); + HideSecretBaseDecorationSprites(); data[2] ++; break; case 1: diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 45b721f560..3e5362de41 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1534,10 +1534,10 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl paletteSlot -= 16; sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); } + if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE) - { eventObject->invisible = TRUE; - } + *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) @@ -1545,6 +1545,7 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl gEventObjects[eventObjectId].active = FALSE; return EVENT_OBJECTS_COUNT; } + sprite = &gSprites[spriteId]; sub_8092FF0(eventObject->currentCoords.x + cameraX, eventObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); @@ -1557,15 +1558,14 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl eventObject->spriteId = spriteId; eventObject->inanimate = graphicsInfo->inanimate; if (!eventObject->inanimate) - { StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); - } + SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); UpdateEventObjectVisibility(eventObject, sprite); return eventObjectId; } -static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 TrySpawnEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { u8 eventObjectId; struct SpriteTemplate spriteTemplate; @@ -1579,14 +1579,12 @@ static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u spriteTemplate.images = &spriteFrameImage; eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); if (eventObjectId == EVENT_OBJECTS_COUNT) - { return EVENT_OBJECTS_COUNT; - } + gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images; - if (subspriteTables != NULL) - { + if (subspriteTables) SetSubspriteTables(&gSprites[gEventObjects[eventObjectId].spriteId], subspriteTables); - } + return eventObjectId; } @@ -1596,7 +1594,7 @@ u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) s16 cameraY; GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return TrySpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + return TrySpawnEventObjectTemplate(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) @@ -1619,19 +1617,17 @@ u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 l return SpawnSpecialEventObject(&eventObjectTemplate); } -u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup) +u8 TrySpawnEventObject(u8 localId, u8 mapNum, u8 mapGroup) { struct EventObjectTemplate *eventObjectTemplate; - s16 cameraX; - s16 cameraY; + s16 cameraX, cameraY; eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); - if (eventObjectTemplate == NULL) - { + if (!eventObjectTemplate) return EVENT_OBJECTS_COUNT; - } + GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return TrySpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); + return TrySpawnEventObjectTemplate(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); } static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) @@ -1765,7 +1761,7 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY) if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX && !FlagGet(template->flagId)) - TrySpawnEventObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + TrySpawnEventObjectTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } } } @@ -2245,7 +2241,7 @@ static void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) eventObject->currentCoords.y = y; } -void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) +void MoveEventObjectToMapCoords(struct EventObject *eventObject, s16 x, s16 y) { struct Sprite *sprite; const struct EventObjectGraphicsInfo *graphicsInfo; @@ -2260,20 +2256,17 @@ void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) sprite->pos1.y += 16 + sprite->centerToCornerVecY; sub_808E38C(eventObject); if (eventObject->trackedByCamera) - { CameraObjectReset1(); - } } -void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +void TryMoveEventObjectToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { x += 7; y += 7; - sub_808EB08(&gEventObjects[eventObjectId], x, y); + MoveEventObjectToMapCoords(&gEventObjects[eventObjectId], x, y); } } @@ -2604,15 +2597,13 @@ void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject) } } -void OverrideMovementTypeForEventObject(const struct EventObject *eventObject, const u8 *script) +static void OverrideEventObjectTemplateScript(const struct EventObject *eventObject, const u8 *script) { struct EventObjectTemplate *eventObjectTemplate; eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); - if (eventObjectTemplate != NULL) - { + if (eventObjectTemplate) eventObjectTemplate->script = script; - } } void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType) @@ -2626,30 +2617,26 @@ void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObje } } -void sub_808F254(u8 localId, u8 mapNum, u8 mapGroup) +void TryOverrideEventObjectTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) - { OverrideTemplateCoordsForEventObject(&gEventObjects[eventObjectId]); - } } -void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) +void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorationCategory) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - switch (decorCat) + switch (decorationCategory) { - case DECORCAT_DOLL: - OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower1); - break; - case DECORCAT_CUSHION: - OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower2); - break; + case DECORCAT_DOLL: + OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_DollInteract); + break; + case DECORCAT_CUSHION: + OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_CushionInteract); + break; } } } diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 5b685173e0..455c38debb 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -16,6 +16,7 @@ #include "fldeff_misc.h" #include "item_menu.h" #include "link.h" +#include "match_call.h" #include "metatile_behavior.h" #include "overworld.h" #include "pokemon.h" @@ -32,7 +33,6 @@ #include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" -#include "match_call.h" static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; @@ -227,8 +227,8 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil && script != EventScript_PlayerPCFemale && script != EventScript_SecretBasePC && script != EventScript_RecordMixingSecretBasePC - && script != EventScript_SecretPower1 - && script != EventScript_SecretPower2 + && script != SecretBase_EventScript_DollInteract + && script != SecretBase_EventScript_CushionInteract && script != EventScript_PC) PlaySE(SE_SELECT); @@ -354,7 +354,7 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position if (direction == DIR_NORTH) { gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId; - if (sub_80E9680()) + if (TrySetCurSecretBase()) return EventScript_2759F1; } return NULL; @@ -421,23 +421,23 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me return EventScript_SecretBaseShieldOrToyTV; if (MetatileBehavior_IsMB_C6(metatileBehavior) == TRUE) { - sub_80EB56C(); + SetSecretBaseSecretsTvFlags_MiscFurnature(); return NULL; } - if (MetatileBehavior_IsLargeMatCenter(metatileBehavior) == TRUE) + if (MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) { - sub_80EB9E0(); + SetSecretBaseSecretsTvFlags_LargeDecorationSpot(); return NULL; } - if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatileBehavior) == TRUE) + if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE) { - sub_80EBB28(); + SetSecretBaseSecretsTvFlags_SmallDecorationSpot(); return NULL; } } else if (MetatileBehavior_IsSecretBasePoster(metatileBehavior) == TRUE) { - sub_80EB498(); + SetSecretBaseSecretsTvFlags_Poster(); return NULL; } diff --git a/src/field_effect.c b/src/field_effect.c index 6fdf996f2c..22bf44f281 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -3485,7 +3485,7 @@ static void sub_80B9978(struct Task *task) eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; sprite = &gSprites[eventObject->spriteId]; eventObject->inanimate = 0; - sub_808EB08(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); + MoveEventObjectToMapCoords(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); sprite->pos2.x = 0; sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index a070fe0e10..ab2667c8c7 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1188,9 +1188,9 @@ u8 PlayerGetZCoord(void) return gEventObjects[gPlayerAvatar.eventObjectId].previousElevation; } -void sub_808BC90(s16 a, s16 b) +void sub_808BC90(s16 x, s16 y) { - sub_808EB08(&gEventObjects[gPlayerAvatar.eventObjectId], a, b); + MoveEventObjectToMapCoords(&gEventObjects[gPlayerAvatar.eventObjectId], x, y); } u8 TestPlayerAvatarFlags(u8 a) diff --git a/src/fieldmap.c b/src/fieldmap.c index a96b71c0fd..b2b80a2df8 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -52,15 +52,15 @@ struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection * void InitMap(void) { InitMapLayoutData(&gMapHeader); - sub_80E8EE0(gMapHeader.events); + SetOccupiedSecretBaseEntranceMetatiles(gMapHeader.events); RunOnLoadMapScript(); } void InitMapFromSavedGame(void) { InitMapLayoutData(&gMapHeader); - sub_80E9238(0); - sub_80E8EE0(gMapHeader.events); + InitSecretBaseAppearance(FALSE); + SetOccupiedSecretBaseEntranceMetatiles(gMapHeader.events); LoadSavedMapView(); RunOnLoadMapScript(); UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index efde43b764..39ed302609 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -488,8 +488,8 @@ static void sub_80F9DFC(u8 taskId) static void SetCurrentSecretBase(void) { - sub_80E9608(&gPlayerFacingPosition, gMapHeader.events); - sub_80E8B6C(); + SetCurSecretBaseIdFromPosition(&gPlayerFacingPosition, gMapHeader.events); + TrySetCurSecretBaseIndex(); } static void AdjustSecretPowerSpritePixelOffsets(void) @@ -544,7 +544,7 @@ bool8 SetUpFieldMove_SecretPower(void) { u8 mb; - sub_80E8BC8(); + CheckPlayerHasSecretBase(); if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH) return FALSE; @@ -623,10 +623,8 @@ static void CaveEntranceSpriteCallback2(struct Sprite *sprite) { if (sprite->data[0] < 40) { - sprite->data[0]++; - - if (sprite->data[0] == 20) - sub_80E8D4C(); + if (++sprite->data[0] == 20) + ToggleSecretBaseEntranceMetatile(); } else { @@ -681,7 +679,7 @@ bool8 FldEff_SecretPowerTree(void) 148); if (gFieldEffectArguments[7] == 1 || gFieldEffectArguments[7] == 3) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); return FALSE; } @@ -702,7 +700,7 @@ static void TreeEntranceSpriteCallback2(struct Sprite *sprite) if (sprite->data[0] >= 40) { if (gFieldEffectArguments[7] == 0 || gFieldEffectArguments[7] == 2) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); sprite->data[0] = 0; sprite->callback = TreeEntranceSpriteCallbackEnd; @@ -764,7 +762,7 @@ static void ShrubEntranceSpriteCallback2(struct Sprite *sprite) sprite->data[0]++; if (sprite->data[0] == 20) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); } else { @@ -1168,7 +1166,7 @@ void GetShieldToyTVDecorationInfo(void) bool8 sub_80FADE4(u16 metatileId, u8 arg1) { - if (!CurrentMapIsSecretBase()) + if (!CurMapIsSecretBase()) return FALSE; if (!arg1) diff --git a/src/item.c b/src/item.c index 0e13ddf4cd..fe8e8eadde 100644 --- a/src/item.c +++ b/src/item.c @@ -537,7 +537,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) if (totalQuantity < count) return FALSE; // We don't have enough of the item - if (CurrentMapIsSecretBase() == TRUE) + if (CurMapIsSecretBase() == TRUE) { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x200); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, itemId); diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 8a2c3ad918..16298183b5 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -191,7 +191,7 @@ static const u8 sTileBitAttributes[] = [MB_SECRET_BASE_UNUSED] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_BLOCK_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_DECORATION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - [MB_SECRET_BASE_LARGE_MAT_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), + [MB_HOLDS_SMALL_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_UNUSED_B6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_SECRET_BASE_NORTH_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_SECRET_BASE_BALLOON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), @@ -205,7 +205,7 @@ static const u8 sTileBitAttributes[] = [MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_IMPASSABLE_WEST_AND_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - [MB_LARGE_MAT_CENTER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), + [MB_HOLDS_LARGE_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_TV_SHIELD] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_PLAYER_ROOM_PC_ON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_C6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), @@ -751,17 +751,17 @@ bool8 Unref_MetatileBehavior_IsSecretBaseUnused_B2_2(u8 metatileBehavior) return FALSE; } -bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8 metatileBehavior) +bool8 MetatileBehavior_HoldsSmallDecoration(u8 metatileBehavior) { - if (metatileBehavior == MB_SECRET_BASE_LARGE_MAT_EDGE) + if (metatileBehavior == MB_HOLDS_SMALL_DECORATION) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsLargeMatCenter(u8 metatileBehavior) +bool8 MetatileBehavior_HoldsLargeDecoration(u8 metatileBehavior) { - if (metatileBehavior == MB_LARGE_MAT_CENTER) + if (metatileBehavior == MB_HOLDS_LARGE_DECORATION) return TRUE; else return FALSE; diff --git a/src/new_game.c b/src/new_game.c index 19f3461b4b..0f29033495 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -170,7 +170,7 @@ void NewGameInitData(void) InitEventData(); ClearTVShowData(); ResetGabbyAndTy(); - ResetSecretBases(); + ClearSecretBases(); ClearBerryTrees(); SetMoney(&gSaveBlock1Ptr->money, 3000); SetCoins(0); diff --git a/src/overworld.c b/src/overworld.c index 9ed147c0ab..a4fafe7c4d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -889,7 +889,7 @@ static void mli0_load_map(u32 a1) if (a1 != 1 && isIndoors) { UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); - sub_80E9238(1); + InitSecretBaseAppearance(TRUE); } } @@ -1508,7 +1508,7 @@ void SetUnusedCallback(void *func) static bool8 map_post_load_hook_exec(void) { - if (gFieldCallback2 != NULL) + if (gFieldCallback2) { if (!gFieldCallback2()) { @@ -1522,7 +1522,7 @@ static bool8 map_post_load_hook_exec(void) } else { - if (gFieldCallback != NULL) + if (gFieldCallback) gFieldCallback(); else mapldr_default(); @@ -1701,7 +1701,7 @@ void sub_80861E8(void) static void sub_8086204(void) { - if ((gMapHeader.flags & 0xF8) == 8 && sub_80E909C() == TRUE) + if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); sub_80AF3C8(); } @@ -1947,7 +1947,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 11: - if ((gMapHeader.flags & 0xF8) == 8 && sub_80E909C() == 1) + if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); (*state)++; break; diff --git a/src/pokemon.c b/src/pokemon.c index 64b02021b1..9c6afe0b8e 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4444,7 +4444,7 @@ u8 GetMonAbility(struct Pokemon *mon) return GetAbilityBySpecies(species, altAbility); } -void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) +void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord) { s32 i, j; diff --git a/src/record_mixing.c b/src/record_mixing.c index 3a16f817e8..85b52e478b 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -47,7 +47,7 @@ struct RecordMixingHallRecords struct PlayerRecordsRS { - struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + struct SecretBase secretBases[SECRET_BASES_COUNT]; TVShow tvShows[TV_SHOWS_COUNT]; PokeNews pokeNews[POKE_NEWS_COUNT]; OldMan oldMan; @@ -60,7 +60,7 @@ struct PlayerRecordsRS struct PlayerRecordsEmerald { - /* 0x0000 */ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + /* 0x0000 */ struct SecretBase secretBases[SECRET_BASES_COUNT]; /* 0x0c80 */ TVShow tvShows[TV_SHOWS_COUNT]; /* 0x1004 */ PokeNews pokeNews[POKE_NEWS_COUNT]; /* 0x1044 */ OldMan oldMan; @@ -83,7 +83,7 @@ union PlayerRecords // Static RAM declarations static IWRAM_DATA bool8 gUnknown_03001130; -static IWRAM_DATA struct SecretBaseRecord *sSecretBasesSave; +static IWRAM_DATA struct SecretBase *sSecretBasesSave; static IWRAM_DATA TVShow *sTvShowsSave; static IWRAM_DATA PokeNews *sPokeNewsSave; static IWRAM_DATA OldMan *sOldManSave; @@ -208,7 +208,7 @@ static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest) static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest) { memcpy(dest->secretBases, sSecretBasesSave, sizeof(dest->secretBases)); - sub_80EB18C(dest->secretBases); + ClearJapaneseSecretBases(dest->secretBases); memcpy(dest->tvShows, sTvShowsSave, sizeof(dest->tvShows)); sub_80F1208(dest->tvShows); memcpy(dest->pokeNews, sPokeNewsSave, sizeof(dest->pokeNews)); @@ -226,7 +226,7 @@ static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest) static void PrepareExchangePacket(void) { - sub_80E9914(); + SetPlayerSecretBaseParty(); sub_80F0BB8(); SetSrcLookupPointers(); diff --git a/src/scrcmd.c b/src/scrcmd.c index 4dc494790b..8d597b8874 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1068,7 +1068,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); - show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } @@ -1078,7 +1078,7 @@ bool8 ScrCmd_addobject_at(struct ScriptContext *ctx) u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); - show_sprite(objectId, mapNum, mapGroup); + TrySpawnEventObject(objectId, mapNum, mapGroup); return FALSE; } @@ -1088,7 +1088,7 @@ bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - sub_808EBA8(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y); + TryMoveEventObjectToMapCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y); return FALSE; } @@ -1106,7 +1106,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - sub_808F254(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryOverrideEventObjectTemplateCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } diff --git a/src/secret_base.c b/src/secret_base.c index e19aecba3e..a311db37d0 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -35,322 +35,351 @@ #include "window.h" #include "constants/bg_event_constants.h" #include "constants/decorations.h" +#include "constants/event_objects.h" +#include "constants/items.h" #include "constants/maps.h" #include "constants/map_types.h" #include "constants/metatile_behaviors.h" +#include "constants/moves.h" #include "constants/secret_bases.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/trainers.h" -// Static type declarations - -struct SecretBaseListMenuBuffer { +struct SecretBaseRegistryMenu +{ struct ListMenuItem items[11]; u8 names[11][32]; }; -struct SecretBaseRecordMixer { - struct SecretBaseRecord *records; +struct SecretBaseRecordMixer +{ + struct SecretBase *secretBases; u32 version; u32 language; }; -// Static RAM declarations -EWRAM_DATA u8 sCurSecretBaseId = 0; -EWRAM_DATA bool8 gInFriendSecretBase = FALSE; -EWRAM_DATA struct SecretBaseListMenuBuffer *gUnknown_0203A020 = NULL; - -// Static ROM declarations - -void sub_80E9C9C(u8 taskId); -void game_continue(u8 taskId); -void sub_80E9DEC(s32 a0, bool8 flag, struct ListMenu *menu); -void sub_80E9E00(u8 taskId); -void sub_80E9E44(u8 taskId); -void sub_80E9E90(u8 taskId); -void sub_80E9F20(u8 taskId); -void sub_80E9FB0(u8 taskId); -void sub_80E9FFC(u8 taskId); -void sub_80EA06C(u8 taskId); -void sub_80EA120(u8 taskId); -void sub_80EA13C(u8 taskId); -void sub_80EA18C(u8 taskId); -void task_pc_turn_off(u8 taskId); -u8 sub_80EA20C(u8 secretBaseRecordId); - -// .rodata - -const struct { - u16 tile1; - u16 tile2; -} gUnknown_0858CFCC[] = { - {0x0026, 0x0036}, - {0x0027, 0x0037}, - {0x01a0, 0x01a1}, - {0x01a8, 0x01a9}, - {0x01b0, 0x01b1}, - {0x0208, 0x0210}, - {0x0271, 0x0278} +struct SecretBaseEntranceMetatiles +{ + u16 closedMetatileId; + u16 openMetatileId; }; -const u8 gUnknown_0858CFE8[] = { - MAP_NUM(SECRET_BASE_RED_CAVE1), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_RED_CAVE2), 0x00, 0x05, 0x09, - MAP_NUM(SECRET_BASE_RED_CAVE3), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_RED_CAVE4), 0x00, 0x07, 0x0d, - MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0x00, 0x02, 0x03, - MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0x00, 0x09, 0x02, - MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0x00, 0x0d, 0x04, - MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0x00, 0x03, 0x0f, - MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0x00, 0x03, 0x0e, - MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0x00, 0x09, 0x03, - MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0x00, 0x08, 0x07, - MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0x00, 0x03, 0x06, - MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0x00, 0x05, 0x09, - MAP_NUM(SECRET_BASE_TREE1), 0x00, 0x02, 0x03, - MAP_NUM(SECRET_BASE_TREE2), 0x00, 0x05, 0x06, - MAP_NUM(SECRET_BASE_TREE3), 0x00, 0x0f, 0x03, - MAP_NUM(SECRET_BASE_TREE4), 0x00, 0x04, 0x0a, - MAP_NUM(SECRET_BASE_SHRUB1), 0x00, 0x03, 0x03, - MAP_NUM(SECRET_BASE_SHRUB2), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_SHRUB3), 0x00, 0x07, 0x08, - MAP_NUM(SECRET_BASE_SHRUB4), 0x00, 0x09, 0x06 +static EWRAM_DATA u8 sCurSecretBaseId = 0; +static EWRAM_DATA bool8 sInFriendSecretBase = FALSE; +static EWRAM_DATA struct SecretBaseRegistryMenu *sRegistryMenu = NULL; + +static void Task_ShowSecretBaseRegistryMenu(u8 taskId); +static void BuildRegistryMenuItems(u8 taskId); +static void RegistryMenu_OnCursorMove(int unused, bool8 flag, struct ListMenu *menu); +static void FinalizeRegistryMenu(u8 taskId); +static void AddRegistryMenuScrollArrows(u8 taskId); +static void HandleRegistryMenuInput(u8 taskId); +static void ShowRegistryMenuActions(u8 taskId); +static void HandleRegistryMenuActionsInput(u8 taskId); +static void ShowRegistryMenuDeleteConfirmation(u8 taskId); +static void ShowRegistryMenuDeleteYesNo(u8 taskId); +static void DeleteRegistry_Yes(u8 taskId); +static void DeleteRegistry_No(u8 taskId); +static void ReturnToMainRegistryMenu(u8 taskId); +static void GoToSecretBasePCMainMenu(u8 taskId); +static u8 GetSecretBaseOwnerType(u8 secretBaseId); + +static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] = +{ + {.closedMetatileId = 0x0026, .openMetatileId = 0x0036}, + {.closedMetatileId = 0x0027, .openMetatileId = 0x0037}, + {.closedMetatileId = 0x01a0, .openMetatileId = 0x01a1}, + {.closedMetatileId = 0x01a8, .openMetatileId = 0x01a9}, + {.closedMetatileId = 0x01b0, .openMetatileId = 0x01b1}, + {.closedMetatileId = 0x0208, .openMetatileId = 0x0210}, + {.closedMetatileId = 0x0271, .openMetatileId = 0x0278}, }; -const struct MenuAction gUnknown_0858D048[] = { - {gUnknown_085EA79D, {.void_u8 = sub_80E9FFC}}, - {gText_Cancel, {.void_u8 = sub_80EA18C}} +// mapNum, warpId, x, y +// x, y positions are for when the player warps in for the first time (in front of the computer) +static const u8 sSecretBaseEntrancePositions[] = +{ + MAP_NUM(SECRET_BASE_RED_CAVE1), 0, 1, 3, + MAP_NUM(SECRET_BASE_RED_CAVE2), 0, 5, 9, + MAP_NUM(SECRET_BASE_RED_CAVE3), 0, 1, 3, + MAP_NUM(SECRET_BASE_RED_CAVE4), 0, 7, 13, + MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0, 2, 3, + MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0, 9, 2, + MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0, 13, 4, + MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0, 1, 2, + MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0, 1, 3, + MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0, 1, 2, + MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0, 3, 15, + MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0, 3, 14, + MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0, 9, 3, + MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0, 8, 7, + MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0, 3, 6, + MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0, 5, 9, + MAP_NUM(SECRET_BASE_TREE1), 0, 2, 3, + MAP_NUM(SECRET_BASE_TREE2), 0, 5, 6, + MAP_NUM(SECRET_BASE_TREE3), 0, 15, 3, + MAP_NUM(SECRET_BASE_TREE4), 0, 4, 10, + MAP_NUM(SECRET_BASE_SHRUB1), 0, 3, 3, + MAP_NUM(SECRET_BASE_SHRUB2), 0, 1, 2, + MAP_NUM(SECRET_BASE_SHRUB3), 0, 7, 8, + MAP_NUM(SECRET_BASE_SHRUB4), 0, 9, 6, }; -const struct YesNoFuncTable gUnknown_0858D058 = { - sub_80EA120, sub_80EA13C +static const struct MenuAction sRegistryMenuActions[] = +{ + { + .text = gText_DelRegist, + .func = { .void_u8 = ShowRegistryMenuDeleteConfirmation }, + }, + { + .text = gText_Cancel, + .func = { .void_u8 = ReturnToMainRegistryMenu }, + }, }; -const u8 gUnknown_0858D060[10] = { - 0x23, 0x24, 0x0f, 0x1f, 0x21, - 0x2f, 0x0e, 0x14, 0x20, 0x22 +static const struct YesNoFuncTable sDeleteRegistryYesNoFuncs = +{ + .yesFunc = DeleteRegistry_Yes, + .noFunc = DeleteRegistry_No, }; -const struct WindowTemplate gUnknown_0858D06C[] = { - { 0, 18, 1, 11, 18, 15, 0x01 }, - { 0, 2, 1, 28, 4, 15, 0xc7 } +static const u8 sSecretBaseOwnerGfxIds[10] = +{ + // Male + EVENT_OBJ_GFX_YOUNGSTER, + EVENT_OBJ_GFX_BUG_CATCHER, + EVENT_OBJ_GFX_RICH_BOY, + EVENT_OBJ_GFX_CAMPER, + EVENT_OBJ_GFX_MAN_3, + // Female + EVENT_OBJ_GFX_LASS, + EVENT_OBJ_GFX_GIRL_3, + EVENT_OBJ_GFX_WOMAN_2, + EVENT_OBJ_GFX_PICNICKER, + EVENT_OBJ_GFX_WOMAN_5, }; -const struct ListMenuTemplate gUnknown_0858D07C = { - NULL, - sub_80E9DEC, - NULL, - 0, 0, - 0, 0, 8, 0, - 9, 2, 1, 3, FALSE, 0, FALSE, 1 +static const struct WindowTemplate sRegistryWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 1, + .width = 11, + .height = 18, + .paletteNum = 15, + .baseBlock = 0x01, + }, + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 28, + .height = 4, + .paletteNum = 15, + .baseBlock = 0xc7, + } }; -// .text +static const struct ListMenuTemplate sRegistryListMenuTemplate = +{ + .items = NULL, + .moveCursorFunc = RegistryMenu_OnCursorMove, + .itemPrintFunc = NULL, + .totalItems = 0, + .maxShowed = 0, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 9, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 1, + .cursorKind = 0, +}; -void ClearSecretBase(struct SecretBaseRecord *sbr) +static void ClearSecretBase(struct SecretBase *secretBase) { u16 i; - - CpuFastFill16(0, sbr, sizeof(struct SecretBaseRecord)); - for (i = 0; i < 7; i ++) - { - sbr->trainerName[i] = EOS; - } + CpuFastFill16(0, secretBase, sizeof(struct SecretBase)); + for (i = 0; i < PLAYER_NAME_LENGTH; i++) + secretBase->trainerName[i] = EOS; } -void ResetSecretBases(void) +void ClearSecretBases(void) { u16 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) - { + for (i = 0; i < SECRET_BASES_COUNT; i++) ClearSecretBase(&gSaveBlock1Ptr->secretBases[i]); - } } -void sub_80E8B58(void) +static void SetCurSecretBaseId(void) { sCurSecretBaseId = gSpecialVar_0x8004; } -void sub_80E8B6C(void) +void TrySetCurSecretBaseIndex(void) { u16 i; gSpecialVar_Result = FALSE; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - if (sCurSecretBaseId != gSaveBlock1Ptr->secretBases[i].secretBaseId) + if (sCurSecretBaseId == gSaveBlock1Ptr->secretBases[i].secretBaseId) { - continue; + gSpecialVar_Result = TRUE; + VarSet(VAR_CURRENT_SECRET_BASE, i); + break; } - gSpecialVar_Result = TRUE; - VarSet(VAR_CURRENT_SECRET_BASE, i); - break; } } -void sub_80E8BC8(void) +void CheckPlayerHasSecretBase(void) { - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0) - { + // The player's secret base is always the first in the array. + if (gSaveBlock1Ptr->secretBases[0].secretBaseId) gSpecialVar_Result = TRUE; - } else - { gSpecialVar_Result = FALSE; - } } -u8 sub_80E8BF8(void) +static u8 GetSecretBaseTypeInFrontOfPlayer_(void) { - s16 x; - s16 y; + s16 x, y; s16 behavior; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF; if (behavior == MB_SECRET_BASE_SPOT_RED_CAVE || behavior == MB_SECRET_BASE_SPOT_RED_CAVE_OPEN) - { return SECRET_BASE_RED_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_BROWN_CAVE || behavior == MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN) - { return SECRET_BASE_BROWN_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_BLUE_CAVE || behavior == MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN) - { return SECRET_BASE_BLUE_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE || behavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN) - { return SECRET_BASE_YELLOW_CAVE; - } - if (behavior == MB_SECRET_BASE_SPOT_TREE_LEFT || behavior == MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN) - { + + if (behavior == MB_SECRET_BASE_SPOT_TREE_LEFT || behavior == MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN + || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN) return SECRET_BASE_TREE; - } + if (behavior == MB_SECRET_BASE_SPOT_SHRUB || behavior == MB_SECRET_BASE_SPOT_SHRUB_OPEN) - { return SECRET_BASE_SHRUB; - } + return 0; } -void sub_80E8C98(void) +void GetSecretBaseTypeInFrontOfPlayer(void) { - gSpecialVar_0x8007 = sub_80E8BF8(); + gSpecialVar_0x8007 = GetSecretBaseTypeInFrontOfPlayer_(); } -void sub_80E8CB0(s16 *xPtr, s16 *yPtr, u16 tile) +static void FindMetatileIdMapCoords(s16 *x, s16 *y, u16 metatileId) { - const struct MapLayout *mapLayout; - s16 x; - s16 y; + s16 i, j; + const struct MapLayout *mapLayout = gMapHeader.mapLayout; - mapLayout = gMapHeader.mapLayout; - for (y = 0; y < mapLayout->height; y ++) + for (j = 0; j < mapLayout->height; j++) { - for (x = 0; x < mapLayout->width; x ++) + for (i = 0; i < mapLayout->width; i++) { - if ((mapLayout->map[y * mapLayout->width + x] & METATILE_ID_MASK) == tile) + if ((mapLayout->map[j * mapLayout->width + i] & METATILE_ID_MASK) == metatileId) { - *xPtr = x; - *yPtr = y; + *x = i; + *y = j; return; } } } } -void sub_80E8D4C(void) +// Opens or closes the secret base entrance metatile in front of the player. +void ToggleSecretBaseEntranceMetatile(void) { - s16 x; - s16 y; - s16 tile; u16 i; + s16 x, y; + s16 metatileId; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); - tile = MapGridGetMetatileIdAt(x, y); - for (i = 0; i < 7; i ++) + metatileId = MapGridGetMetatileIdAt(x, y); + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile1 == tile) + if (sSecretBaseEntranceMetatiles[i].closedMetatileId == metatileId) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile2 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); return; } } - for (i = 0; i < 7; i ++) + + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile2 == tile) + if (sSecretBaseEntranceMetatiles[i].openMetatileId == metatileId) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile1 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].closedMetatileId | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); return; } } } -u8 sub_80E8DF4(const u8 *src) +static u8 GetNameLength(const u8 *secretBaseOwnerName) { u8 i; - - for (i = 0; i < 7; i ++) + for (i = 0; i < PLAYER_NAME_LENGTH; i++) { - if (src[i] == EOS) - { + if (secretBaseOwnerName[i] == EOS) return i; - } } - return 7; + + return PLAYER_NAME_LENGTH; } -void sub_80E8E18(void) +void SetPlayerSecretBase(void) { u16 i; gSaveBlock1Ptr->secretBases[0].secretBaseId = sCurSecretBaseId; - for (i = 0; i < 4; i ++) - { + for (i = 0; i < 4; i++) gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; - } + VarSet(VAR_CURRENT_SECRET_BASE, 0); - StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, sub_80E8DF4(gSaveBlock2Ptr->playerName)); + StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, GetNameLength(gSaveBlock2Ptr->playerName)); gSaveBlock1Ptr->secretBases[0].gender = gSaveBlock2Ptr->playerGender; gSaveBlock1Ptr->secretBases[0].language = GAME_LANGUAGE; VarSet(VAR_SECRET_BASE_MAP, gMapHeader.regionMapSectionId); } -void sub_80E8EE0(struct MapEvents const *events) +void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events) { - u16 bgEventIndex; - u16 i; - u16 j; - s16 tile_id; - s16 x; - s16 y; + u16 bgId; + u16 i, j; - for (bgEventIndex = 0; bgEventIndex < events->bgEventCount; bgEventIndex ++) + for (bgId = 0; bgId < events->bgEventCount; bgId++) { - if (events->bgEvents[bgEventIndex].kind == BG_EVENT_SECRET_BASE) + if (events->bgEvents[bgId].kind == BG_EVENT_SECRET_BASE) { - for (j = 0; j < SECRET_BASES_COUNT; j ++) + for (j = 0; j < SECRET_BASES_COUNT; j++) { - if (gSaveBlock1Ptr->secretBases[j].secretBaseId == events->bgEvents[bgEventIndex].bgUnion.secretBaseId) + if (gSaveBlock1Ptr->secretBases[j].secretBaseId == events->bgEvents[bgId].bgUnion.secretBaseId) { - x = events->bgEvents[bgEventIndex].x + 7; - y = events->bgEvents[bgEventIndex].y + 7; - tile_id = MapGridGetMetatileIdAt(x, y); - for (i = 0; i < 7; i ++) + s16 x = events->bgEvents[bgId].x + 7; + s16 y = events->bgEvents[bgId].y + 7; + s16 tile_id = MapGridGetMetatileIdAt(x, y); + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile1 == tile_id) + if (sSecretBaseEntranceMetatiles[i].closedMetatileId == tile_id) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile2 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK); break; } } @@ -361,58 +390,52 @@ void sub_80E8EE0(struct MapEvents const *events) } } -void sub_80E8F9C(void) +static void SetSecretBaseWarpDestination(void) { - s8 idx; - - idx = sCurSecretBaseId / 10 * 4; - SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]); + s8 offset = (sCurSecretBaseId / 10) * 4; + SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), sSecretBaseEntrancePositions[offset], sSecretBaseEntrancePositions[offset + 1]); } -void sub_80E8FD0(u8 taskId) +static void Task_EnterSecretBase(u8 taskId) { - u16 secretBaseRecordId; + u16 secretBaseId; switch (gTasks[taskId].data[0]) { - case 0: - if (!gPaletteFade.active) - { - gTasks[taskId].data[0] = 1; - } - break; - case 1: - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 < 255) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 ++; - } - sub_80E8F9C(); - WarpIntoMap(); - gFieldCallback = FieldCallback_ReturnToEventScript2; - SetMainCallback2(CB2_LoadMap); - DestroyTask(taskId); - break; + case 0: + if (!gPaletteFade.active) + gTasks[taskId].data[0] = 1; + break; + case 1: + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + if (gSaveBlock1Ptr->secretBases[secretBaseId].numTimesEntered < 255) + gSaveBlock1Ptr->secretBases[secretBaseId].numTimesEntered++; + + SetSecretBaseWarpDestination(); + WarpIntoMap(); + gFieldCallback = FieldCallback_ReturnToEventScript2; + SetMainCallback2(CB2_LoadMap); + DestroyTask(taskId); + break; } } -void sub_80E9068(void) +void EnterSecretBase(void) { - CreateTask(sub_80E8FD0, 0); + CreateTask(Task_EnterSecretBase, 0); FadeScreen(1, 0); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -bool8 sub_80E909C(void) +bool8 SecretBaseMapPopupEnabled(void) { if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_INIT_SECRET_BASE) == 0) - { return FALSE; - } + return TRUE; } -void sub_80E90C8(u8 taskId) +static void EnterNewlyCreatedSecretBase_WaitFadeIn(u8 taskId) { EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_NORTH); if (IsWeatherNotFadingIn() == TRUE) @@ -422,189 +445,202 @@ void sub_80E90C8(u8 taskId) } } -void sub_80E9108(void) +static void EnterNewlyCreatedSecretBase_StartFadeIn(void) { - s16 x; - s16 y; + s16 x, y; ScriptContext2_Enable(); HideMapNamePopUpWindow(); - sub_80E8CB0(&x, &y, 0x220); + FindMetatileIdMapCoords(&x, &y, 0x220); x += 7; y += 7; MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); pal_fill_black(); - CreateTask(sub_80E90C8, 0); + CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0); } -void sub_80E916C(u8 taskId) +static void Task_EnterNewlyCreatedSecretBase(u8 taskId) { - s8 idx; - if (!gPaletteFade.active) { - idx = sCurSecretBaseId / 10 * 4; - SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gUnknown_0858CFE8[idx + 2], gUnknown_0858CFE8[idx + 3]); + s8 offset = sCurSecretBaseId / 10 * 4; + SetWarpDestination( + gSaveBlock1Ptr->location.mapGroup, + gSaveBlock1Ptr->location.mapNum, + -1, + sSecretBaseEntrancePositions[offset + 2], + sSecretBaseEntrancePositions[offset + 3]); WarpIntoMap(); - gFieldCallback = sub_80E9108; + gFieldCallback = EnterNewlyCreatedSecretBase_StartFadeIn; SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); } } -void sub_80E91F8(void) +void EnterNewlyCreatedSecretBase(void) { - CreateTask(sub_80E916C, 0); - FadeScreen(1, 0); + CreateTask(Task_EnterNewlyCreatedSecretBase, 0); + FadeScreen(FADE_TO_BLACK, 0); } -bool8 CurrentMapIsSecretBase(void) +bool8 CurMapIsSecretBase(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4)) - { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) + && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4)) return TRUE; - } - return FALSE; + else + return FALSE; } -void sub_80E9238(u8 flagIn) +void InitSecretBaseAppearance(bool8 hidePC) { - u16 curBaseId; - u16 x; - u16 y; + u16 secretBaseId; + u16 x, y; u8 *decorations; u8 *decorPos; - if (CurrentMapIsSecretBase()) + if (CurMapIsSecretBase()) { - curBaseId = VarGet(VAR_CURRENT_SECRET_BASE); - decorations = gSaveBlock1Ptr->secretBases[curBaseId].decorations; - decorPos = gSaveBlock1Ptr->secretBases[curBaseId].decorationPos; - for (x = 0; x < 16; x ++) + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations; + decorPos = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions; + for (x = 0; x < 16; x++) { - if (decorations[x] > 0 && decorations[x] <= 0x78 && gDecorations[decorations[x]].permission != DECORPERM_SOLID_MAT) { - sub_8127D38((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]); - } + if (decorations[x] > 0 && decorations[x] <= NUM_DECORATIONS && gDecorations[decorations[x]].permission != DECORPERM_SPRITE) + ShowDecorationOnMap((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]); } - if (curBaseId != 0) + + if (secretBaseId != 0) { - sub_80E8CB0(&x, &y, 0x220); + // Another player's secret base. Change PC type to the "Register" PC. + FindMetatileIdMapCoords(&x, &y, 0x220); MapGridSetMetatileIdAt(x + 7, y + 7, 0x221 | METATILE_COLLISION_MASK); } - else if (flagIn == 1 && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) + else if (hidePC == TRUE && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) { - sub_80E8CB0(&x, &y, 0x220); + // Change PC to regular ground tile. + FindMetatileIdMapCoords(&x, &y, 0x220); MapGridSetMetatileIdAt(x + 7, y + 7, 0x20a | METATILE_COLLISION_MASK); } } } -void sub_80E933C(void) +void InitSecretBaseDecorationSprites(void) { - u8 *roomDecor; - u8 *roomDecorPos; - u8 decorIdx; - u8 objIdx; - u8 metatile; + u8 i; + u8 *decorations; + u8 *decorationPositions; + u8 eventObjectId; + u8 metatileBehavior; u8 category; u8 permission; - u8 nDecor; - u16 curBase; + u8 numDecorations; - objIdx = 0; - if (!CurrentMapIsSecretBase()) + eventObjectId = 0; + if (!CurMapIsSecretBase()) { - roomDecor = gSaveBlock1Ptr->playerRoomDecor; - roomDecorPos = gSaveBlock1Ptr->playerRoomDecorPos; - nDecor = 12; + decorations = gSaveBlock1Ptr->playerRoomDecor; + decorationPositions = gSaveBlock1Ptr->playerRoomDecorPos; + numDecorations = 12; } else { - curBase = VarGet(VAR_CURRENT_SECRET_BASE); - roomDecor = gSaveBlock1Ptr->secretBases[curBase].decorations; - roomDecorPos = gSaveBlock1Ptr->secretBases[curBase].decorationPos; - nDecor = 16; + u16 secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations; + decorationPositions = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions; + numDecorations = 16; } - for (decorIdx = 0; decorIdx < nDecor; decorIdx ++) + + for (i = 0; i < numDecorations; i++) { - if (roomDecor[decorIdx] != DECOR_NONE) + if (decorations[i] == DECOR_NONE) + continue; + + permission = gDecorations[decorations[i]].permission; + category = gDecorations[decorations[i]].category; + if (permission == DECORPERM_SPRITE) { - permission = gDecorations[roomDecor[decorIdx]].permission; - category = gDecorations[roomDecor[decorIdx]].category; - if (permission == DECORPERM_SOLID_MAT) + for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++) { - for (objIdx = 0; objIdx < gMapHeader.events->eventObjectCount; objIdx ++) + if (gMapHeader.events->eventObjects[eventObjectId].flagId == FLAG_DECORATION_1 + gSpecialVar_0x8004) + break; + } + + if (eventObjectId == gMapHeader.events->eventObjectCount) + continue; + + gSpecialVar_0x8006 = decorationPositions[i] >> 4; + gSpecialVar_0x8007 = decorationPositions[i] & 0xF; + metatileBehavior = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); + if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE + || MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) + { + gSpecialVar_Result = VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[eventObjectId].graphicsId - EVENT_OBJ_GFX_VAR_0); + VarSet(gSpecialVar_Result, gDecorations[decorations[i]].tiles[0]); + gSpecialVar_Result = gMapHeader.events->eventObjects[eventObjectId].localId; + FlagClear(FLAG_DECORATION_1 + gSpecialVar_0x8004); + TrySpawnEventObject(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryMoveEventObjectToMapCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + TryOverrideEventObjectTemplateCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (CurMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - if (gMapHeader.events->eventObjects[objIdx].flagId == gSpecialVar_0x8004 + 0xAE) + if (category == DECORCAT_DOLL) { - break; + OverrideSecretBaseDecorationSpriteScript( + gSpecialVar_Result, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + DECORCAT_DOLL); + } + else if (category == DECORCAT_CUSHION) + { + OverrideSecretBaseDecorationSpriteScript( + gSpecialVar_Result, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + DECORCAT_CUSHION); } } - if (objIdx == gMapHeader.events->eventObjectCount) - { - continue; - } - gSpecialVar_0x8006 = roomDecorPos[decorIdx] >> 4; - gSpecialVar_0x8007 = roomDecorPos[decorIdx] & 0xF; - metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); - if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatile) == TRUE || MetatileBehavior_IsLargeMatCenter(metatile) == TRUE) - { - gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].graphicsId + UNKNOWN_VAR_OFFSET_3F20; - VarSet(gSpecialVar_Result, gDecorations[roomDecor[decorIdx]].tiles[0]); - gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].localId; - FlagClear(gSpecialVar_0x8004 + 0xAE); - show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_808F254(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { - if (category == DECORCAT_DOLL) - { - sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_DOLL); - } - else if (category == DECORCAT_CUSHION) - { - sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_CUSHION); - } - } - gSpecialVar_0x8004 ++; - } + + gSpecialVar_0x8004++; } } } } -void sub_80E9578(void) +void HideSecretBaseDecorationSprites(void) { - u8 objectEventIdx; - u16 flagId; + u8 eventObjectId; + u16 flag; - for (objectEventIdx = 0; objectEventIdx < gMapHeader.events->eventObjectCount; objectEventIdx ++) + for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++) { - flagId = gMapHeader.events->eventObjects[objectEventIdx].flagId; - if (flagId >= FLAG_DECORATION_1 && flagId <= FLAG_DECORATION_14) + flag = gMapHeader.events->eventObjects[eventObjectId].flagId; + if (flag >= FLAG_DECORATION_1 && flag <= FLAG_DECORATION_14) { - RemoveEventObjectByLocalIdAndMap(gMapHeader.events->eventObjects[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - FlagSet(flagId); + RemoveEventObjectByLocalIdAndMap( + gMapHeader.events->eventObjects[eventObjectId].localId, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup); + FlagSet(flag); } } } -void sub_80E95D4(void) +void SetSecretBaseOwnerGfxId(void) { - VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE))]); + VarSet(VAR_OBJ_GFX_ID_F, sSecretBaseOwnerGfxIds[GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE))]); } -void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events) +void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events) { - s16 bgEventIdx; - - for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++) + s16 i; + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[bgEventIdx].x + 7 && position->y == events->bgEvents[bgEventIdx].y + 7) + if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[i].x + 7 && position->y == events->bgEvents[i].y + 7) { - sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId; + sCurSecretBaseId = events->bgEvents[i].bgUnion.secretBaseId; break; } } @@ -612,101 +648,92 @@ void sub_80E9608(const struct MapPosition *position, const struct MapEvents *eve void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events) { - sub_80E9608(position, events); - sub_80E8B6C(); + SetCurSecretBaseIdFromPosition(position, events); + TrySetCurSecretBaseIndex(); ScriptContext1_SetupScript(EventScript_275BB7); } -bool8 sub_80E9680(void) +bool8 TrySetCurSecretBase(void) { - sub_80E8B58(); - sub_80E8B6C(); + SetCurSecretBaseId(); + TrySetCurSecretBaseIndex(); if (gSpecialVar_Result == TRUE) - { return FALSE; - } + return TRUE; } -void sub_80E96A4(u8 taskId) +static void Task_WarpOutOfSecretBase(u8 taskId) { switch (gTasks[taskId].data[0]) { - case 0: - ScriptContext2_Enable(); - gTasks[taskId].data[0] = 1; - break; - case 1: - if (!gPaletteFade.active) - { - gTasks[taskId].data[0] = 2; - } - break; - case 2: - SetWarpDestinationToDynamicWarp(0x7e); - WarpIntoMap(); - gFieldCallback = mapldr_default; - SetMainCallback2(CB2_LoadMap); - ScriptContext2_Disable(); - DestroyTask(taskId); - break; + case 0: + ScriptContext2_Enable(); + gTasks[taskId].data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) + gTasks[taskId].data[0] = 2; + break; + case 2: + SetWarpDestinationToDynamicWarp(0x7e); + WarpIntoMap(); + gFieldCallback = mapldr_default; + SetMainCallback2(CB2_LoadMap); + ScriptContext2_Disable(); + DestroyTask(taskId); + break; } } -void sub_80E9728(void) +static void WarpOutOfSecretBase(void) { - CreateTask(sub_80E96A4, 0); - FadeScreen(1, 0); + CreateTask(Task_WarpOutOfSecretBase, 0); + FadeScreen(FADE_TO_BLACK, 0); } -void sub_80E9744(void) +void IsCurSecretBaseOwnedByAnotherPlayer(void) { if (gSaveBlock1Ptr->secretBases[0].secretBaseId != sCurSecretBaseId) - { gSpecialVar_Result = TRUE; - } else - { gSpecialVar_Result = FALSE; - } } -u8 *sub_80E9780(u8 *dest, u8 secretBaseRecordId) +static u8 *GetSecretBaseName(u8 *dest, u8 secretBaseId) { - *StringCopyN(dest, gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName, sub_80E8DF4(gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName)) = EOS; - ConvertInternationalString(dest, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language); + *StringCopyN(dest, gSaveBlock1Ptr->secretBases[secretBaseId].trainerName, GetNameLength(gSaveBlock1Ptr->secretBases[secretBaseId].trainerName)) = EOS; + ConvertInternationalString(dest, gSaveBlock1Ptr->secretBases[secretBaseId].language); return StringAppend(dest, gText_ApostropheSBase); } u8 *GetSecretBaseMapName(u8 *dest) { - return sub_80E9780(dest, VarGet(VAR_CURRENT_SECRET_BASE)); + return GetSecretBaseName(dest, VarGet(VAR_CURRENT_SECRET_BASE)); } -void sub_80E980C(void) +void CopyCurSecretBaseOwnerName_StrVar1(void) { - u8 secretBaseRecordId; - const u8 *src; + u8 secretBaseId; + const u8 *name; - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); - src = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName; - *StringCopyN(gStringVar1, src, sub_80E8DF4(src)) = EOS; - ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language); + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + name = gSaveBlock1Ptr->secretBases[secretBaseId].trainerName; + *StringCopyN(gStringVar1, name, GetNameLength(name)) = EOS; + ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseId].language); } -bool8 sub_80E9878(u8 secretBaseRecordId) +static bool8 IsSecretBaseRegistered(u8 secretBaseId) { - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 != 0) - { + if (gSaveBlock1Ptr->secretBases[secretBaseId].registryStatus) return TRUE; - } + return FALSE; } -u8 sub_80E98AC(struct Pokemon *pokemon) +static u8 GetAverageEVs(struct Pokemon *pokemon) { u16 evTotal; - evTotal = GetMonData(pokemon, MON_DATA_HP_EV); evTotal += GetMonData(pokemon, MON_DATA_ATK_EV); evTotal += GetMonData(pokemon, MON_DATA_DEF_EV); @@ -716,173 +743,162 @@ u8 sub_80E98AC(struct Pokemon *pokemon) return evTotal / 6; } -void sub_80E9914(void) +void SetPlayerSecretBaseParty(void) { - u16 partyIdx; + u16 i; u16 moveIdx; - u16 sbPartyIdx; + u16 partyId; struct SecretBaseParty *party; - sbPartyIdx = 0; + partyId = 0; party = &gSaveBlock1Ptr->secretBases[0].party; - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0) + if (gSaveBlock1Ptr->secretBases[0].secretBaseId) { - for (partyIdx = 0; partyIdx < PARTY_SIZE; partyIdx++) + for (i = 0; i < PARTY_SIZE; i++) { - for (moveIdx = 0; moveIdx < 4; moveIdx++) + for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) + party->moves[i * MAX_MON_MOVES + moveIdx] = MOVE_NONE; + + party->species[i] = SPECIES_NONE; + party->heldItems[i] = ITEM_NONE; + party->levels[i] = 0; + party->personality[i] = 0; + party->EVs[i] = 0; + + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) { - party->moves[partyIdx * 4 + moveIdx] = 0; - } - party->species[partyIdx] = 0; - party->heldItems[partyIdx] = 0; - party->levels[partyIdx] = 0; - party->personality[partyIdx] = 0; - party->EVs[partyIdx] = 0; - if (GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES) != SPECIES_NONE - && !GetMonData(&gPlayerParty[partyIdx], MON_DATA_IS_EGG)) - { - for (moveIdx = 0; moveIdx < 4; moveIdx++) - { - party->moves[sbPartyIdx * 4 + moveIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_MOVE1 + moveIdx); - } - party->species[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES); - party->heldItems[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_HELD_ITEM); - party->levels[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_LEVEL); - party->personality[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_PERSONALITY); - party->EVs[sbPartyIdx] = sub_80E98AC(&gPlayerParty[partyIdx]); - sbPartyIdx++; + for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) + party->moves[partyId * MAX_MON_MOVES + moveIdx] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIdx); + + party->species[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); + party->heldItems[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + party->levels[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + party->personality[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); + party->EVs[partyId] = GetAverageEVs(&gPlayerParty[i]); + partyId++; } } } } -void sub_80E9A90(void) +void ClearAndLeaveSecretBase(void) { - u16 sbr_e; - - sbr_e = gSaveBlock1Ptr->secretBases[0].sbr_field_e; + u16 temp = gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived; ClearSecretBase(&gSaveBlock1Ptr->secretBases[0]); - gSaveBlock1Ptr->secretBases[0].sbr_field_e = sbr_e; - sub_80E9728(); + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived = temp; + WarpOutOfSecretBase(); } -void sub_80E9AC0(void) +void MoveOutOfSecretBase(void) { IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); - sub_80E9A90(); + ClearAndLeaveSecretBase(); } -void sub_80E9AD0(void) +static void ClosePlayerSecretBaseEntrance(void) { u16 i; u16 j; - s16 tile; - const struct MapEvents *events; + s16 metatileId; + const struct MapEvents *events = gMapHeader.events; - events = gMapHeader.events; - for (i = 0; i < events->bgEventCount; i ++) + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) + if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE + && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) { - tile = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7); - for (j = 0; j < 7; j ++) + metatileId = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7); + for (j = 0; j < 7; j++) { - if (gUnknown_0858CFCC[j].tile2 == tile) + if (sSecretBaseEntranceMetatiles[j].openMetatileId == metatileId) { - MapGridSetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7, gUnknown_0858CFCC[j].tile1 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7, sSecretBaseEntranceMetatiles[j].closedMetatileId | METATILE_COLLISION_MASK); break; } } + DrawWholeMapView(); break; } } } -void sub_80E9B70(void) +// When the player moves to a new secret base by interacting with a new secret base +// entrance in the overworld. +void MoveOutOfSecretBaseFromOutside(void) { - u16 sbr_e; + u16 temp; - sub_80E9AD0(); + ClosePlayerSecretBaseEntrance(); IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); - sbr_e = gSaveBlock1Ptr->secretBases[0].sbr_field_e; + temp = gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived; ClearSecretBase(&gSaveBlock1Ptr->secretBases[0]); - gSaveBlock1Ptr->secretBases[0].sbr_field_e = sbr_e; + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived = temp; } -u8 sub_80E9BA8(void) +static u8 GetNumRegisteredSecretBases(void) { - u8 sum; s16 i; - - sum = 0; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + u8 count = 0; + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (sub_80E9878(i) == TRUE) - { - sum ++; - } + if (IsSecretBaseRegistered(i) == TRUE) + count++; } - return sum; + + return count; } -void sub_80E9BDC(void) +void GetCurSecretBaseRegistrationValidity(void) { - if (sub_80E9878(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE) - { + if (IsSecretBaseRegistered(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE) gSpecialVar_Result = 1; - } - else if (sub_80E9BA8() > 9) - { + else if (GetNumRegisteredSecretBases() > 9) gSpecialVar_Result = 2; - } else - { gSpecialVar_Result = 0; - } } -void sub_80E9C2C(void) +void ToggleCurSecretBaseRegistry(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_6 ^= 1; - FlagSet(FLAG_DECORATION_16); + gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].registryStatus ^= 1; + FlagSet(FLAG_SECRET_BASE_REGISTRY_ENABLED); } -void sub_80E9C74(void) +void ShowSecretBaseDecorationMenu(void) { CreateTask(sub_8126AD8, 0); } -void sub_80E9C88(void) +void ShowSecretBaseRegistryMenu(void) { - CreateTask(sub_80E9C9C, 0); + CreateTask(Task_ShowSecretBaseRegistryMenu, 0); } -void sub_80E9C9C(u8 taskId) +static void Task_ShowSecretBaseRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ScriptContext2_Enable(); - data[0] = sub_80E9BA8(); + data[0] = GetNumRegisteredSecretBases(); if (data[0] != 0) { data[1] = 0; data[2] = 0; ClearDialogWindowAndFrame(0, 0); - gUnknown_0203A020 = calloc(1, sizeof(struct SecretBaseListMenuBuffer)); - data[6] = AddWindow(&gUnknown_0858D06C[0]); - game_continue(taskId); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + sRegistryMenu = calloc(1, sizeof(*sRegistryMenu)); + data[6] = AddWindow(&sRegistryWindowTemplates[0]); + BuildRegistryMenuItems(taskId); + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } else { - DisplayItemMessageOnField(taskId, gText_NoRegistry, task_pc_turn_off); + DisplayItemMessageOnField(taskId, gText_NoRegistry, GoToSecretBasePCMainMenu); } } -void game_continue(u8 taskId) +static void BuildRegistryMenuItems(u8 taskId) { s16 *data; u8 i; @@ -890,62 +906,54 @@ void game_continue(u8 taskId) data = gTasks[taskId].data; count = 0; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (sub_80E9878(i)) + if (IsSecretBaseRegistered(i)) { - sub_80E9780(gUnknown_0203A020->names[count], i); - gUnknown_0203A020->items[count].name = gUnknown_0203A020->names[count]; - gUnknown_0203A020->items[count].id = i; - count ++; + GetSecretBaseName(sRegistryMenu->names[count], i); + sRegistryMenu->items[count].name = sRegistryMenu->names[count]; + sRegistryMenu->items[count].id = i; + count++; } } - gUnknown_0203A020->items[count].name = gText_Cancel; - gUnknown_0203A020->items[count].id = -2; + + sRegistryMenu->items[count].name = gText_Cancel; + sRegistryMenu->items[count].id = -2; data[0] = count + 1; if (data[0] < 8) - { data[3] = data[0]; - } else - { data[3] = 8; - } - gMultiuseListMenuTemplate = gUnknown_0858D07C; + + gMultiuseListMenuTemplate = sRegistryListMenuTemplate; gMultiuseListMenuTemplate.windowId = data[6]; gMultiuseListMenuTemplate.totalItems = data[0]; - gMultiuseListMenuTemplate.items = gUnknown_0203A020->items; + gMultiuseListMenuTemplate.items = sRegistryMenu->items; gMultiuseListMenuTemplate.maxShowed = data[3]; } -void sub_80E9DEC(s32 a0, bool8 flag, struct ListMenu *menu) +static void RegistryMenu_OnCursorMove(int unused, bool8 flag, struct ListMenu *menu) { if (flag != TRUE) - { PlaySE(SE_SELECT); - } } -void sub_80E9E00(u8 taskId) +static void FinalizeRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; SetStandardWindowBorderStyle(data[6], 0); data[5] = ListMenuInit(&gMultiuseListMenuTemplate, data[2], data[1]); - sub_80E9E44(taskId); + AddRegistryMenuScrollArrows(taskId); schedule_bg_copy_tilemap_to_vram(0); } -void sub_80E9E44(u8 taskId) +static void AddRegistryMenuScrollArrows(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; data[8] = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xbc, 0x0c, 0x94, data[0] - data[3], 0x13f8, 0x13f8, &data[2]); } -void sub_80E9E90(u8 taskId) +static void HandleRegistryMenuInput(u8 taskId) { s16 *data; s32 input; @@ -955,219 +963,185 @@ void sub_80E9E90(u8 taskId) ListMenuGetScrollAndRow(data[5], &data[2], &data[1]); switch (input) { - case LIST_NOTHING_CHOSEN: - break; - case LIST_CANCEL: - PlaySE(SE_SELECT); - DestroyListMenuTask(data[5], NULL, NULL); - RemoveScrollIndicatorArrowPair(data[8]); - ClearStdWindowAndFrame(data[6], 0); - ClearWindowTilemap(data[6]); - RemoveWindow(data[6]); - schedule_bg_copy_tilemap_to_vram(0); - free(gUnknown_0203A020); - task_pc_turn_off(taskId); - break; - default: - PlaySE(SE_SELECT); - data[4] = input; - sub_80E9F20(taskId); - break; + case LIST_NOTHING_CHOSEN: + break; + case LIST_CANCEL: + PlaySE(SE_SELECT); + DestroyListMenuTask(data[5], NULL, NULL); + RemoveScrollIndicatorArrowPair(data[8]); + ClearStdWindowAndFrame(data[6], 0); + ClearWindowTilemap(data[6]); + RemoveWindow(data[6]); + schedule_bg_copy_tilemap_to_vram(0); + free(sRegistryMenu); + GoToSecretBasePCMainMenu(taskId); + break; + default: + PlaySE(SE_SELECT); + data[4] = input; + ShowRegistryMenuActions(taskId); + break; } } -void sub_80E9F20(u8 taskId) +static void ShowRegistryMenuActions(u8 taskId) { struct WindowTemplate template; - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; RemoveScrollIndicatorArrowPair(data[8]); - template = gUnknown_0858D06C[1]; - template.width = GetMaxWidthInMenuTable(gUnknown_0858D048, 2); + template = sRegistryWindowTemplates[1]; + template.width = GetMaxWidthInMenuTable(sRegistryMenuActions, 2); data[7] = AddWindow(&template); SetStandardWindowBorderStyle(data[7], 0); - PrintMenuTable(data[7], 2, gUnknown_0858D048); + PrintMenuTable(data[7], 2, sRegistryMenuActions); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(data[7], 2, 0); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_80E9FB0; + gTasks[taskId].func = HandleRegistryMenuActionsInput; } -void sub_80E9FB0(u8 taskId) +static void HandleRegistryMenuActionsInput(u8 taskId) { - s8 input; - - input = Menu_ProcessInputNoWrap(); + s8 input = Menu_ProcessInputNoWrap(); switch (input) { - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - sub_80EA18C(taskId); - break; - case MENU_NOTHING_CHOSEN: - break; - default: - PlaySE(SE_SELECT); - gUnknown_0858D048[input].func.void_u8(taskId); - break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + ReturnToMainRegistryMenu(taskId); + break; + case MENU_NOTHING_CHOSEN: + break; + default: + PlaySE(SE_SELECT); + sRegistryMenuActions[input].func.void_u8(taskId); + break; } } -void sub_80E9FFC(u8 taskId) +static void ShowRegistryMenuDeleteConfirmation(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearStdWindowAndFrame(data[6], FALSE); ClearStdWindowAndFrame(data[7], FALSE); ClearWindowTilemap(data[6]); ClearWindowTilemap(data[7]); RemoveWindow(data[7]); schedule_bg_copy_tilemap_to_vram(0); - sub_80E9780(gStringVar1, data[4]); + GetSecretBaseName(gStringVar1, data[4]); StringExpandPlaceholders(gStringVar4, gText_OkayToDeleteFromRegistry); - DisplayItemMessageOnField(taskId, gStringVar4, sub_80EA06C); + DisplayItemMessageOnField(taskId, gStringVar4, ShowRegistryMenuDeleteYesNo); } -void sub_80EA06C(u8 taskId) +static void ShowRegistryMenuDeleteYesNo(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DoYesNoFuncWithChoice(taskId, &gUnknown_0858D058); + DoYesNoFuncWithChoice(taskId, &sDeleteRegistryYesNoFuncs); } -void sub_80EA08C(u8 taskId) +void DeleteRegistry_Yes_Callback(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearDialogWindowAndFrame(0, 0); DestroyListMenuTask(data[5], &data[2], &data[1]); - gSaveBlock1Ptr->secretBases[data[4]].sbr_field_1_6 = 0; - game_continue(taskId); + gSaveBlock1Ptr->secretBases[data[4]].registryStatus = 0; + BuildRegistryMenuItems(taskId); sub_812225C(&data[2], &data[1], data[3], data[0]); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } -void sub_80EA120(u8 taskId) +static void DeleteRegistry_Yes(u8 taskId) { - DisplayItemMessageOnField(taskId, gText_RegisteredDataDeleted, sub_80EA08C); + DisplayItemMessageOnField(taskId, gText_RegisteredDataDeleted, DeleteRegistry_Yes_Callback); } -void sub_80EA13C(u8 taskId) +static void DeleteRegistry_No(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearDialogWindowAndFrame(0, 0); DestroyListMenuTask(data[5], &data[2], &data[1]); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } -void sub_80EA18C(u8 taskId) +static void ReturnToMainRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_80E9E44(taskId); + s16 *data = gTasks[taskId].data; + AddRegistryMenuScrollArrows(taskId); ClearStdWindowAndFrame(data[7], 0); ClearWindowTilemap(data[7]); RemoveWindow(data[7]); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_80E9E90; + gTasks[taskId].func = HandleRegistryMenuInput; } -void task_pc_turn_off(u8 taskId) +static void GoToSecretBasePCMainMenu(u8 taskId) { if (VarGet(VAR_CURRENT_SECRET_BASE) == 0) - { ScriptContext1_SetupScript(gUnknown_0823B4E8); - } else - { ScriptContext1_SetupScript(gUnknown_0823B5E9); - } + DestroyTask(taskId); } -u8 sub_80EA20C(u8 secretBaseRecordId) +static u8 GetSecretBaseOwnerType(u8 secretBaseId) { - return (gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerId[0] % 5) + (gSaveBlock1Ptr->secretBases[secretBaseRecordId].gender * 5); + return (gSaveBlock1Ptr->secretBases[secretBaseId].trainerId[0] % 5) + + (gSaveBlock1Ptr->secretBases[secretBaseId].gender * 5); } const u8 *GetSecretBaseTrainerLoseText(void) { - u8 param; - - param = sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE)); - if (param == 0) - { + u8 ownerType = GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE)); + if (ownerType == 0) return SecretBase_RedCave1_Text_274966; - } - if (param == 1) - { + else if (ownerType == 1) return SecretBase_RedCave1_Text_274D13; - } - if (param == 2) - { + else if (ownerType == 2) return SecretBase_RedCave1_Text_274FFE; - } - if (param == 3) - { + else if (ownerType == 3) return SecretBase_RedCave1_Text_275367; - } - if (param == 4) - { + else if (ownerType == 4) return SecretBase_RedCave1_Text_2756C7; - } - if (param == 5) - { + else if (ownerType == 5) return SecretBase_RedCave1_Text_274B24; - } - if (param == 6) - { + else if (ownerType == 6) return SecretBase_RedCave1_Text_274E75; - } - if (param == 7) - { + else if (ownerType == 7) return SecretBase_RedCave1_Text_2751E1; - } - if (param == 8) - { + else if (ownerType == 8) return SecretBase_RedCave1_Text_2754F6; - } - return SecretBase_RedCave1_Text_2758CC; + else + return SecretBase_RedCave1_Text_2758CC; } -void sub_80EA2E4(void) +void PrepSecretBaseBattleFlags(void) { - sub_813BADC(TRUE); + sub_813BADC(1); gTrainerBattleOpponent_A = TRAINER_SECRET_BASE; gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE; } void sub_80EA30C(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_5 = gSpecialVar_Result; + gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].battledOwnerToday = gSpecialVar_Result; } -void sub_80EA354(void) +void GetSecretBaseOwnerInteractionState(void) { - u16 secretBaseRecordId; + u16 secretBaseId; u8 i; - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); if (!FlagGet(FLAG_DAILY_SECRET_BASE)) { - for (i = 0; i < SECRET_BASES_COUNT; i ++) - { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_5 = FALSE; - } + for (i = 0; i < SECRET_BASES_COUNT; i++) + gSaveBlock1Ptr->secretBases[i].battledOwnerToday = FALSE; + FlagSet(FLAG_DAILY_SECRET_BASE); } - gSpecialVar_0x8004 = sub_80EA20C(secretBaseRecordId); - gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5; + gSpecialVar_0x8004 = GetSecretBaseOwnerType(secretBaseId); + gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseId].battledOwnerToday; } void SecretBasePerStepCallback(u8 taskId) @@ -1181,318 +1155,286 @@ void SecretBasePerStepCallback(u8 taskId) data = gTasks[taskId].data; switch (data[1]) { - case 0: - if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) + case 0: + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) + sInFriendSecretBase = TRUE; + else + sInFriendSecretBase = FALSE; + + PlayerGetDestCoords(&data[2], &data[3]); + data[1] = 1; + break; + case 1: + PlayerGetDestCoords(&x, &y); + if (x != data[2] || y != data[3]) + { + data[2] = x; + data[3] = y; + VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); + behavior = MapGridGetMetatileBehaviorAt(x, y); + tileId = MapGridGetMetatileIdAt(x, y); + if (tileId == 0x234 || tileId == 0x23C) { - gInFriendSecretBase = TRUE; + if (sInFriendSecretBase == TRUE) + { + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20); + } } - else + else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca) { - gInFriendSecretBase = FALSE; + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01); } - PlayerGetDestCoords(&data[2], &data[3]); + else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04); + } + else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a)) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200); + } + else if (behavior == 0xc1 && tileId == 0x23d) + { + if (sInFriendSecretBase == TRUE) + { + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000); + } + } + else if (behavior == 0x47 && tileId == 0x23e) + { + if (sInFriendSecretBase == TRUE) + { + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000); + } + } + else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80); + } + else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) + { + PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y); + if (sInFriendSecretBase == TRUE) + { + switch ((int)MapGridGetMetatileIdAt(x, y)) + { + case 0x338: + case 0x33c: + case 0x340: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02); + break; + case 0x228: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100); + break; + } + } + } + else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400); + + ShatterSecretBaseBreakableDoor(x, y); + } + else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000); + } + else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000); + } + else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02); + } + } + break; + case 2: + if (!FieldEffectActiveListContains(data[4])) data[1] = 1; - break; - case 1: - PlayerGetDestCoords(&x, &y); - if (x != data[2] || y != data[3]) - { - data[2] = x; - data[3] = y; - VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); - behavior = MapGridGetMetatileBehaviorAt(x, y); - tileId = MapGridGetMetatileIdAt(x, y); - if (tileId == 0x234 || tileId == 0x23C) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20); - } - } - else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01); - } - } - else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04); - } - } - else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a)) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200); - } - } - else if (behavior == 0xc1 && tileId == 0x23d) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000); - } - } - else if (behavior == 0x47 && tileId == 0x23e) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000); - } - } - else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80); - } - } - else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) - { - PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y); - if (gInFriendSecretBase == TRUE) - { - switch ((int)MapGridGetMetatileIdAt(x, y)) - { - case 0x338: - case 0x33c: - case 0x340: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02); - break; - case 0x228: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100); - break; - } - } - } - else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400); - } - ShatterSecretBaseBreakableDoor(x, y); - } - else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ - if (gInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000); - } - } - else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000); - } - } - else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02); - } - } - } - break; - case 2: - if (!FieldEffectActiveListContains(data[4])) - { - data[1] = 1; - } - break; + break; } } -void sub_80EA828(u8 secretBaseRecordId, struct SecretBaseRecord *base, u32 version, u32 language) +static void SetSecretBaseDataAndLanguage(u8 secretBaseId, struct SecretBase *secretBase, u32 version, u32 language) { int stringLength; u8 *name; - gSaveBlock1Ptr->secretBases[secretBaseRecordId] = *base; - gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 = 2; + gSaveBlock1Ptr->secretBases[secretBaseId] = *secretBase; + gSaveBlock1Ptr->secretBases[secretBaseId].registryStatus = 2; if (version == VERSION_SAPPHIRE || version == VERSION_RUBY) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].language = LANGUAGE_ENGLISH; - } + gSaveBlock1Ptr->secretBases[secretBaseId].language = LANGUAGE_ENGLISH; + if (version == VERSION_EMERALD && language == LANGUAGE_JAPANESE) { - name = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName; - for (stringLength = 0; stringLength < 7; stringLength ++) + name = gSaveBlock1Ptr->secretBases[secretBaseId].trainerName; + for (stringLength = 0; stringLength < 7; stringLength++) { if (name[stringLength] == EOS) - { break; - } } + if (stringLength > 5) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].language = LANGUAGE_ENGLISH; - } + gSaveBlock1Ptr->secretBases[secretBaseId].language = LANGUAGE_ENGLISH; } } -bool8 sub_80EA8D4(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesHaveSameTrainerId(struct SecretBase *secretBase1, struct SecretBase *secretBase2) { u8 i; - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { - if (sbr1->trainerId[i] != sbr2->trainerId[i]) - { + if (secretBase1->trainerId[i] != secretBase2->trainerId[i]) return FALSE; - } } + return TRUE; } -bool8 sub_80EA904(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesHaveSameTrainerName(struct SecretBase *sbr1, struct SecretBase *sbr2) { u8 i; - for (i = 0; i < PLAYER_NAME_LENGTH && (sbr1->trainerName[i] != EOS || sbr2->trainerName[i] != EOS); i++) { if (sbr1->trainerName[i] != sbr2->trainerName[i]) - { return FALSE; - } } + return TRUE; } -bool8 sub_80EA950(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesBelongToSamePlayer(struct SecretBase *secretBase1, struct SecretBase *secretBase2) { - if (sbr1->gender == sbr2->gender && sub_80EA8D4(sbr1, sbr2) && sub_80EA904(sbr1, sbr2)) + if (secretBase1->gender == secretBase2->gender + && SecretBasesHaveSameTrainerId(secretBase1, secretBase2) + && SecretBasesHaveSameTrainerName(secretBase1, secretBase2)) { return TRUE; } + return FALSE; } -s16 sub_80EA990(u8 secretBaseRecordId) +static s16 GetSecretBaseIndexFromId(u8 secretBaseId) { s16 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].secretBaseId == secretBaseRecordId) - { + if (gSaveBlock1Ptr->secretBases[i].secretBaseId == secretBaseId) return i; - } } + return -1; } -u8 sub_80EA9D8(void) +static u8 FindAvailableSecretBaseIndex(void) { s16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (gSaveBlock1Ptr->secretBases[i].secretBaseId == 0) - { return i; - } } + return 0; } -u8 sub_80EAA18(void) +static u8 sub_80EAA18(void) { s16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 == 0 && gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 0) - { + if (gSaveBlock1Ptr->secretBases[i].registryStatus == 0 && gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 0) return i; - } } + return 0; } -u8 sub_80EAA64(struct SecretBaseRecord *base, u32 version, u32 language) +static u8 sub_80EAA64(struct SecretBase *secretBase, u32 version, u32 language) { - s16 secretBaseRecordId; + s16 index; - if (base->secretBaseId == 0) - { + if (!secretBase->secretBaseId) return 0; - } - secretBaseRecordId = sub_80EA990(base->secretBaseId); - if (secretBaseRecordId != 0) + + index = GetSecretBaseIndexFromId(secretBase->secretBaseId); + if (index != 0) { - if (secretBaseRecordId != -1) + if (index != -1) { - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_0 == 1) - { + if (gSaveBlock1Ptr->secretBases[index].sbr_field_1_0 == 1) return 0; - } - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 != 2 || base->sbr_field_1_0 == 1) + + if (gSaveBlock1Ptr->secretBases[index].registryStatus != 2 || secretBase->sbr_field_1_0 == 1) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } } else { - secretBaseRecordId = sub_80EA9D8(); - if (secretBaseRecordId != 0) + index = FindAvailableSecretBaseIndex(); + if (index != 0) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } - secretBaseRecordId = sub_80EAA18(); - if (secretBaseRecordId != 0) + + index = sub_80EAA18(); + if (index != 0) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } } } return 0; } -void sub_80EAAF4(void) +// Moves the registered secret bases to the beginning of the array, so that +// they won't be forgotten during record mixing. +static void SortSecretBasesByRegistryStatus(void) { u8 i; u8 j; - struct SecretBaseRecord base; - struct SecretBaseRecord *secretBases; + struct SecretBase *secretBases; secretBases = gSaveBlock1Ptr->secretBases; - for (i = 1; i < 19; i ++) + for (i = 1; i < 19; i++) { - for (j = i + 1; j < SECRET_BASES_COUNT; j ++) + for (j = i + 1; j < SECRET_BASES_COUNT; j++) { - if ((secretBases[i].sbr_field_1_6 == 0 && secretBases[j].sbr_field_1_6 == 1) || (secretBases[i].sbr_field_1_6 == 2 && secretBases[j].sbr_field_1_6 != 2)) + if ((secretBases[i].registryStatus == 0 && secretBases[j].registryStatus == 1) || (secretBases[i].registryStatus == 2 && secretBases[j].registryStatus != 2)) { - base = secretBases[i]; + struct SecretBase temp = secretBases[i]; secretBases[i] = secretBases[j]; - secretBases[j] = base; + secretBases[j] = temp; } } } } -void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 b) +void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 registryStatus) { u16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (mixer->records[i].sbr_field_1_6 == b) - { - sub_80EAA64(&mixer->records[i], mixer->version, mixer->language); - } + if (mixer->secretBases[i].registryStatus == registryStatus) + sub_80EAA64(&mixer->secretBases[i], mixer->version, mixer->language); } } -bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) +bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase) { u8 i; @@ -1503,13 +1445,13 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) return FALSE; // Check if the player's trainer Id matches the secret base's id. - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { if (secretBase->trainerId[i] != gSaveBlock2Ptr->playerTrainerId[i]) return FALSE; } - for (i = 0; i < PLAYER_NAME_LENGTH && (secretBase->trainerName[i] != EOS || gSaveBlock2Ptr->playerName[i] != EOS); i ++) + for (i = 0; i < PLAYER_NAME_LENGTH && (secretBase->trainerName[i] != EOS || gSaveBlock2Ptr->playerName[i] != EOS); i++) { if (secretBase->trainerName[i] != gSaveBlock2Ptr->playerName[i]) return FALSE; @@ -1518,16 +1460,16 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) return TRUE; } -void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC) +void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC) { u8 i; u8 sbFlags = 0x0; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (!(sbFlags & 0x1)) // 001 { - if (DoesSecretBaseBelongToPlayer(&basesA[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesA[i]) == TRUE) { ClearSecretBase(&basesA[i]); sbFlags |= 1; @@ -1536,7 +1478,7 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR if (!(sbFlags & 0x2)) // 010 { - if (DoesSecretBaseBelongToPlayer(&basesB[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesB[i]) == TRUE) { ClearSecretBase(&basesB[i]); sbFlags |= 2; @@ -1545,7 +1487,7 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR if (!(sbFlags & 0x4)) // 100 { - if (DoesSecretBaseBelongToPlayer(&basesC[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesC[i]) == TRUE) { ClearSecretBase(&basesC[i]); sbFlags |= 4; @@ -1559,15 +1501,15 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR } } -bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secretBases, u8 c) +bool8 sub_80EAD14(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c) { u8 i; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (secretBases[i].secretBaseId != 0) { - if (sub_80EA950(base, &secretBases[i]) == TRUE) + if (SecretBasesBelongToSamePlayer(secretBase, &secretBases[i]) == TRUE) { if (c == 0) { @@ -1575,15 +1517,14 @@ bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secret return FALSE; } - if (base->sbr_field_e > secretBases[i].sbr_field_e) + if (secretBase->numSecretBasesReceived > secretBases[i].numSecretBasesReceived) { ClearSecretBase(&secretBases[i]); return FALSE; } - secretBases[i].sbr_field_1_0 = base->sbr_field_1_0; - - ClearSecretBase(base); + secretBases[i].sbr_field_1_0 = secretBase->sbr_field_1_0; + ClearSecretBase(secretBase); return TRUE; } } @@ -1592,15 +1533,15 @@ bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secret return FALSE; } -void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC, struct SecretBaseRecord *basesD) +void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC, struct SecretBase *basesD) { u8 i; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (basesA[i].secretBaseId) { - if (basesA[i].sbr_field_1_6 == 1) + if (basesA[i].registryStatus == 1) { basesA[i].sbr_field_1_0 = 1; } @@ -1613,32 +1554,32 @@ void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases } } } - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (basesB[i].secretBaseId) { - basesB[i].sbr_field_1_5 = 0; + basesB[i].battledOwnerToday = 0; if (!sub_80EAD14(&basesB[i], basesC, i)) { sub_80EAD14(&basesB[i], basesD, i); } } } - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (basesC[i].secretBaseId) { - basesC[i].sbr_field_1_5 = 0; + basesC[i].battledOwnerToday = 0; sub_80EAD14(&basesC[i], basesD, i); } if (basesD[i].secretBaseId) { - basesD[i].sbr_field_1_5 = 0; + basesD[i].battledOwnerToday = 0; } } } -void sub_80EAE90(struct SecretBaseRecord *base, u32 version, u32 language) +void sub_80EAE90(struct SecretBase *base, u32 version, u32 language) { if (base->sbr_field_1_0 == 1) { @@ -1651,22 +1592,22 @@ void sub_80EAEB4(struct SecretBaseRecordMixer *mixers) { u16 i; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - sub_80EAE90(&mixers[0].records[i], mixers[0].version, mixers[0].language); - sub_80EAE90(&mixers[1].records[i], mixers[1].version, mixers[1].language); - sub_80EAE90(&mixers[2].records[i], mixers[2].version, mixers[2].language); + sub_80EAE90(&mixers[0].secretBases[i], mixers[0].version, mixers[0].language); + sub_80EAE90(&mixers[1].secretBases[i], mixers[1].version, mixers[1].language); + sub_80EAE90(&mixers[2].secretBases[i], mixers[2].version, mixers[2].language); } } void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) { - DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixers[0].records, mixers[1].records, mixers[2].records); - sub_80EAD94(gSaveBlock1Ptr->secretBases, mixers[0].records, mixers[1].records, mixers[2].records); + DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixers[0].secretBases, mixers[1].secretBases, mixers[2].secretBases); + sub_80EAD94(gSaveBlock1Ptr->secretBases, mixers[0].secretBases, mixers[1].secretBases, mixers[2].secretBases); sub_80EAEB4(mixers); - sub_80EAA64(mixers[0].records, mixers[0].version, mixers[0].language); - sub_80EAA64(mixers[1].records, mixers[1].version, mixers[1].language); - sub_80EAA64(mixers[2].records, mixers[2].version, mixers[2].language); + sub_80EAA64(mixers[0].secretBases, mixers[0].version, mixers[0].language); + sub_80EAA64(mixers[1].secretBases, mixers[1].version, mixers[1].language); + sub_80EAA64(mixers[2].secretBases, mixers[2].version, mixers[2].language); sub_80EABA4(&mixers[0], 1); sub_80EABA4(&mixers[1], 1); sub_80EABA4(&mixers[2], 1); @@ -1675,7 +1616,7 @@ void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) sub_80EABA4(&mixers[2], 0); } -void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx) +void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx) { struct SecretBaseRecordMixer mixers[3]; u16 i; @@ -1684,95 +1625,97 @@ void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx) { switch (GetLinkPlayerCount()) { - case 2: - memset(records + 2 * recordSize, 0, recordSize); - memset(records + 3 * recordSize, 0, recordSize); - break; - case 3: - memset(records + 3 * recordSize, 0, recordSize); - break; + case 2: + memset(secretBases + 2 * recordSize, 0, recordSize); + memset(secretBases + 3 * recordSize, 0, recordSize); + break; + case 3: + memset(secretBases + 3 * recordSize, 0, recordSize); + break; } + switch (linkIdx) { - case 0: - mixers[0].records = records + 1 * recordSize; - mixers[0].version = gLinkPlayers[1].version & 0xFF; - mixers[0].language = gLinkPlayers[1].language; - mixers[1].records = records + 2 * recordSize; - mixers[1].version = gLinkPlayers[2].version & 0xFF; - mixers[1].language = gLinkPlayers[2].language; - mixers[2].records = records + 3 * recordSize; - mixers[2].version = gLinkPlayers[3].version & 0xFF; - mixers[2].language = gLinkPlayers[3].language; - break; - case 1: - mixers[0].records = records + 2 * recordSize; - mixers[0].version = gLinkPlayers[2].version & 0xFF; - mixers[0].language = gLinkPlayers[2].language; - mixers[1].records = records + 3 * recordSize; - mixers[1].version = gLinkPlayers[3].version & 0xFF; - mixers[1].language = gLinkPlayers[3].language; - mixers[2].records = records + 0 * recordSize; - mixers[2].version = gLinkPlayers[0].version & 0xFF; - mixers[2].language = gLinkPlayers[0].language; - break; - case 2: - mixers[0].records = records + 3 * recordSize; - mixers[0].version = gLinkPlayers[3].version & 0xFF; - mixers[0].language = gLinkPlayers[3].language; - mixers[1].records = records + 0 * recordSize; - mixers[1].version = gLinkPlayers[0].version & 0xFF; - mixers[1].language = gLinkPlayers[0].language; - mixers[2].records = records + 1 * recordSize; - mixers[2].version = gLinkPlayers[1].version & 0xFF; - mixers[2].language = gLinkPlayers[1].language; - break; - case 3: - mixers[0].records = records + 0 * recordSize; - mixers[0].version = gLinkPlayers[0].version & 0xFF; - mixers[0].language = gLinkPlayers[0].language; - mixers[1].records = records + 1 * recordSize; - mixers[1].version = gLinkPlayers[1].version & 0xFF; - mixers[1].language = gLinkPlayers[1].language; - mixers[2].records = records + 2 * recordSize; - mixers[2].version = gLinkPlayers[2].version & 0xFF; - mixers[2].language = gLinkPlayers[2].language; - break; + case 0: + mixers[0].secretBases = secretBases + 1 * recordSize; + mixers[0].version = gLinkPlayers[1].version & 0xFF; + mixers[0].language = gLinkPlayers[1].language; + mixers[1].secretBases = secretBases + 2 * recordSize; + mixers[1].version = gLinkPlayers[2].version & 0xFF; + mixers[1].language = gLinkPlayers[2].language; + mixers[2].secretBases = secretBases + 3 * recordSize; + mixers[2].version = gLinkPlayers[3].version & 0xFF; + mixers[2].language = gLinkPlayers[3].language; + break; + case 1: + mixers[0].secretBases = secretBases + 2 * recordSize; + mixers[0].version = gLinkPlayers[2].version & 0xFF; + mixers[0].language = gLinkPlayers[2].language; + mixers[1].secretBases = secretBases + 3 * recordSize; + mixers[1].version = gLinkPlayers[3].version & 0xFF; + mixers[1].language = gLinkPlayers[3].language; + mixers[2].secretBases = secretBases + 0 * recordSize; + mixers[2].version = gLinkPlayers[0].version & 0xFF; + mixers[2].language = gLinkPlayers[0].language; + break; + case 2: + mixers[0].secretBases = secretBases + 3 * recordSize; + mixers[0].version = gLinkPlayers[3].version & 0xFF; + mixers[0].language = gLinkPlayers[3].language; + mixers[1].secretBases = secretBases + 0 * recordSize; + mixers[1].version = gLinkPlayers[0].version & 0xFF; + mixers[1].language = gLinkPlayers[0].language; + mixers[2].secretBases = secretBases + 1 * recordSize; + mixers[2].version = gLinkPlayers[1].version & 0xFF; + mixers[2].language = gLinkPlayers[1].language; + break; + case 3: + mixers[0].secretBases = secretBases + 0 * recordSize; + mixers[0].version = gLinkPlayers[0].version & 0xFF; + mixers[0].language = gLinkPlayers[0].language; + mixers[1].secretBases = secretBases + 1 * recordSize; + mixers[1].version = gLinkPlayers[1].version & 0xFF; + mixers[1].language = gLinkPlayers[1].language; + mixers[2].secretBases = secretBases + 2 * recordSize; + mixers[2].version = gLinkPlayers[2].version & 0xFF; + mixers[2].language = gLinkPlayers[2].language; + break; } + sub_80EAEF4(mixers); - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 1) { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 = 1; + gSaveBlock1Ptr->secretBases[i].registryStatus = 1; gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 = 0; } } - sub_80EAAF4(); - for (i = 1; i < SECRET_BASES_COUNT; i ++) + + SortSecretBasesByRegistryStatus(); + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 == 2) + if (gSaveBlock1Ptr->secretBases[i].registryStatus == 2) { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 = 0; + gSaveBlock1Ptr->secretBases[i].registryStatus = 0; } } - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0 && gSaveBlock1Ptr->secretBases[0].sbr_field_e != 0xFFFF) + + if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0 + && gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived != 0xFFFF) { - gSaveBlock1Ptr->secretBases[0].sbr_field_e ++; + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived++; } } } -void sub_80EB18C(struct SecretBaseRecord *bases) +void ClearJapaneseSecretBases(struct SecretBase *bases) { u32 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (bases[i].language == LANGUAGE_JAPANESE) - { ClearSecretBase(&bases[i]); - } } } @@ -1783,22 +1726,19 @@ void sub_80EB1AC(void) VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, 0); VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, 0); if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, TRUE); - } else - { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE); - } - gInFriendSecretBase = FALSE; + + sInFriendSecretBase = FALSE; } void sub_80EB218(void) { - if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && gInFriendSecretBase == TRUE && !CurrentMapIsSecretBase()) + if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && sInFriendSecretBase == TRUE && !CurMapIsSecretBase()) { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE); - gInFriendSecretBase = FALSE; + sInFriendSecretBase = FALSE; sub_80EEA70(); VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0); @@ -1811,17 +1751,13 @@ void sub_80EB218(void) void sub_80EB290(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x800); - } } void sub_80EB2C8(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x400); - } } void sub_80EB300(void) @@ -1864,10 +1800,9 @@ void sub_80EB438(void) } } -void sub_80EB498(void) +void SetSecretBaseSecretsTvFlags_Poster(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -1888,27 +1823,23 @@ void sub_80EB498(void) case 0x333: case 0x334: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x4000); - } break; } } -void sub_80EB56C(void) +void SetSecretBaseSecretsTvFlags_MiscFurnature(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { case 0x28a: case 0x28b: + // Bird Statue if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x40); - } break; case 0x2d8: case 0x2d9: @@ -1928,32 +1859,28 @@ void sub_80EB56C(void) case 0x2f9: case 0x2fa: case 0x2fb: + // Plants if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8); - } break; case 0x22c: case 0x233: + // Fence if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x40); - } break; case 0x288: case 0x289: + // Tire if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); - } break; case 0x22d: case 0x22e: case 0x22f: + // Bricks if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); - } break; case 0x287: case 0x28f: @@ -1978,18 +1905,16 @@ void sub_80EB56C(void) case 0x2cd: case 0x2ce: case 0x2cf: + // Tables if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; } } -void sub_80EB9E0(void) +void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -2006,17 +1931,14 @@ void sub_80EB9E0(void) case 0x2c3: case 0x2c6: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; } } -void sub_80EBB28(void) +void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -2044,42 +1966,34 @@ void sub_80EBB28(void) case 0x2c5: case 0x2c7: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; case 0x280: case 0x281: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); - } break; case 0x225: case 0x226: case 0x227: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); - } break; } } -void sub_80EBE7C(void) +void SetSecretBaseSecretsTvFlags_SandOrnament(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch ((int)MapGridGetMetatileIdAt(x, y)) { case 0x28d: case 0x28e: + // Sand Ornament if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4); - } break; } } diff --git a/src/strings.c b/src/strings.c index 577d26f5c3..44c2ae1a22 100644 --- a/src/strings.c +++ b/src/strings.c @@ -529,7 +529,7 @@ const u8 gText_ApostropheSBase[] = _("'s BASE"); const u8 gText_OkayToDeleteFromRegistry[] = _("Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?"); const u8 gText_RegisteredDataDeleted[] = _("The registered data was deleted.{PAUSE_UNTIL_PRESS}"); const u8 gText_NoRegistry[] = _("There is no REGISTRY.{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_085EA79D[] = _("DEL REGIST."); +const u8 gText_DelRegist[] = _("DEL REGIST."); const u8 gUnknown_085EA7A9[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}"); const u8 gText_Decorate[] = _("DECORATE"); const u8 gText_PutAway[] = _("PUT AWAY"); diff --git a/src/tv.c b/src/tv.c index 7b5252add8..01b43f1002 100644 --- a/src/tv.c +++ b/src/tv.c @@ -2567,7 +2567,7 @@ void sub_80EEA70(void) show->secretBaseSecrets.active = FALSE; StringCopy(show->secretBaseSecrets.playerName, gSaveBlock2Ptr->playerName); show->secretBaseSecrets.stepsInBase = VarGet(VAR_SECRET_BASE_STEP_COUNTER); - sub_80E980C(); + CopyCurSecretBaseOwnerName_StrVar1(); StringCopy(strbuf, gStringVar1); StripExtCtrlCodes(strbuf); StringCopy(show->secretBaseSecrets.baseOwnersName, strbuf); @@ -7366,7 +7366,7 @@ u8 TVShowGetFlagCount(TVShow *show) return tot; } -u8 TVShowGetStateForFlagNumber(TVShow *show, u8 a1) +static u8 SecretBaseSecrets_GetStateForFlagNumber(TVShow *show, u8 a1) { u8 i; u8 tot; @@ -7409,7 +7409,7 @@ static void DoTVShowSecretBaseSecrets(void) { show->secretBaseSecrets.savedState = 1; sTVSecretBaseSecretsRandomValues[0] = Random() % bitCount; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); } break; case 1: @@ -7424,11 +7424,11 @@ static void DoTVShowSecretBaseSecrets(void) show->secretBaseSecrets.savedState = 2; if (sTVSecretBaseSecretsRandomValues[0] == 0) { - sTVShowState = TVShowGetStateForFlagNumber(show, 1); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 1); } else { - sTVShowState = TVShowGetStateForFlagNumber(show, 0); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 0); } break; default: @@ -7441,7 +7441,7 @@ static void DoTVShowSecretBaseSecrets(void) } } show->secretBaseSecrets.savedState = 2; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); break; } break; @@ -7463,7 +7463,7 @@ static void DoTVShowSecretBaseSecrets(void) } } show->secretBaseSecrets.savedState = 3; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); } break; case 3: diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index 61be86a374..4c302c5eb2 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -125,7 +125,7 @@ static void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId) static void CreateUnionRoomPlayerEventObject(u32 playerIdx) { - show_sprite(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } static void RemoveUnionRoomPlayerEventObject(u32 playerIdx) From 3cc68031560b3efcbe3c838a180fe5cad924060b Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 5 Apr 2019 16:14:11 -0500 Subject: [PATCH 64/84] Nuke porymap.project.cfg --- .gitignore | 1 + porymap.project.cfg | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100755 porymap.project.cfg diff --git a/.gitignore b/.gitignore index dc782899dd..ed21493bfc 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ Thumbs.db build/ .DS_Store *.ddump +porymap.project.cfg diff --git a/porymap.project.cfg b/porymap.project.cfg deleted file mode 100755 index c6ba8781eb..0000000000 --- a/porymap.project.cfg +++ /dev/null @@ -1 +0,0 @@ -base_game_version=pokeemerald From bc506861581869658f627a21fa90749540f352ca Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 6 Apr 2019 03:41:00 -0400 Subject: [PATCH 65/84] Decomp everything onvolving UnknownSubStruct_81C81D4 Now I can start cleaning up the fields and substructs --- asm/pokenav.s | 606 +--------------------------------------------- asmdiff.ps1 | 123 +++++++++- data/pokenav.s | 56 +---- include/strings.h | 3 + src/pokenav.c | 401 +++++++++++++++++++++++++++--- src/strings.c | 6 +- 6 files changed, 498 insertions(+), 697 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index fee2fc91c5..68dd355421 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -3,606 +3,6 @@ .syntax unified - .text - - thumb_func_start sub_81C8DBC -sub_81C8DBC: @ 81C8DBC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x1C - adds r6, r0, 0 - mov r8, r1 - add r1, sp, 0xC - ldr r0, =gUnknown_0861FBE8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - add r0, sp, 0x18 - mov r9, r0 - ldr r1, =gUnknown_0861FBF4 - movs r2, 0x3 - bl memcpy - ldrh r4, [r6, 0xA] - mov r1, r8 - lsls r0, r1, 1 - adds r0, 0x1 - adds r4, r0 - movs r0, 0xF - ands r4, r0 - ldrb r0, [r6, 0x8] - lsls r5, r4, 4 - adds r3, r5, 0 - ldrb r1, [r6, 0x4] - str r1, [sp] - movs r1, 0x10 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - ldrb r0, [r6, 0x8] - movs r1, 0x1 - orrs r5, r1 - mov r2, r9 - str r2, [sp] - subs r1, 0x2 - str r1, [sp, 0x4] - mov r3, r8 - lsls r3, 2 - mov r8, r3 - mov r1, sp - add r1, r8 - adds r1, 0xC - ldr r1, [r1] - str r1, [sp, 0x8] - movs r1, 0x7 - movs r2, 0x2 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - ldrh r0, [r6, 0x8] - lsls r4, 1 - ldrb r1, [r6, 0x4] - str r1, [sp] - movs r1, 0x2 - str r1, [sp, 0x4] - movs r2, 0 - adds r3, r4, 0 - bl CopyWindowRectToVram - add sp, 0x1C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8DBC - - thumb_func_start sub_81C8E54 -sub_81C8E54: @ 81C8E54 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r7, r1, 0 - adds r1, r2, 0 - ldrh r3, [r7, 0xA] - ldr r2, =gUnknown_0861FBF7 - adds r2, r1, r2 - ldrb r2, [r2] - adds r6, r3, r2 - movs r2, 0xF - ands r6, r2 - ldrh r0, [r0] - bl sub_81CAFD8 - adds r5, r0, 0 - cmp r5, 0 - beq _081C8EC0 - ldrh r0, [r7, 0x8] - lsls r4, r6, 1 - ldrb r3, [r7, 0x4] - subs r3, 0x1 - movs r1, 0x2 - mov r8, r1 - str r1, [sp] - movs r1, 0x1 - adds r2, r4, 0 - bl sub_81DB620 - ldrb r0, [r7, 0x8] - lsls r1, r6, 4 - movs r2, 0x1 - orrs r1, r2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - adds r2, r5, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized - ldrh r0, [r7, 0x8] - ldrb r1, [r7, 0x4] - str r1, [sp] - mov r1, r8 - str r1, [sp, 0x4] - movs r1, 0x2 - movs r2, 0 - adds r3, r4, 0 - bl CopyWindowRectToVram -_081C8EC0: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8E54 - - thumb_func_start sub_81C8ED0 -sub_81C8ED0: @ 81C8ED0 - push {r4,r5,lr} - movs r5, 0 - ldr r4, =gUnknown_0861FBFC -_081C8ED6: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0 - beq _081C8ED6 - ldr r0, =gUnknown_0861FC04 - bl sub_81C795C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8ED0 - - thumb_func_start sub_81C8EF8 -sub_81C8EF8: @ 81C8EF8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_0861FC1C - ldrb r1, [r5, 0x2] - lsls r1, 3 - adds r1, 0x3 - ldrb r2, [r5, 0x3] - adds r2, 0x1 - lsls r2, 3 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r1, =gSprites - mov r8, r1 - add r0, r8 - str r0, [r5, 0x3C] - ldrb r6, [r5, 0x2] - lsls r6, 3 - ldrb r0, [r5, 0x4] - subs r0, 0x1 - lsls r0, 2 - ldr r3, =gUnknown_0861FC3C - mov r10, r3 - adds r6, r0 - ldrb r2, [r5, 0x3] - lsls r2, 3 - ldrh r0, [r4, 0x8] - lsls r0, 4 - adds r2, r0 - lsls r2, 16 - asrs r2, 16 - mov r0, r10 - adds r1, r6, 0 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - add r2, r8 - str r2, [r5, 0x44] - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x2 - ldr r0, =0x000003ff - mov r9, r0 - mov r0, r9 - ands r1, r0 - ldr r4, =0xfffffc00 - adds r0, r4, 0 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - ldr r1, [r5, 0x44] - ldr r0, =sub_81C90A0 - str r0, [r1, 0x1C] - ldrb r2, [r5, 0x3] - lsls r2, 3 - mov r0, r10 - adds r1, r6, 0 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - add r1, r8 - str r1, [r5, 0x40] - ldrh r2, [r1, 0x4] - lsls r0, r2, 22 - lsrs r0, 22 - adds r0, 0x4 - mov r3, r9 - ands r0, r3 - ands r4, r2 - orrs r4, r0 - strh r4, [r1, 0x4] - ldr r1, [r5, 0x40] - ldr r0, =sub_81C90F4 - str r0, [r1, 0x1C] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8EF8 - - thumb_func_start sub_81C8FE0 -sub_81C8FE0: @ 81C8FE0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x3C] - bl DestroySprite - ldr r0, [r4, 0x40] - bl DestroySprite - ldr r0, [r4, 0x44] - bl DestroySprite - movs r0, 0xA - bl FreeSpriteTilesByTag - movs r0, 0x14 - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C8FE0 - - thumb_func_start sub_81C9008 -sub_81C9008: @ 81C9008 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _081C9028 - ldr r2, [r5, 0x3C] - ldr r1, =SpriteCallbackDummy - str r1, [r2, 0x1C] - ldr r0, [r5, 0x40] - str r1, [r0, 0x1C] - ldr r0, [r5, 0x44] - str r1, [r0, 0x1C] - b _081C903A - .pool -_081C9028: - ldr r2, [r5, 0x3C] - ldr r0, =sub_81C9080 - str r0, [r2, 0x1C] - ldr r1, [r5, 0x40] - ldr r0, =sub_81C90F4 - str r0, [r1, 0x1C] - ldr r1, [r5, 0x44] - ldr r0, =sub_81C90A0 - str r0, [r1, 0x1C] -_081C903A: - adds r3, r2, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r4, r0 - lsls r4, 2 - ldrb r2, [r3] - movs r1, 0x5 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r3] - ldr r2, [r5, 0x40] - adds r2, 0x3E - ldrb r3, [r2] - adds r0, r1, 0 - ands r0, r3 - orrs r0, r4 - strb r0, [r2] - ldr r0, [r5, 0x44] - adds r0, 0x3E - ldrb r2, [r0] - ands r1, r2 - orrs r1, r4 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C9008 - - thumb_func_start sub_81C9080 -sub_81C9080: @ 81C9080 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, =0x0000088e - adds r0, r1 - ldrh r0, [r0] - lsls r0, 4 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C9080 - - thumb_func_start sub_81C90A0 -sub_81C90A0: @ 81C90A0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081C90C2 - bl sub_81C84C0 - cmp r0, 0 - beq _081C90C2 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - b _081C90CC -_081C90C2: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 -_081C90CC: - strb r0, [r2] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081C90EC - movs r0, 0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r4, 0x30] - strh r0, [r4, 0x26] -_081C90EC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C90A0 - - thumb_func_start sub_81C90F4 -sub_81C90F4: @ 81C90F4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081C9116 - bl sub_81C84A4 - cmp r0, 0 - beq _081C9116 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - b _081C9120 -_081C9116: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 -_081C9120: - strb r0, [r2] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081C9142 - movs r0, 0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x26] -_081C9142: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C90F4 - - thumb_func_start sub_81C9148 -sub_81C9148: @ 81C9148 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, [r0, 0x40] - strh r4, [r1, 0x3C] - ldr r0, [r0, 0x44] - strh r4, [r0, 0x3C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C9148 - - thumb_func_start sub_81C9160 -sub_81C9160: @ 81C9160 - push {r4,r5,lr} - adds r2, r0, 0 - ldr r0, [r1] - str r0, [r2, 0x10] - ldrh r4, [r1, 0x6] - movs r5, 0 - strh r4, [r2] - ldrh r3, [r1, 0x4] - strh r3, [r2, 0x2] - ldrb r0, [r1, 0x8] - str r0, [r2, 0xC] - ldrb r1, [r1, 0xC] - strh r1, [r2, 0x8] - lsls r0, r3, 16 - lsrs r0, 16 - cmp r1, r0 - bcc _081C918A - strh r5, [r2] - strh r5, [r2, 0x4] - strh r4, [r2, 0x6] - b _081C91A6 -_081C918A: - subs r0, r3, r1 - strh r0, [r2, 0x4] - ldrh r1, [r2] - ldrh r0, [r2, 0x8] - adds r1, r0 - ldrh r0, [r2, 0x2] - cmp r1, r0 - ble _081C91A4 - subs r0, r1, r0 - strh r0, [r2, 0x6] - subs r0, r4, r0 - strh r0, [r2] - b _081C91A6 -_081C91A4: - strh r5, [r2, 0x6] -_081C91A6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C9160 - - thumb_func_start sub_81C91AC -sub_81C91AC: @ 81C91AC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r7, r0, 0 - ldr r4, [r1] - lsls r4, 30 - lsrs r0, r4, 30 - movs r1, 0 - mov r9, r1 - strb r0, [r7] - strh r3, [r7, 0x6] - ldr r0, [r2, 0x10] - str r0, [r7, 0x34] - ldr r0, [r2, 0x14] - str r0, [r7, 0x38] - ldrb r6, [r2, 0xD] - strb r6, [r7, 0x1] - ldrb r1, [r2, 0x9] - strb r1, [r7, 0x2] - ldrb r0, [r2, 0xB] - strb r0, [r7, 0x3] - ldrb r5, [r2, 0xA] - strb r5, [r7, 0x4] - ldrb r0, [r2, 0xE] - strb r0, [r7, 0x5] - lsrs r4, 30 - ldr r2, =0xffffff00 - mov r8, r2 - ldr r0, [sp] - ands r0, r2 - orrs r0, r4 - lsls r1, 24 - lsrs r1, 16 - ldr r2, =0xffff00ff - ands r0, r2 - orrs r0, r1 - ldr r1, =0xff00ffff - ands r0, r1 - lsls r5, 24 - ldr r1, =0x00ffffff - ands r0, r1 - orrs r0, r5 - str r0, [sp] - ldr r0, [sp, 0x4] - mov r1, r8 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - lsls r6, 24 - lsrs r6, 16 - ands r0, r2 - orrs r0, r6 - adds r3, 0x2 - lsls r3, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r3 - str r0, [sp, 0x4] - mov r0, sp - bl AddWindow - strh r0, [r7, 0x8] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - beq _081C9258 - mov r2, r9 - strh r2, [r7, 0xA] - mov r0, r9 - str r0, [r7, 0x3C] - str r0, [r7, 0x40] - str r0, [r7, 0x44] - movs r0, 0x1 - b _081C925A - .pool -_081C9258: - movs r0, 0 -_081C925A: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C91AC - thumb_func_start sub_81C9268 sub_81C9268: @ 81C9268 push {r4,lr} @@ -5440,7 +4840,7 @@ _081CB7BA: b _081CB81A _081CB7C4: movs r0, 0x1 - bl sub_81C9148 + bl ToggleMatchCallVerticalArrows adds r0, r5, 0 bl sub_81CC058 movs r0, 0 @@ -5508,7 +4908,7 @@ _081CB844: adds r0, r5, 0 bl sub_81CC09C movs r0, 0x1 - bl sub_81C9148 + bl ToggleMatchCallVerticalArrows movs r0, 0x1 strb r0, [r5, 0xE] movs r0, 0 @@ -5617,7 +5017,7 @@ _081CB922: bne _081CB8EC _081CB92C: movs r0, 0 - bl sub_81C9148 + bl ToggleMatchCallVerticalArrows movs r6, 0x4 _081CB934: adds r0, r6, 0 diff --git a/asmdiff.ps1 b/asmdiff.ps1 index 17a8cb8e8c..f476d51e85 100644 --- a/asmdiff.ps1 +++ b/asmdiff.ps1 @@ -1,4 +1,119 @@ -$objdump = Join-Path -Path "$($args[0])" -ChildPath "bin\objdump.exe" -&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$($args[1])" --stop-address="$($args[2])" .\baserom.gba > .\baserom.dump -&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$($args[1])" --stop-address="$($args[2])" .\pokeemerald.gba > .\pokeemerald.dump -Compare-Object (Get-Content .\baserom.dump) (Get-Content .\pokeemerald.dump) +Param +( + [Parameter(Position = 0)] + [string]$Start, + + [Parameter(Position = 1)] + [string]$Offset, + + [Parameter()] + [string[]]$DiffTool +) + +$ErrorActionPreference = "Stop" + +$offset_default_value = "0x100" +$diff_tool_default_value = "diff" + +$help = " +$($args[0]) [OPTIONS] Start [Offset] + +Performs a diff on the assembly of a function in a rom. 'Start' is the start +location of the function, and 'Offset' is the number of bytes to disassemble. +The assembly is saved to *.dump files. + +'Offset' is optional, and defaults to $offset_default_value. If this value is +very large (0x10000+), objdump may hang / freeze. + +Requirements: + - A clean copy of the rom named 'baserom.gba'. + - $$ENV:DEVKITARM to point to the installation of devkitpro. By default, it is + installed to 'C:\devkitpro\devkitARM'. + +Options: + -DiffTool The tool to use for diffing. Defaults to '$diff_tool_default_value'. For VSCode, + you can use -DiffTool 'code --diff'. (Quotes are necessary around 'code --diff') +" + +if ((-not (Test-Path variable:Start)) -or [string]::IsNullOrWhiteSpace($Start)) +{ + Write-Host $help + exit +} + +if (-not (Test-Path variable:DiffTool) -or [string]::IsNullOrWhiteSpace($DiffTool)) +{ + $DiffTool = $diff_tool_default_value +} + +if (-not (Test-Path variable:Offset) -or [string]::IsNullOrWhiteSpace($Offset)) +{ + $Offset = $offset_default_value +} + +if (-Not (Test-Path env:DEVKITARM)) +{ + Write-Host "ENV:DEVKITARM variable not set." + Write-Host $help + exit +} + +if (-Not (Test-Path $env:DEVKITARM)) +{ + Write-Host "DEVKITARM path '$env:DEVKITARM' does not exist." + Write-Host $help + exit +} + +if (-Not (Test-Path ".\pokeemerald.gba")) +{ + Write-Host "File 'pokeemerald.gba' not found." + Write-Host $help + exit +} + +if (-Not (Test-Path ".\baserom.gba")) +{ + Write-Host "File 'baserom.gba' not found." +} + +try +{ + $start_num = [System.Convert]::ToUInt64($Start, 16) +} +catch +{ + Write-Host "Error parsing '$start_num' as a hex number." + Write-Host $help + exit +} + +try +{ + $offset_num = [System.Convert]::ToUInt64($Offset, 16) +} +catch +{ + Write-Host "Error parsing '$offset_num' as a hex number." + Write-Host $help + exit +} + +if ($start_num -gt 0x1000000) +{ + Write-Host "Warning: Start address is larger than the ROM file. Hint: ignore the leading number in the address." +} + +$end_str = [System.Convert]::ToString($start_num + $offset_num, 16) +$end_str = "0x$end_str" + +$start_str = "0x$Start" + +Write-Host "$start_str - $end_str" +$objdump = Join-Path -Path $env:DEVKITARM -ChildPath "arm-none-eabi\bin\objdump.exe" +Write-Host "Dumping [0/2]" +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\baserom.gba > .\baserom.dump +Write-Host "Dumping [1/2]" +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump +Write-Host "Dumping [2/2]" +Invoke-Expression "$DiffTool .\baserom.dump .\pokeemerald.dump" diff --git a/data/pokenav.s b/data/pokenav.s index 5847bca0d3..0e2c781664 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -3,60 +3,6 @@ .section .rodata -gUnknown_0861FB5C:: @ 861FB5C - .incbin "graphics/pokenav/arrows_matchcall.gbapal" - -gUnknown_0861FB7C:: @ 861FB7C - .incbin "graphics/pokenav/arrows_matchcall.4bpp.lz" - -gUnknown_0861FBE4:: @ 861FBE4 - .byte 0x0 - .byte 0x2 - .byte 0x5 - .byte 0x0 - -gUnknown_0861FBE8:: @ 861FBE8 - .4byte gUnknown_085EBEA8 - .4byte gUnknown_085EBEB1 - .4byte gUnknown_085EBEC3 - -gUnknown_0861FBF4:: @ 861FBF4 - .byte 0x1 - .byte 0x4 - .byte 0x5 - -gUnknown_0861FBF7:: @ 861FBF7 - .byte 0x2 - .byte 0x4 - .byte 0x6 - .byte 0x7 - .byte 0x0 - -gUnknown_0861FBFC:: @ 861FBFC - .4byte gUnknown_0861FB7C - .2byte 0xC0 - .2byte 0xA - -gUnknown_0861FC04:: @ 861FC04 - .4byte gUnknown_0861FB5C - .4byte 0x14 - .4byte 0x0 - .4byte 0x0 - -gUnknown_0861FC14:: @ 861FC14 - .4byte 0x8000 - .4byte 0x800 - -gUnknown_0861FC1C:: @ 861FC1C - spr_template 10, 20, gUnknown_0861FC14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81C9080 - -gUnknown_0861FC34:: @ 861FC34 - .4byte 0x4000 - .4byte 0x800 - -gUnknown_0861FC3C:: @ 861FC3C - spr_template 10, 20, gUnknown_0861FC34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - gUnknown_0861FC54:: @ 861FC54 .byte 2 .byte 3 @@ -1313,7 +1259,7 @@ gUnknown_0862278C:: @ 862278C .4byte 0x20206A gUnknown_08622794:: @ 8622794 - .4byte 0x3077 + .4byte 0x00003077 gUnknown_08622798:: @ 8622798 .4byte NULL diff --git a/include/strings.h b/include/strings.h index 3899b63aa5..d0c339d4a3 100644 --- a/include/strings.h +++ b/include/strings.h @@ -986,6 +986,9 @@ extern const u8 gText_SomeonesPC[]; extern const u8 gText_PlayersPC[]; extern const u8 gText_WhichPCShouldBeAccessed[]; +extern const u8 gText_NavgearMatchCall_Strategy[]; +extern const u8 gText_NavgearMatchCall_TrainerPokemon[]; +extern const u8 gText_NavgearMatchCall_SelfIntroduction[]; extern const u8 gText_Navgear_ClearButtonList[]; extern const u8 gText_NavgearMap_ZoomedOutButtons[]; extern const u8 gText_NavgearMap_ZoomedInButtons[]; diff --git a/src/pokenav.c b/src/pokenav.c index 3986cb51c0..cde8646bc9 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -34,7 +34,7 @@ struct UnknownSubSubStruct_0203CF40 { u8 unk2; u8 unk3; u8 unk4; - u8 unk5; + u8 fontId; u16 unk6; u16 windowId; u16 unkA; @@ -80,12 +80,12 @@ struct UnknownInnerStruct_81C81D4 u32 unk28; s32 unk2C; u32 unk30; - void (*unk34)(u32, char*); + void (*unk34)(u32, u8*); void (*unk38)(u16, u32, u32); - u32 unk3C; - u32 unk40; - u32 unk44; - char unk48[0x40]; + struct Sprite *rightArrow; + struct Sprite *upArrow; + struct Sprite *downArrow; + u8 unkTextBuffer[0x40]; }; // Generally at index 0x11 (17) @@ -117,12 +117,27 @@ struct CompressedSpritePalette_ u32 tag; }; +struct UnknownStruct_81C9160 +{ + u32 unk0; + u16 unk4; + u16 unk6; + u8 unk8; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + u8 unkE; + void (*unk10)(u32, u8 *a1); + void (*unk14)(u16 a0, u32 a1, u32 a2); +}; + extern u32 sub_81C9430(void); extern void sub_81CAADC(void); extern u32 sub_81C99D4(void); extern void sub_8199D98(void); extern void sub_81C7D28(void); -extern void sub_81C8FE0(void); extern u32 sub_81C9298(void); extern u32 sub_81C941C(void); extern u32 sub_81C9924(void); @@ -180,16 +195,22 @@ extern u32 sub_81D04B8(void); extern u32 sub_81D09F4(void); extern u32 sub_81CFA04(void); extern u32 sub_81CFE08(void); -extern u32 sub_81C91AC(struct UnknownSubStruct_81C81D4 *a0, const void *a1, void *a2, s32 a3); -extern u32 sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, void *a1); -extern void sub_81C8ED0(void); extern void sub_81C7CB4(struct Sprite* sprite); extern void sub_81CBD48(u16 windowId, u32 a1); -extern void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); -extern void sub_81C9008(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); -extern void sub_81C8DBC(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); -extern void sub_81C8E54(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); +extern u8 *sub_81CAFD8(u16 a0, u32 a1); +extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4); +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct UnknownStruct_81C9160 *a2, s32 a3); +void sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownStruct_81C9160 *a1); +void SpriteCB_MatchCallUpArrow(struct Sprite *sprite); +void SpriteCB_MatchCallDownArrow(struct Sprite *sprite); +void SpriteCB_MatchCallRightArrow(struct Sprite *sprite); +void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0); +void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8ED0(void); +void sub_81C8E54(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); +void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); void sub_81C8D4C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); void sub_81C8CB4(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); @@ -636,12 +657,103 @@ static const struct SpriteTemplate sUnknown_0861FB44 = .callback = SpriteCallbackDummy }; +static const u16 sMatchcallArrowPaletteData[] = INCBIN_U16("graphics/pokenav/arrows_matchcall.gbapal"); +static const u32 sMatchcallArrowSpriteSheetData[] = INCBIN_U32("graphics/pokenav/arrows_matchcall.4bpp.lz"); + +static const u8 sPokenavColors_0861FBE4[] = +{ + 0, 2, 5 +}; + +static const u8 *const sMatchCallFieldNames[] = +{ + gText_NavgearMatchCall_Strategy, + gText_NavgearMatchCall_TrainerPokemon, + gText_NavgearMatchCall_SelfIntroduction +}; + +static const u8 sMatchCallFieldColors[] = +{ + 1, 4, 5 +}; + +static const u8 sUnknown_0861FBF7[] = +{ + 2, 4, 6, 7, 0 +}; + +static const struct CompressedSpriteSheet sMatchcallArrowSpriteSheet[] = +{ + { + .data = sMatchcallArrowSpriteSheetData, + .size = 192, + .tag = 0xA + } +}; + +static const struct SpritePalette sMatchcallArrowPalette[] = +{ + { + .data = sMatchcallArrowPaletteData, + .tag = 0x14 + }, + {} +}; + +static const struct OamData sMatchCallRightArrowSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = 2, //SPRITE_SHAPE(16x8), + .x = 0, + .size = 0, //SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sMatchCallRightArrowSprite = +{ + .tileTag = 0xA, + .paletteTag = 0x14, + .oam = &sMatchCallRightArrowSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_MatchCallRightArrow +}; + +static const struct OamData sMatchCallUpDownArrowSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = 1, //SPRITE_SHAPE(8x16), + .x = 0, + .size = 0, //SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sMatchCallUpDownArrowSprite = +{ + .tileTag = 0xA, + .paletteTag = 0x14, + .oam = &sMatchCallUpDownArrowSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + EWRAM_DATA u8 gUnknown_0203CF3C = 0; EWRAM_DATA struct UnknownStruct_0203CF40 *gUnknown_0203CF40 = NULL; EWRAM_DATA u32 gUnknown_0203CF44 = 0; -extern const u8 gUnknown_0861FBE4[3]; - // code u32 sub_81C7078(u32 (*func)(s32), u32 priority) { @@ -1670,7 +1782,7 @@ void sub_81C817C(struct Sprite *sprite) } } -bool32 sub_81C81D4(const void *arg0, void *arg1, s32 arg2) +bool32 sub_81C81D4(const struct BgTemplate *arg0, struct UnknownStruct_81C9160 *arg1, s32 arg2) { u32 v1; struct UnknownSubStruct_81C81D4 *structPtr; @@ -1682,7 +1794,7 @@ bool32 sub_81C81D4(const void *arg0, void *arg1, s32 arg2) sub_81C9160(&structPtr->unk888, arg1); - v1 = sub_81C91AC(structPtr, arg0, arg1, arg2); + v1 = sub_81C91AC(&structPtr->unk0, arg0, arg1, arg2); if (v1 == 0) return FALSE; @@ -1700,7 +1812,7 @@ void sub_81C8234(void) struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); - sub_81C8FE0(); + sub_81C8FE0(&structPtr->unk0); RemoveWindow(structPtr->unk0.unk0.windowId); FreeSubstruct(0x11); } @@ -1807,13 +1919,13 @@ u32 sub_81C83F0(s32 a0) { case 0: v1 = (structPtr->unk0.unkA + structPtr->unk0.unkC + structPtr->unk10) & 0xF; - structPtr->unk34(structPtr->unk1C, structPtr->unk48); + structPtr->unk34(structPtr->unk1C, structPtr->unkTextBuffer); if (structPtr->unk38 != NULL) // Accessing unk0.windowId as if it were a u16...? // It's accessed as a u8 again in the very next line... structPtr->unk38(*(u16*)(&structPtr->unk0.windowId), structPtr->unk14, v1); - AddTextPrinterParameterized(structPtr->unk0.windowId, structPtr->unk0.unk5, structPtr->unk48, 8, (v1 << 4) | 1, 255, (void (*)(struct TextPrinterTemplate*, u16))a0); + AddTextPrinterParameterized(structPtr->unk0.windowId, structPtr->unk0.fontId, structPtr->unkTextBuffer, 8, (v1 << 4) + 1, 255, NULL); if (++structPtr->unk0.unkC >= structPtr->unk0.unkE) { @@ -2245,7 +2357,7 @@ u32 sub_81C8870(s32 a0) switch (a0) { case 0: - sub_81C9008(&structPtr->unk0, 1); + ToggleMatchCallArrows(&structPtr->unk0, 1); // fall-through case 1: if (structPtr->unk89C != structPtr->unk888.unk6) @@ -2299,19 +2411,19 @@ u32 sub_81C8958(s32 a0) sub_81C8CB4(&structPtr->unk888, &structPtr->unk0); break; case 1: - sub_81C8DBC(&structPtr->unk0, 0); + PrintMatchCallFieldNames(&structPtr->unk0, 0); break; case 2: sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0); break; case 3: - sub_81C8DBC(&structPtr->unk0, 1); + PrintMatchCallFieldNames(&structPtr->unk0, 1); break; case 4: sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1); break; case 5: - sub_81C8DBC(&structPtr->unk0, 2); + PrintMatchCallFieldNames(&structPtr->unk0, 2); break; case 6: sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2); @@ -2409,7 +2521,7 @@ u32 sub_81C8A28(s32 a0) return 1; return 9; case 6: - sub_81C9008(subPtr0, 0); + ToggleMatchCallArrows(subPtr0, 0); return 4; } } @@ -2483,24 +2595,249 @@ void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) void sub_81C8CB4(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) { - u8 buffer[ARRAY_COUNT(gUnknown_0861FBE4)]; + u8 colors[3]; - memcpy(buffer, gUnknown_0861FBE4, ARRAY_COUNT(gUnknown_0861FBE4)); + memcpy(colors, sPokenavColors_0861FBE4, ARRAY_COUNT(sPokenavColors_0861FBE4)); - a1->unk34(a0->unk10 + a0->unkC * a0->unk0, a1->unk48); + a1->unk34(a0->unk10 + a0->unkC * a0->unk0, a1->unkTextBuffer); a1->unk38(a1->unk0.windowId, a0->unk0, a1->unk0.unkA); FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(4), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); - AddTextPrinterParameterized3(a1->unk0.windowId, a1->unk0.unk5, 8, (a1->unk0.unkA * 16) + 1, buffer, TEXT_SPEED_FF, a1->unk48); + AddTextPrinterParameterized3(a1->unk0.windowId, a1->unk0.fontId, 8, (a1->unk0.unkA * 16) + 1, colors, TEXT_SPEED_FF, a1->unkTextBuffer); sub_81C8C64(&a1->unk0, 1); CopyWindowRectToVram(a1->unk0.windowId, 3, 0, a1->unk0.unkA * 2, a1->unk0.unk4, 2); } void sub_81C8D4C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) { - a1->unk34(a0->unk10 + a0->unkC * a0->unk0, a1->unk48); + a1->unk34(a0->unk10 + a0->unkC * a0->unk0, a1->unkTextBuffer); FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(1), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); - AddTextPrinterParameterized(a1->unk0.windowId, a1->unk0.unk5, a1->unk48, 8, a1->unk0.unkA * 16 + 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(a1->unk0.windowId, a1->unk0.fontId, a1->unkTextBuffer, 8, a1->unk0.unkA * 16 + 1, TEXT_SPEED_FF, NULL); sub_81C8C64(&a1->unk0, 0); CopyWindowToVram(a1->unk0.windowId, 3); +} + +void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 fieldId) +{ + const u8 *fieldNames[3]; + u8 colors[3]; + u32 r4; + u32 r5; + u32 tmp; + u32 one; + + memcpy(fieldNames, sMatchCallFieldNames, sizeof(sMatchCallFieldNames)); + memcpy(colors, sMatchCallFieldColors, sizeof(sMatchCallFieldColors)); + + r4 = a0->unk0.unkA; + tmp = fieldId * 2 + 1; + r4 += tmp; + r4 &= 0xF; + FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, r4 << 4, a0->unk0.unk4, 16); + + // This is a fake match. It should be this: + // AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, r4 << 4 + 1, colors, TEXT_SPEED_FF, fieldNames[fieldId]); + // But the original GCC does some clever reuse of the `1` constant that the current GCC doesn't. + one = 1; + AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, (r4 << 4) + one, colors, one - 2, fieldNames[fieldId]); + CopyWindowRectToVram(a0->unk0.windowId, 2, 0, r4 << 1, a0->unk0.unk4, 2); +} + +void sub_81C8E54(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2) +{ + const u8 *str; + u32 r6; + + r6 = (a1->unk0.unkA + sUnknown_0861FBF7[a2]) & 0xF; + + str = sub_81CAFD8(a0->unk0, a2); + if (str != NULL) { + sub_81DB620(a1->unk0.windowId, 1, r6 * 2, a1->unk0.unk4 - 1, 2); + AddTextPrinterParameterized(a1->unk0.windowId, 7, str, 2, (r6 << 4) + 1, TEXT_SPEED_FF, NULL); + CopyWindowRectToVram(a1->unk0.windowId, 2, 0, r6 * 2, a1->unk0.unk4, 2); + } +} + +void sub_81C8ED0(void) +{ + u32 i; + const struct CompressedSpriteSheet *ptr; + + for (i = 0, ptr = sMatchcallArrowSpriteSheet; i < ARRAY_COUNT(sMatchcallArrowSpriteSheet); ptr++, i++) + { + LoadCompressedSpriteSheet(ptr); + } + sub_81C795C(sMatchcallArrowPalette); +} + +void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + register u32 spriteId asm("r3"); + s16 temp; + + spriteId = (u8)CreateSprite(&sMatchCallRightArrowSprite, a1->unk0.unk2 * 8 + 3, (a1->unk0.unk3 + 1) * 8, 7); + a1->rightArrow = &gSprites[spriteId]; + + temp = a1->unk0.unk2 * 8 + (a1->unk0.unk4 - 1) * 4; + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8 + a0->unk8 * 16, 7); + a1->downArrow = &gSprites[spriteId]; + a1->downArrow->oam.tileNum += 2; + a1->downArrow->callback = SpriteCB_MatchCallDownArrow; + + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8, 7); + a1->upArrow = &gSprites[spriteId]; + a1->upArrow->oam.tileNum += 4; + a1->upArrow->callback = SpriteCB_MatchCallUpArrow; +} + +void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0) +{ + DestroySprite(a0->rightArrow); + DestroySprite(a0->upArrow); + DestroySprite(a0->downArrow); + FreeSpriteTilesByTag(0xA); + FreeSpritePaletteByTag(0x14); +} + +void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, bool32 shouldHide) +{ + if (shouldHide) + { + a0->rightArrow->callback = SpriteCallbackDummy; + a0->upArrow->callback = SpriteCallbackDummy; + a0->downArrow->callback = SpriteCallbackDummy; + } + else + { + a0->rightArrow->callback = SpriteCB_MatchCallRightArrow; + a0->upArrow->callback = SpriteCB_MatchCallUpArrow; + a0->downArrow->callback = SpriteCB_MatchCallDownArrow; + } + a0->rightArrow->invisible = shouldHide; + a0->upArrow->invisible = shouldHide; + a0->downArrow->invisible = shouldHide; +} + +void SpriteCB_MatchCallRightArrow(struct Sprite *sprite) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + sprite->pos2.y = structPtr->unk888.unk6 << 4; +} + +void SpriteCB_MatchCallDownArrow(struct Sprite *sprite) +{ + if (sprite->data[7] == 0 && sub_81C84C0()) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (++sprite->data[0] > 3) + { + s16 offset; + + sprite->data[0] = 0; + offset = (sprite->data[1] + 1) & 7; + sprite->data[1] = offset; + sprite->pos2.y = offset; + } +} + +void SpriteCB_MatchCallUpArrow(struct Sprite *sprite) +{ + if (sprite->data[7] == 0 && sub_81C84A4()) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (++sprite->data[0] > 3) + { + s16 offset; + + sprite->data[0] = 0; + offset = (sprite->data[1] + 1) & 7; + sprite->data[1] = offset; + sprite->pos2.y = -1 * offset; + } +} + +void ToggleMatchCallVerticalArrows(bool32 shouldHide) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk0.upArrow->data[7] = shouldHide; + structPtr->unk0.downArrow->data[7] = shouldHide; +} + +void sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownStruct_81C9160 *a1) +{ + u32 unused1 = a0->unk10 = a1->unk0; + u32 v0 = a1->unk6; + u32 zero = 0; + u32 unused2 = a0->unk0 = v0; + u32 v1 = a0->unk2 = a1->unk4; + + a0->unkC = a1->unk8; + a0->unk8 = a1->unkC; + if (a0->unk8 >= (u16)v1) + { + a0->unk0 = 0; + a0->unk4 = 0; + a0->unk6 = v0; + } + else + { + s32 v2; + a0->unk4 = a0->unk2 - a0->unk8; + v2 = a0->unk0 + a0->unk8; + if (v2 > a0->unk2) { + a0->unk6 = v2 - a0->unk2; + a0->unk0 = v0 - a0->unk6; + } + else + { + a0->unk6 = 0; + } + } +} + +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct UnknownStruct_81C9160 *a2, s32 a3) +{ + register u32 raw_bg asm("r4") = ((a1->bg) << 30); + u8 bg = raw_bg >> 30; + u32 unknown = 0; + struct WindowTemplate template; + u8 bg_again; + + a0->unk0.bg = bg; + a0->unk0.unk6 = a3; + a0->unk34 = a2->unk10; + a0->unk38 = a2->unk14; + a0->unk0.unk1 = a2->unkD; + a0->unk0.unk2 = a2->unk9; + a0->unk0.unk3 = a2->unkB; + a0->unk0.unk4 = a2->unkA; + a0->unk0.fontId = a2->unkE; + + template.bg = raw_bg >> 30; + template.tilemapLeft = a2->unk9; + template.tilemapTop = 0; + template.width = a2->unkA; + template.height = 32; + template.paletteNum = a2->unkD; + template.baseBlock = a3 + 2; + + a0->unk0.windowId = AddWindow(&template); + if (a0->unk0.windowId == 0xFF) + { + return 0; + } + else + { + a0->unk0.unkA = unknown; + a0->rightArrow = NULL; + a0->upArrow = NULL; + a0->downArrow = NULL; + return 1; + } } \ No newline at end of file diff --git a/src/strings.c b/src/strings.c index f81a19083c..c4266a1352 100644 --- a/src/strings.c +++ b/src/strings.c @@ -962,9 +962,9 @@ const u8 gUnknown_085EBE7D[] = _("DETAIL"); const u8 gUnknown_085EBE84[] = _("CALL"); const u8 gUnknown_085EBE89[] = _("EXIT"); const u8 gUnknown_085EBE8E[] = _("Can't call opponent here."); -const u8 gUnknown_085EBEA8[] = _("STRATEGY"); -const u8 gUnknown_085EBEB1[] = _("TRAINER'S POKéMON"); -const u8 gUnknown_085EBEC3[] = _("SELF-INTRODUCTION"); +const u8 gText_NavgearMatchCall_Strategy[] = _("STRATEGY"); +const u8 gText_NavgearMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON"); +const u8 gText_NavgearMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION"); const u8 gText_Navgear_ClearButtonList[] = _("{CLEAR 0x80}"); const u8 gText_NavgearMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); const u8 gText_NavgearMap_ZoomedInButtons[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); From 311c1b9cba09507ce7d4d99cd58735c8d0363164 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 6 Apr 2019 14:34:13 +0200 Subject: [PATCH 66/84] Change anim tag names --- include/constants/battle_anim.h | 240 ++++++++++----------- src/battle_anim.c | 372 ++++++++++++++++---------------- 2 files changed, 306 insertions(+), 306 deletions(-) diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 34a45395ce..f660133890 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -11,137 +11,137 @@ #define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1) #define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2) #define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3) -#define ANIM_TAG_UNUSED_ORB (ANIM_SPRITES_START + 4) +#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4) // unused #define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5) #define ANIM_TAG_SEED (ANIM_SPRITES_START + 6) -#define ANIM_TAG_UNUSED_EXPLOSION (ANIM_SPRITES_START + 7) -#define ANIM_TAG_UNUSED_PINK_ORB (ANIM_SPRITES_START + 8) +#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7) // unused +#define ANIM_TAG_PINK_ORB (ANIM_SPRITES_START + 8) // unused #define ANIM_TAG_GUST (ANIM_SPRITES_START + 9) #define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10) #define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11) -#define ANIM_TAG_UNUSED_ORANGE (ANIM_SPRITES_START + 12) +#define ANIM_TAG_ORANGE (ANIM_SPRITES_START + 12) // unused #define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13) #define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14) #define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15) #define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16) #define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17) #define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18) -#define ANIM_TAG_UNUSED_GLASS (ANIM_SPRITES_START + 19) +#define ANIM_TAG_GLASS (ANIM_SPRITES_START + 19) // unused #define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20) -#define ANIM_TAG_UNUSED_HIT (ANIM_SPRITES_START + 21) -#define ANIM_TAG_UNUSED_HIT_2 (ANIM_SPRITES_START + 22) -#define ANIM_TAG_UNUSED_BLUE_SHARDS (ANIM_SPRITES_START + 23) -#define ANIM_TAG_UNUSED_CLOSING_EYE (ANIM_SPRITES_START + 24) -#define ANIM_TAG_UNUSED_WAVING_HAND (ANIM_SPRITES_START + 25) -#define ANIM_TAG_UNUSED_HIT_DUPLICATE (ANIM_SPRITES_START + 26) +#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21) // unused +#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22) // unused +#define ANIM_TAG_BLUE_SHARDS (ANIM_SPRITES_START + 23) // unused +#define ANIM_TAG_CLOSING_EYE (ANIM_SPRITES_START + 24) // unused +#define ANIM_TAG_WAVING_HAND (ANIM_SPRITES_START + 25) // unused +#define ANIM_TAG_HIT_DUPLICATE (ANIM_SPRITES_START + 26) // unused #define ANIM_TAG_LEER (ANIM_SPRITES_START + 27) -#define ANIM_TAG_UNUSED_BLUE_BURST (ANIM_SPRITES_START + 28) +#define ANIM_TAG_BLUE_BURST (ANIM_SPRITES_START + 28) // unused #define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29) #define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30) #define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31) -#define ANIM_TAG_UNUSED_BUBBLE_BURST (ANIM_SPRITES_START + 32) +#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32) // unused #define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33) -#define ANIM_TAG_UNUSED_SPINNING_FIRE (ANIM_SPRITES_START + 34) +#define ANIM_TAG_SPINNING_FIRE (ANIM_SPRITES_START + 34) // unused #define ANIM_TAG_FIRE_PLUME (ANIM_SPRITES_START + 35) -#define ANIM_TAG_UNUSED_LIGHTNING (ANIM_SPRITES_START + 36) +#define ANIM_TAG_LIGHTNING_2 (ANIM_SPRITES_START + 36) // unused #define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37) -#define ANIM_TAG_UNUSED_CLAW_SLASH (ANIM_SPRITES_START + 38) +#define ANIM_TAG_CLAW_SLASH_2 (ANIM_SPRITES_START + 38) // unused #define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39) -#define ANIM_TAG_UNUSED_SCRATCH (ANIM_SPRITES_START + 40) -#define ANIM_TAG_UNUSED_SCRATCH_2 (ANIM_SPRITES_START + 41) -#define ANIM_TAG_UNUSED_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) +#define ANIM_TAG_SCRATCH_3 (ANIM_SPRITES_START + 40) // unused +#define ANIM_TAG_SCRATCH_2 (ANIM_SPRITES_START + 41) // unused +#define ANIM_TAG_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) // unused #define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43) -#define ANIM_TAG_UNUSED_GLASS_2 (ANIM_SPRITES_START + 44) -#define ANIM_TAG_UNUSED_PINK_HEART (ANIM_SPRITES_START + 45) -#define ANIM_TAG_UNUSED_SAP_DRIP (ANIM_SPRITES_START + 46) -#define ANIM_TAG_UNUSED_SAP_DRIP_2 (ANIM_SPRITES_START + 47) +#define ANIM_TAG_GLASS_2 (ANIM_SPRITES_START + 44) // unused +#define ANIM_TAG_PINK_HEART_2 (ANIM_SPRITES_START + 45) // unused +#define ANIM_TAG_SAP_DRIP (ANIM_SPRITES_START + 46) // unused +#define ANIM_TAG_SAP_DRIP_2 (ANIM_SPRITES_START + 47) // unused #define ANIM_TAG_SPARKLE_1 (ANIM_SPRITES_START + 48) #define ANIM_TAG_SPARKLE_2 (ANIM_SPRITES_START + 49) #define ANIM_TAG_HUMANOID_FOOT (ANIM_SPRITES_START + 50) -#define ANIM_TAG_UNUSED_MONSTER_FOOT (ANIM_SPRITES_START + 51) -#define ANIM_TAG_UNUSED_HUMANOID_HAND (ANIM_SPRITES_START + 52) +#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51) // unused +#define ANIM_TAG_HUMANOID_HAND (ANIM_SPRITES_START + 52) // unused #define ANIM_TAG_NOISE_LINE (ANIM_SPRITES_START + 53) -#define ANIM_TAG_UNUSED_YELLOW_UNK (ANIM_SPRITES_START + 54) -#define ANIM_TAG_UNUSED_RED_FIST (ANIM_SPRITES_START + 55) +#define ANIM_TAG_YELLOW_UNK (ANIM_SPRITES_START + 54) // unused +#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) // unused #define ANIM_TAG_SLAM_HIT (ANIM_SPRITES_START + 56) -#define ANIM_TAG_UNUSED_RING (ANIM_SPRITES_START + 57) +#define ANIM_TAG_RING (ANIM_SPRITES_START + 57) // unused #define ANIM_TAG_ROCKS (ANIM_SPRITES_START + 58) -#define ANIM_TAG_UNUSED_Z (ANIM_SPRITES_START + 59) -#define ANIM_TAG_UNUSED_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) -#define ANIM_TAG_UNUSED_AIR_SLASH (ANIM_SPRITES_START + 61) -#define ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) +#define ANIM_TAG_Z (ANIM_SPRITES_START + 59) // unused +#define ANIM_TAG_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) // unused +#define ANIM_TAG_AIR_SLASH (ANIM_SPRITES_START + 61) // unused +#define ANIM_TAG_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) // unused #define ANIM_TAG_LEAF (ANIM_SPRITES_START + 63) #define ANIM_TAG_FINGER (ANIM_SPRITES_START + 64) #define ANIM_TAG_POISON_POWDER (ANIM_SPRITES_START + 65) -#define ANIM_TAG_UNUSED_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) +#define ANIM_TAG_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) // unused #define ANIM_TAG_SLEEP_POWDER (ANIM_SPRITES_START + 67) #define ANIM_TAG_STUN_SPORE (ANIM_SPRITES_START + 68) -#define ANIM_TAG_UNUSED_POWDER (ANIM_SPRITES_START + 69) +#define ANIM_TAG_POWDER (ANIM_SPRITES_START + 69) // unused #define ANIM_TAG_SPARKLE_3 (ANIM_SPRITES_START + 70) #define ANIM_TAG_SPARKLE_4 (ANIM_SPRITES_START + 71) #define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 72) #define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73) #define ANIM_TAG_MUD_SAND (ANIM_SPRITES_START + 74) #define ANIM_TAG_ALERT (ANIM_SPRITES_START + 75) -#define ANIM_TAG_UNUSED_BLUE_FLAMES (ANIM_SPRITES_START + 76) -#define ANIM_TAG_UNUSED_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) -#define ANIM_TAG_UNUSED_SHOCK (ANIM_SPRITES_START + 78) +#define ANIM_TAG_BLUE_FLAMES (ANIM_SPRITES_START + 76) // unused +#define ANIM_TAG_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) // unused +#define ANIM_TAG_SHOCK_4 (ANIM_SPRITES_START + 78) // unused #define ANIM_TAG_SHOCK (ANIM_SPRITES_START + 79) -#define ANIM_TAG_UNUSED_BELL (ANIM_SPRITES_START + 80) -#define ANIM_TAG_UNUSED_PINK_GLOVE (ANIM_SPRITES_START + 81) -#define ANIM_TAG_UNUSED_BLUE_LINES (ANIM_SPRITES_START + 82) -#define ANIM_TAG_UNUSED_IMPACT (ANIM_SPRITES_START + 83) -#define ANIM_TAG_UNUSED_IMPACT_2 (ANIM_SPRITES_START + 84) -#define ANIM_TAG_UNUSED_RETICLE (ANIM_SPRITES_START + 85) +#define ANIM_TAG_BELL_2 (ANIM_SPRITES_START + 80) // unused +#define ANIM_TAG_PINK_GLOVE (ANIM_SPRITES_START + 81) // unused +#define ANIM_TAG_BLUE_LINES (ANIM_SPRITES_START + 82) // unused +#define ANIM_TAG_IMPACT_3 (ANIM_SPRITES_START + 83) // unused +#define ANIM_TAG_IMPACT_2 (ANIM_SPRITES_START + 84) // unused +#define ANIM_TAG_RETICLE (ANIM_SPRITES_START + 85) // unused #define ANIM_TAG_BREATH (ANIM_SPRITES_START + 86) #define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87) -#define ANIM_TAG_UNUSED_SNOWBALL (ANIM_SPRITES_START + 88) -#define ANIM_TAG_UNUSED_VINE (ANIM_SPRITES_START + 89) -#define ANIM_TAG_UNUSED_SWORD (ANIM_SPRITES_START + 90) -#define ANIM_TAG_UNUSED_CLAPPING (ANIM_SPRITES_START + 91) -#define ANIM_TAG_UNUSED_RED_TUBE (ANIM_SPRITES_START + 92) +#define ANIM_TAG_SNOWBALL (ANIM_SPRITES_START + 88) // unused +#define ANIM_TAG_VINE (ANIM_SPRITES_START + 89) // unused +#define ANIM_TAG_SWORD_2 (ANIM_SPRITES_START + 90) // unused +#define ANIM_TAG_CLAPPING (ANIM_SPRITES_START + 91) // unused +#define ANIM_TAG_RED_TUBE (ANIM_SPRITES_START + 92) // unused #define ANIM_TAG_AMNESIA (ANIM_SPRITES_START + 93) -#define ANIM_TAG_UNUSED_STRING (ANIM_SPRITES_START + 94) -#define ANIM_TAG_UNUSED_PENCIL (ANIM_SPRITES_START + 95) -#define ANIM_TAG_UNUSED_PETAL (ANIM_SPRITES_START + 96) +#define ANIM_TAG_STRING_2 (ANIM_SPRITES_START + 94) // unused +#define ANIM_TAG_PENCIL_2 (ANIM_SPRITES_START + 95) // unused +#define ANIM_TAG_PETAL (ANIM_SPRITES_START + 96) // unused #define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97) -#define ANIM_TAG_UNUSED_WEB (ANIM_SPRITES_START + 98) +#define ANIM_TAG_WEB (ANIM_SPRITES_START + 98) // unused #define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99) #define ANIM_TAG_COIN (ANIM_SPRITES_START + 100) -#define ANIM_TAG_UNUSED_CRACKED_EGG (ANIM_SPRITES_START + 101) -#define ANIM_TAG_UNUSED_HATCHED_EGG (ANIM_SPRITES_START + 102) -#define ANIM_TAG_UNUSED_FRESH_EGG (ANIM_SPRITES_START + 103) -#define ANIM_TAG_UNUSED_FANGS (ANIM_SPRITES_START + 104) -#define ANIM_TAG_UNUSED_EXPLOSION_2 (ANIM_SPRITES_START + 105) -#define ANIM_TAG_UNUSED_EXPLOSION_3 (ANIM_SPRITES_START + 106) -#define ANIM_TAG_UNUSED_WATER_DROPLET (ANIM_SPRITES_START + 107) -#define ANIM_TAG_UNUSED_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) -#define ANIM_TAG_UNUSED_SEED (ANIM_SPRITES_START + 109) -#define ANIM_TAG_UNUSED_SPROUT (ANIM_SPRITES_START + 110) -#define ANIM_TAG_UNUSED_RED_WAND (ANIM_SPRITES_START + 111) -#define ANIM_TAG_UNUSED_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) -#define ANIM_TAG_UNUSED_WATER_COLUMN (ANIM_SPRITES_START + 113) -#define ANIM_TAG_UNUSED_MUD_UNK (ANIM_SPRITES_START + 114) +#define ANIM_TAG_CRACKED_EGG (ANIM_SPRITES_START + 101) // unused +#define ANIM_TAG_HATCHED_EGG (ANIM_SPRITES_START + 102) // unused +#define ANIM_TAG_FRESH_EGG (ANIM_SPRITES_START + 103) // unused +#define ANIM_TAG_FANGS (ANIM_SPRITES_START + 104) // unused +#define ANIM_TAG_EXPLOSION_2 (ANIM_SPRITES_START + 105) // unused +#define ANIM_TAG_EXPLOSION_3 (ANIM_SPRITES_START + 106) // unused +#define ANIM_TAG_WATER_DROPLET (ANIM_SPRITES_START + 107) // unused +#define ANIM_TAG_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) // unused +#define ANIM_TAG_SEED_2 (ANIM_SPRITES_START + 109) // unused +#define ANIM_TAG_SPROUT (ANIM_SPRITES_START + 110) // unused +#define ANIM_TAG_RED_WAND (ANIM_SPRITES_START + 111) // unused +#define ANIM_TAG_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) // unused +#define ANIM_TAG_WATER_COLUMN (ANIM_SPRITES_START + 113) // unused +#define ANIM_TAG_MUD_UNK (ANIM_SPRITES_START + 114) // unused #define ANIM_TAG_RAIN_DROPS (ANIM_SPRITES_START + 115) -#define ANIM_TAG_UNUSED_FURY_SWIPES (ANIM_SPRITES_START + 116) -#define ANIM_TAG_UNUSED_VINE_2 (ANIM_SPRITES_START + 117) -#define ANIM_TAG_UNUSED_TEETH (ANIM_SPRITES_START + 118) -#define ANIM_TAG_UNUSED_BONE (ANIM_SPRITES_START + 119) -#define ANIM_TAG_UNUSED_WHITE_BAG (ANIM_SPRITES_START + 120) -#define ANIM_TAG_UNUSED_UNKNOWN (ANIM_SPRITES_START + 121) -#define ANIM_TAG_UNUSED_PURPLE_CORAL (ANIM_SPRITES_START + 122) -#define ANIM_TAG_UNUSED_PURPLE_DROPLET (ANIM_SPRITES_START + 123) -#define ANIM_TAG_UNUSED_SHOCK_2 (ANIM_SPRITES_START + 124) -#define ANIM_TAG_UNUSED_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) -#define ANIM_TAG_UNUSED_METAL_BALL (ANIM_SPRITES_START + 126) -#define ANIM_TAG_UNUSED_MONSTER_DOLL (ANIM_SPRITES_START + 127) -#define ANIM_TAG_UNUSED_WHIRLWIND (ANIM_SPRITES_START + 128) -#define ANIM_TAG_UNUSED_WHIRLWIND_2 (ANIM_SPRITES_START + 129) -#define ANIM_TAG_UNUSED_EXPLOSION_4 (ANIM_SPRITES_START + 130) -#define ANIM_TAG_UNUSED_EXPLOSION_5 (ANIM_SPRITES_START + 131) -#define ANIM_TAG_UNUSED_TONGUE (ANIM_SPRITES_START + 132) -#define ANIM_TAG_UNUSED_SMOKE (ANIM_SPRITES_START + 133) -#define ANIM_TAG_UNUSED_SMOKE_2 (ANIM_SPRITES_START + 134) +#define ANIM_TAG_FURY_SWIPES (ANIM_SPRITES_START + 116) // unused +#define ANIM_TAG_VINE_2 (ANIM_SPRITES_START + 117) // unused +#define ANIM_TAG_TEETH (ANIM_SPRITES_START + 118) // unused +#define ANIM_TAG_BONE_2 (ANIM_SPRITES_START + 119) // unused +#define ANIM_TAG_WHITE_BAG (ANIM_SPRITES_START + 120) // unused +#define ANIM_TAG_UNKNOWN (ANIM_SPRITES_START + 121) // unused +#define ANIM_TAG_PURPLE_CORAL (ANIM_SPRITES_START + 122) // unused +#define ANIM_TAG_PURPLE_DROPLET (ANIM_SPRITES_START + 123) // unused +#define ANIM_TAG_SHOCK_2 (ANIM_SPRITES_START + 124) // unused +#define ANIM_TAG_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) // unused +#define ANIM_TAG_METAL_BALL (ANIM_SPRITES_START + 126) // unused +#define ANIM_TAG_MONSTER_DOLL (ANIM_SPRITES_START + 127) // unused +#define ANIM_TAG_WHIRLWIND (ANIM_SPRITES_START + 128) // unused +#define ANIM_TAG_WHIRLWIND_2 (ANIM_SPRITES_START + 129) // unused +#define ANIM_TAG_EXPLOSION_4 (ANIM_SPRITES_START + 130) // unused +#define ANIM_TAG_EXPLOSION_5 (ANIM_SPRITES_START + 131) // unused +#define ANIM_TAG_TONGUE (ANIM_SPRITES_START + 132) // unused +#define ANIM_TAG_SMOKE (ANIM_SPRITES_START + 133) // unused +#define ANIM_TAG_SMOKE_2 (ANIM_SPRITES_START + 134) // unused #define ANIM_TAG_IMPACT (ANIM_SPRITES_START + 135) #define ANIM_TAG_CIRCLE_IMPACT (ANIM_SPRITES_START + 136) #define ANIM_TAG_SCRATCH (ANIM_SPRITES_START + 137) @@ -185,11 +185,11 @@ #define ANIM_TAG_LARGE_FRESH_EGG (ANIM_SPRITES_START + 175) #define ANIM_TAG_SHADOW_BALL (ANIM_SPRITES_START + 176) #define ANIM_TAG_LICK (ANIM_SPRITES_START + 177) -#define ANIM_TAG_UNUSED_VOID_LINES (ANIM_SPRITES_START + 178) +#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178) // unused #define ANIM_TAG_STRING (ANIM_SPRITES_START + 179) #define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180) #define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181) -#define ANIM_TAG_UNUSED_LIGHTBULB (ANIM_SPRITES_START + 182) +#define ANIM_TAG_LIGHTBULB (ANIM_SPRITES_START + 182) // unused #define ANIM_TAG_SLASH (ANIM_SPRITES_START + 183) #define ANIM_TAG_FOCUS_ENERGY (ANIM_SPRITES_START + 184) #define ANIM_TAG_SPHERE_TO_CUBE (ANIM_SPRITES_START + 185) @@ -211,7 +211,7 @@ #define ANIM_TAG_WARM_ROCK (ANIM_SPRITES_START + 201) #define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202) #define ANIM_TAG_THIN_RING (ANIM_SPRITES_START + 203) -#define ANIM_TAG_UNUSED_PUNCH_IMPACT (ANIM_SPRITES_START + 204) +#define ANIM_TAG_PUNCH_IMPACT (ANIM_SPRITES_START + 204) // unused #define ANIM_TAG_BELL (ANIM_SPRITES_START + 205) #define ANIM_TAG_MUSIC_NOTES_2 (ANIM_SPRITES_START + 206) #define ANIM_TAG_SPEED_DUST (ANIM_SPRITES_START + 207) @@ -276,17 +276,17 @@ #define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266) #define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267) #define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268) -#define ANIM_TAG_UNUSED_RED_BRICK (ANIM_SPRITES_START + 269) +#define ANIM_TAG_RED_BRICK (ANIM_SPRITES_START + 269) // unused #define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270) #define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271) #define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272) #define ANIM_TAG_SWEAT_BEAD (ANIM_SPRITES_START + 273) -#define ANIM_TAG_UNUSED_GEM_1 (ANIM_SPRITES_START + 274) -#define ANIM_TAG_UNUSED_GEM_2 (ANIM_SPRITES_START + 275) -#define ANIM_TAG_UNUSED_GEM_3 (ANIM_SPRITES_START + 276) +#define ANIM_TAG_GEM_1 (ANIM_SPRITES_START + 274) // unused +#define ANIM_TAG_GEM_2 (ANIM_SPRITES_START + 275) // unused +#define ANIM_TAG_GEM_3 (ANIM_SPRITES_START + 276) // unused #define ANIM_TAG_SLAM_HIT_2 (ANIM_SPRITES_START + 277) #define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278) -#define ANIM_TAG_UNUSED_RED_PARTICLES (ANIM_SPRITES_START + 279) +#define ANIM_TAG_RED_PARTICLES (ANIM_SPRITES_START + 279) // unused #define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280) #define ANIM_TAG_DIRT_MOUND (ANIM_SPRITES_START + 281) #define ANIM_TAG_SHOCK_3 (ANIM_SPRITES_START + 282) @@ -313,7 +313,7 @@ // . . // . . // 127 -// +// #define SOUND_PAN_ATTACKER -64 #define SOUND_PAN_TARGET 63 @@ -411,32 +411,32 @@ #define ANIM_WEATHER_HAIL 4 // Battle mon back animations. -#define BACK_ANIM_NONE 0x00 -#define BACK_ANIM_H_SLIDE_QUICK 0x01 -#define BACK_ANIM_H_SLIDE 0x02 -#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03 -#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04 -#define BACK_ANIM_SHRINK_GROW_1 0x05 -#define BACK_ANIM_GROW_1 0x06 -#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07 -#define BACK_ANIM_HORIZONTAL_SHAKE 0x08 -#define BACK_ANIM_VERTICAL_SHAKE 0x09 -#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a -#define BACK_ANIM_VERTICAL_STRETCH 0x0b -#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c -#define BACK_ANIM_GROW_2 0x0d -#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e -#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f -#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10 -#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11 -#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12 -#define BACK_ANIM_DIP_RIGHT_SIDE 0x13 -#define BACK_ANIM_SHRINK_GROW_2 0x14 -#define BACK_ANIM_JOLT_RIGHT 0x15 -#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16 -#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17 -#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18 -#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19 +#define BACK_ANIM_NONE 0x00 +#define BACK_ANIM_H_SLIDE_QUICK 0x01 +#define BACK_ANIM_H_SLIDE 0x02 +#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03 +#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04 +#define BACK_ANIM_SHRINK_GROW_1 0x05 +#define BACK_ANIM_GROW_1 0x06 +#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07 +#define BACK_ANIM_HORIZONTAL_SHAKE 0x08 +#define BACK_ANIM_VERTICAL_SHAKE 0x09 +#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a +#define BACK_ANIM_VERTICAL_STRETCH 0x0b +#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c +#define BACK_ANIM_GROW_2 0x0d +#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e +#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f +#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10 +#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11 +#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12 +#define BACK_ANIM_DIP_RIGHT_SIDE 0x13 +#define BACK_ANIM_SHRINK_GROW_2 0x14 +#define BACK_ANIM_JOLT_RIGHT 0x15 +#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16 +#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17 +#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18 +#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19 #endif // GUARD_CONSTANTS_BATTLE_ANIM_H diff --git a/src/battle_anim.c b/src/battle_anim.c index 88de3ee881..b7fee6f2d6 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1130,137 +1130,137 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteSheet_001, 0x0300, ANIM_TAG_SPARK}, {gBattleAnimSpriteSheet_002, 0x0200, ANIM_TAG_PENCIL}, {gBattleAnimSpriteSheet_003, 0x0100, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpriteSheet_004, 0x0200, ANIM_TAG_UNUSED_ORB}, + {gBattleAnimSpriteSheet_004, 0x0200, ANIM_TAG_ORB}, {gBattleAnimSpriteSheet_005, 0x0400, ANIM_TAG_SWORD}, {gBattleAnimSpriteSheet_006, 0x0180, ANIM_TAG_SEED}, - {gBattleAnimSpriteSheet_007, 0x0800, ANIM_TAG_UNUSED_EXPLOSION}, - {gBattleAnimSpriteSheet_008, 0x0020, ANIM_TAG_UNUSED_PINK_ORB}, + {gBattleAnimSpriteSheet_007, 0x0800, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpriteSheet_008, 0x0020, ANIM_TAG_PINK_ORB}, {gBattleAnimSpriteSheet_009, 0x0400, ANIM_TAG_GUST}, {gBattleAnimSpriteSheet_010, 0x1200, ANIM_TAG_ICE_CUBE}, {gBattleAnimSpriteSheet_011, 0x0180, ANIM_TAG_SPARK_2}, - {gBattleAnimSpriteSheet_012, 0x0080, ANIM_TAG_UNUSED_ORANGE}, + {gBattleAnimSpriteSheet_012, 0x0080, ANIM_TAG_ORANGE}, {gBattleAnimSpriteSheet_013, 0x0080, ANIM_TAG_YELLOW_BALL}, {gBattleAnimSpriteSheet_014, 0x0280, ANIM_TAG_LOCK_ON}, {gBattleAnimSpriteSheet_015, 0x0080, ANIM_TAG_TIED_BAG}, {gBattleAnimSpriteSheet_016, 0x0100, ANIM_TAG_BLACK_SMOKE}, {gBattleAnimSpriteSheet_017, 0x0020, ANIM_TAG_BLACK_BALL}, {gBattleAnimSpriteSheet_018, 0x0080, ANIM_TAG_CONVERSION}, - {gBattleAnimSpriteSheet_019, 0x0400, ANIM_TAG_UNUSED_GLASS}, + {gBattleAnimSpriteSheet_019, 0x0400, ANIM_TAG_GLASS}, {gBattleAnimSpriteSheet_020, 0x0200, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT}, - {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT_2}, - {gBattleAnimSpriteSheet_023, 0x0380, ANIM_TAG_UNUSED_BLUE_SHARDS}, - {gBattleAnimSpriteSheet_024, 0x0300, ANIM_TAG_UNUSED_CLOSING_EYE}, - {gBattleAnimSpriteSheet_025, 0x0A00, ANIM_TAG_UNUSED_WAVING_HAND}, - {gBattleAnimSpriteSheet_026, 0x0A00, ANIM_TAG_UNUSED_HIT_DUPLICATE}, + {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_HIT}, + {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_HIT_2}, + {gBattleAnimSpriteSheet_023, 0x0380, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpriteSheet_024, 0x0300, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpriteSheet_025, 0x0A00, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpriteSheet_026, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, {gBattleAnimSpriteSheet_027, 0x0A00, ANIM_TAG_LEER}, - {gBattleAnimSpriteSheet_028, 0x0A00, ANIM_TAG_UNUSED_BLUE_BURST}, + {gBattleAnimSpriteSheet_028, 0x0A00, ANIM_TAG_BLUE_BURST}, {gBattleAnimSpriteSheet_029, 0x0A00, ANIM_TAG_SMALL_EMBER}, {gBattleAnimSpriteSheet_030, 0x0A00, ANIM_TAG_GRAY_SMOKE}, {gBattleAnimSpriteSheet_031, 0x0E00, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpriteSheet_032, 0x0380, ANIM_TAG_UNUSED_BUBBLE_BURST}, + {gBattleAnimSpriteSheet_032, 0x0380, ANIM_TAG_BUBBLE_BURST}, {gBattleAnimSpriteSheet_033, 0x1000, ANIM_TAG_FIRE}, - {gBattleAnimSpriteSheet_034, 0x0800, ANIM_TAG_UNUSED_SPINNING_FIRE}, + {gBattleAnimSpriteSheet_034, 0x0800, ANIM_TAG_SPINNING_FIRE}, {gBattleAnimSpriteSheet_035, 0x0A00, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpriteSheet_036, 0x0800, ANIM_TAG_UNUSED_LIGHTNING}, + {gBattleAnimSpriteSheet_036, 0x0800, ANIM_TAG_LIGHTNING_2}, {gBattleAnimSpriteSheet_037, 0x0A00, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpriteSheet_038, 0x0A00, ANIM_TAG_UNUSED_CLAW_SLASH}, + {gBattleAnimSpriteSheet_038, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, {gBattleAnimSpriteSheet_039, 0x0A00, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpriteSheet_040, 0x0A00, ANIM_TAG_UNUSED_SCRATCH}, - {gBattleAnimSpriteSheet_041, 0x0A00, ANIM_TAG_UNUSED_SCRATCH_2}, - {gBattleAnimSpriteSheet_042, 0x0A00, ANIM_TAG_UNUSED_BUBBLE_BURST_2}, + {gBattleAnimSpriteSheet_040, 0x0A00, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpriteSheet_041, 0x0A00, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpriteSheet_042, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, {gBattleAnimSpriteSheet_043, 0x0A00, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpriteSheet_044, 0x0A00, ANIM_TAG_UNUSED_GLASS_2}, - {gBattleAnimSpriteSheet_045, 0x0A00, ANIM_TAG_UNUSED_PINK_HEART}, - {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP}, - {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP_2}, + {gBattleAnimSpriteSheet_044, 0x0A00, ANIM_TAG_GLASS_2}, + {gBattleAnimSpriteSheet_045, 0x0A00, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_SAP_DRIP_2}, {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_1}, {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_2}, {gBattleAnimSpriteSheet_050, 0x0200, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpriteSheet_051, 0x0200, ANIM_TAG_UNUSED_MONSTER_FOOT}, - {gBattleAnimSpriteSheet_052, 0x0200, ANIM_TAG_UNUSED_HUMANOID_HAND}, + {gBattleAnimSpriteSheet_051, 0x0200, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpriteSheet_052, 0x0200, ANIM_TAG_HUMANOID_HAND}, {gBattleAnimSpriteSheet_053, 0x0800, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpriteSheet_054, 0x0080, ANIM_TAG_UNUSED_YELLOW_UNK}, - {gBattleAnimSpriteSheet_055, 0x0200, ANIM_TAG_UNUSED_RED_FIST}, + {gBattleAnimSpriteSheet_054, 0x0080, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpriteSheet_055, 0x0200, ANIM_TAG_RED_FIST}, {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpriteSheet_057, 0x0180, ANIM_TAG_UNUSED_RING}, + {gBattleAnimSpriteSheet_057, 0x0180, ANIM_TAG_RING}, {gBattleAnimSpriteSheet_058, 0x0C00, ANIM_TAG_ROCKS}, - {gBattleAnimSpriteSheet_059, 0x0100, ANIM_TAG_UNUSED_Z}, - {gBattleAnimSpriteSheet_060, 0x0040, ANIM_TAG_UNUSED_YELLOW_UNK_2}, - {gBattleAnimSpriteSheet_061, 0x0180, ANIM_TAG_UNUSED_AIR_SLASH}, - {gBattleAnimSpriteSheet_062, 0x0800, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS}, + {gBattleAnimSpriteSheet_059, 0x0100, ANIM_TAG_Z}, + {gBattleAnimSpriteSheet_060, 0x0040, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpriteSheet_061, 0x0180, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpriteSheet_062, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, {gBattleAnimSpriteSheet_063, 0x0480, ANIM_TAG_LEAF}, {gBattleAnimSpriteSheet_064, 0x0200, ANIM_TAG_FINGER}, {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpriteSheet_066, 0x0100, ANIM_TAG_UNUSED_BROWN_TRIANGLE}, + {gBattleAnimSpriteSheet_066, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_SLEEP_POWDER}, {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_UNUSED_POWDER}, + {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_POWDER}, {gBattleAnimSpriteSheet_070, 0x0200, ANIM_TAG_SPARKLE_3}, {gBattleAnimSpriteSheet_071, 0x0A00, ANIM_TAG_SPARKLE_4}, {gBattleAnimSpriteSheet_072, 0x0300, ANIM_TAG_MUSIC_NOTES}, {gBattleAnimSpriteSheet_073, 0x0180, ANIM_TAG_DUCK}, {gBattleAnimSpriteSheet_074, 0x00A0, ANIM_TAG_MUD_SAND}, {gBattleAnimSpriteSheet_075, 0x0700, ANIM_TAG_ALERT}, - {gBattleAnimSpriteSheet_076, 0x0400, ANIM_TAG_UNUSED_BLUE_FLAMES}, - {gBattleAnimSpriteSheet_077, 0x0200, ANIM_TAG_UNUSED_BLUE_FLAMES_2}, - {gBattleAnimSpriteSheet_078, 0x0300, ANIM_TAG_UNUSED_SHOCK}, + {gBattleAnimSpriteSheet_076, 0x0400, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpriteSheet_077, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpriteSheet_078, 0x0300, ANIM_TAG_SHOCK_4}, {gBattleAnimSpriteSheet_079, 0x0C00, ANIM_TAG_SHOCK}, - {gBattleAnimSpriteSheet_080, 0x0A00, ANIM_TAG_UNUSED_BELL}, - {gBattleAnimSpriteSheet_081, 0x0080, ANIM_TAG_UNUSED_PINK_GLOVE}, - {gBattleAnimSpriteSheet_082, 0x0040, ANIM_TAG_UNUSED_BLUE_LINES}, - {gBattleAnimSpriteSheet_083, 0x0E00, ANIM_TAG_UNUSED_IMPACT}, - {gBattleAnimSpriteSheet_084, 0x0E00, ANIM_TAG_UNUSED_IMPACT_2}, - {gBattleAnimSpriteSheet_085, 0x0280, ANIM_TAG_UNUSED_RETICLE}, + {gBattleAnimSpriteSheet_080, 0x0A00, ANIM_TAG_BELL_2}, + {gBattleAnimSpriteSheet_081, 0x0080, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpriteSheet_082, 0x0040, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpriteSheet_083, 0x0E00, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpriteSheet_084, 0x0E00, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpriteSheet_085, 0x0280, ANIM_TAG_RETICLE}, {gBattleAnimSpriteSheet_086, 0x0200, ANIM_TAG_BREATH}, {gBattleAnimSpriteSheet_087, 0x0080, ANIM_TAG_ANGER}, - {gBattleAnimSpriteSheet_088, 0x00C0, ANIM_TAG_UNUSED_SNOWBALL}, - {gBattleAnimSpriteSheet_089, 0x0A00, ANIM_TAG_UNUSED_VINE}, - {gBattleAnimSpriteSheet_090, 0x0200, ANIM_TAG_UNUSED_SWORD}, - {gBattleAnimSpriteSheet_091, 0x0180, ANIM_TAG_UNUSED_CLAPPING}, - {gBattleAnimSpriteSheet_092, 0x0080, ANIM_TAG_UNUSED_RED_TUBE}, + {gBattleAnimSpriteSheet_088, 0x00C0, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpriteSheet_089, 0x0A00, ANIM_TAG_VINE}, + {gBattleAnimSpriteSheet_090, 0x0200, ANIM_TAG_SWORD_2}, + {gBattleAnimSpriteSheet_091, 0x0180, ANIM_TAG_CLAPPING}, + {gBattleAnimSpriteSheet_092, 0x0080, ANIM_TAG_RED_TUBE}, {gBattleAnimSpriteSheet_093, 0x1000, ANIM_TAG_AMNESIA}, - {gBattleAnimSpriteSheet_094, 0x0A00, ANIM_TAG_UNUSED_STRING}, - {gBattleAnimSpriteSheet_095, 0x0180, ANIM_TAG_UNUSED_PENCIL}, - {gBattleAnimSpriteSheet_096, 0x0380, ANIM_TAG_UNUSED_PETAL}, + {gBattleAnimSpriteSheet_094, 0x0A00, ANIM_TAG_STRING_2}, + {gBattleAnimSpriteSheet_095, 0x0180, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpriteSheet_096, 0x0380, ANIM_TAG_PETAL}, {gBattleAnimSpriteSheet_097, 0x0C00, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpriteSheet_098, 0x0200, ANIM_TAG_UNUSED_WEB}, + {gBattleAnimSpriteSheet_098, 0x0200, ANIM_TAG_WEB}, {gBattleAnimSpriteSheet_099, 0x0200, ANIM_TAG_MILK_BOTTLE}, {gBattleAnimSpriteSheet_100, 0x0200, ANIM_TAG_COIN}, - {gBattleAnimSpriteSheet_101, 0x0200, ANIM_TAG_UNUSED_CRACKED_EGG}, - {gBattleAnimSpriteSheet_102, 0x0400, ANIM_TAG_UNUSED_HATCHED_EGG}, - {gBattleAnimSpriteSheet_103, 0x0080, ANIM_TAG_UNUSED_FRESH_EGG}, - {gBattleAnimSpriteSheet_104, 0x0400, ANIM_TAG_UNUSED_FANGS}, - {gBattleAnimSpriteSheet_105, 0x0c00, ANIM_TAG_UNUSED_EXPLOSION_2}, - {gBattleAnimSpriteSheet_106, 0x0200, ANIM_TAG_UNUSED_EXPLOSION_3}, - {gBattleAnimSpriteSheet_107, 0x1000, ANIM_TAG_UNUSED_WATER_DROPLET}, - {gBattleAnimSpriteSheet_108, 0x0a00, ANIM_TAG_UNUSED_WATER_DROPLET_2}, - {gBattleAnimSpriteSheet_109, 0x0020, ANIM_TAG_UNUSED_SEED}, - {gBattleAnimSpriteSheet_110, 0x0e00, ANIM_TAG_UNUSED_SPROUT}, - {gBattleAnimSpriteSheet_111, 0x0080, ANIM_TAG_UNUSED_RED_WAND}, - {gBattleAnimSpriteSheet_112, 0x0a00, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK}, - {gBattleAnimSpriteSheet_113, 0x0400, ANIM_TAG_UNUSED_WATER_COLUMN}, - {gBattleAnimSpriteSheet_114, 0x0200, ANIM_TAG_UNUSED_MUD_UNK}, + {gBattleAnimSpriteSheet_101, 0x0200, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpriteSheet_102, 0x0400, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpriteSheet_103, 0x0080, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpriteSheet_104, 0x0400, ANIM_TAG_FANGS}, + {gBattleAnimSpriteSheet_105, 0x0c00, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpriteSheet_106, 0x0200, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpriteSheet_107, 0x1000, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpriteSheet_108, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpriteSheet_109, 0x0020, ANIM_TAG_SEED_2}, + {gBattleAnimSpriteSheet_110, 0x0e00, ANIM_TAG_SPROUT}, + {gBattleAnimSpriteSheet_111, 0x0080, ANIM_TAG_RED_WAND}, + {gBattleAnimSpriteSheet_112, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpriteSheet_113, 0x0400, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpriteSheet_114, 0x0200, ANIM_TAG_MUD_UNK}, {gBattleAnimSpriteSheet_115, 0x0700, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpriteSheet_116, 0x0800, ANIM_TAG_UNUSED_FURY_SWIPES}, - {gBattleAnimSpriteSheet_117, 0x0a00, ANIM_TAG_UNUSED_VINE_2}, - {gBattleAnimSpriteSheet_118, 0x0600, ANIM_TAG_UNUSED_TEETH}, - {gBattleAnimSpriteSheet_119, 0x0800, ANIM_TAG_UNUSED_BONE}, - {gBattleAnimSpriteSheet_120, 0x0200, ANIM_TAG_UNUSED_WHITE_BAG}, - {gBattleAnimSpriteSheet_121, 0x0040, ANIM_TAG_UNUSED_UNKNOWN}, - {gBattleAnimSpriteSheet_122, 0x0180, ANIM_TAG_UNUSED_PURPLE_CORAL}, - {gBattleAnimSpriteSheet_123, 0x0600, ANIM_TAG_UNUSED_PURPLE_DROPLET}, - {gBattleAnimSpriteSheet_124, 0x0600, ANIM_TAG_UNUSED_SHOCK_2}, - {gBattleAnimSpriteSheet_125, 0x0200, ANIM_TAG_UNUSED_CLOSING_EYE_2}, - {gBattleAnimSpriteSheet_126, 0x0080, ANIM_TAG_UNUSED_METAL_BALL}, - {gBattleAnimSpriteSheet_127, 0x0200, ANIM_TAG_UNUSED_MONSTER_DOLL}, - {gBattleAnimSpriteSheet_128, 0x0800, ANIM_TAG_UNUSED_WHIRLWIND}, - {gBattleAnimSpriteSheet_129, 0x0080, ANIM_TAG_UNUSED_WHIRLWIND_2}, - {gBattleAnimSpriteSheet_130, 0x0a00, ANIM_TAG_UNUSED_EXPLOSION_4}, - {gBattleAnimSpriteSheet_131, 0x0280, ANIM_TAG_UNUSED_EXPLOSION_5}, - {gBattleAnimSpriteSheet_132, 0x0280, ANIM_TAG_UNUSED_TONGUE}, - {gBattleAnimSpriteSheet_133, 0x0100, ANIM_TAG_UNUSED_SMOKE}, - {gBattleAnimSpriteSheet_134, 0x0200, ANIM_TAG_UNUSED_SMOKE_2}, + {gBattleAnimSpriteSheet_116, 0x0800, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpriteSheet_117, 0x0a00, ANIM_TAG_VINE_2}, + {gBattleAnimSpriteSheet_118, 0x0600, ANIM_TAG_TEETH}, + {gBattleAnimSpriteSheet_119, 0x0800, ANIM_TAG_BONE_2}, + {gBattleAnimSpriteSheet_120, 0x0200, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpriteSheet_121, 0x0040, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpriteSheet_122, 0x0180, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpriteSheet_123, 0x0600, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpriteSheet_124, 0x0600, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpriteSheet_125, 0x0200, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpriteSheet_126, 0x0080, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpriteSheet_127, 0x0200, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpriteSheet_128, 0x0800, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpriteSheet_129, 0x0080, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpriteSheet_130, 0x0a00, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpriteSheet_131, 0x0280, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpriteSheet_132, 0x0280, ANIM_TAG_TONGUE}, + {gBattleAnimSpriteSheet_133, 0x0100, ANIM_TAG_SMOKE}, + {gBattleAnimSpriteSheet_134, 0x0200, ANIM_TAG_SMOKE_2}, {gBattleAnimSpriteSheet_135, 0x0200, ANIM_TAG_IMPACT}, {gBattleAnimSpriteSheet_136, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, {gBattleAnimSpriteSheet_137, 0x0a00, ANIM_TAG_SCRATCH}, @@ -1304,11 +1304,11 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteSheet_175, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, {gBattleAnimSpriteSheet_176, 0x0200, ANIM_TAG_SHADOW_BALL}, {gBattleAnimSpriteSheet_177, 0x0500, ANIM_TAG_LICK}, - {gBattleAnimSpriteSheet_178, 0x0800, ANIM_TAG_UNUSED_VOID_LINES}, + {gBattleAnimSpriteSheet_178, 0x0800, ANIM_TAG_VOID_LINES}, {gBattleAnimSpriteSheet_179, 0x0400, ANIM_TAG_STRING}, {gBattleAnimSpriteSheet_180, 0x0020, ANIM_TAG_WEB_THREAD}, {gBattleAnimSpriteSheet_181, 0x0800, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpriteSheet_182, 0x0100, ANIM_TAG_UNUSED_LIGHTBULB}, + {gBattleAnimSpriteSheet_182, 0x0100, ANIM_TAG_LIGHTBULB}, {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH}, {gBattleAnimSpriteSheet_184, 0x0400, ANIM_TAG_FOCUS_ENERGY}, {gBattleAnimSpriteSheet_185, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, @@ -1330,7 +1330,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteSheet_201, 0x0a80, ANIM_TAG_WARM_ROCK}, {gBattleAnimSpriteSheet_202, 0x0600, ANIM_TAG_BREAKING_EGG}, {gBattleAnimSpriteSheet_203, 0x0800, ANIM_TAG_THIN_RING}, - {gBattleAnimSpriteSheet_204, 0x0200, ANIM_TAG_UNUSED_PUNCH_IMPACT}, + {gBattleAnimSpriteSheet_204, 0x0200, ANIM_TAG_PUNCH_IMPACT}, {gBattleAnimSpriteSheet_205, 0x0600, ANIM_TAG_BELL}, {gBattleAnimSpriteSheet_206, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, {gBattleAnimSpriteSheet_207, 0x0180, ANIM_TAG_SPEED_DUST}, @@ -1395,17 +1395,17 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteSheet_266, 0x0080, ANIM_TAG_GREEN_SPIKE}, {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpriteSheet_269, 0x0080, ANIM_TAG_UNUSED_RED_BRICK}, + {gBattleAnimSpriteSheet_269, 0x0080, ANIM_TAG_RED_BRICK}, {gBattleAnimSpriteSheet_270, 0x0400, ANIM_TAG_WHITE_FEATHER}, {gBattleAnimSpriteSheet_271, 0x0080, ANIM_TAG_SPARKLE_6}, {gBattleAnimSpriteSheet_272, 0x0800, ANIM_TAG_SPLASH}, {gBattleAnimSpriteSheet_273, 0x0020, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpriteSheet_274, 0x0800, ANIM_TAG_UNUSED_GEM_1}, - {gBattleAnimSpriteSheet_275, 0x0800, ANIM_TAG_UNUSED_GEM_2}, - {gBattleAnimSpriteSheet_276, 0x0800, ANIM_TAG_UNUSED_GEM_3}, + {gBattleAnimSpriteSheet_274, 0x0800, ANIM_TAG_GEM_1}, + {gBattleAnimSpriteSheet_275, 0x0800, ANIM_TAG_GEM_2}, + {gBattleAnimSpriteSheet_276, 0x0800, ANIM_TAG_GEM_3}, {gBattleAnimSpriteSheet_277, 0x1000, ANIM_TAG_SLAM_HIT_2}, {gBattleAnimSpriteSheet_278, 0x0800, ANIM_TAG_RECYCLE}, - {gBattleAnimSpriteSheet_279, 0x00a0, ANIM_TAG_UNUSED_RED_PARTICLES}, + {gBattleAnimSpriteSheet_279, 0x00a0, ANIM_TAG_RED_PARTICLES}, {gBattleAnimSpriteSheet_280, 0x0800, ANIM_TAG_PROTECT}, {gBattleAnimSpriteSheet_281, 0x0200, ANIM_TAG_DIRT_MOUND}, {gBattleAnimSpriteSheet_282, 0x0600, ANIM_TAG_SHOCK_3}, @@ -1424,137 +1424,137 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK}, {gBattleAnimSpritePalette_002, ANIM_TAG_PENCIL}, {gBattleAnimSpritePalette_003, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpritePalette_004, ANIM_TAG_UNUSED_ORB}, + {gBattleAnimSpritePalette_004, ANIM_TAG_ORB}, {gBattleAnimSpritePalette_005, ANIM_TAG_SWORD}, {gBattleAnimSpritePalette_006, ANIM_TAG_SEED}, - {gBattleAnimSpritePalette_007, ANIM_TAG_UNUSED_EXPLOSION}, - {gBattleAnimSpritePalette_008, ANIM_TAG_UNUSED_PINK_ORB}, + {gBattleAnimSpritePalette_007, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpritePalette_008, ANIM_TAG_PINK_ORB}, {gBattleAnimSpritePalette_009, ANIM_TAG_GUST}, {gBattleAnimSpritePalette_010, ANIM_TAG_ICE_CUBE}, {gBattleAnimSpritePalette_011, ANIM_TAG_SPARK_2}, - {gBattleAnimSpritePalette_012, ANIM_TAG_UNUSED_ORANGE}, + {gBattleAnimSpritePalette_012, ANIM_TAG_ORANGE}, {gBattleAnimSpritePalette_013, ANIM_TAG_YELLOW_BALL}, {gBattleAnimSpritePalette_014, ANIM_TAG_LOCK_ON}, {gBattleAnimSpritePalette_015, ANIM_TAG_TIED_BAG}, {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_SMOKE}, {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_BALL}, {gBattleAnimSpritePalette_018, ANIM_TAG_CONVERSION}, - {gBattleAnimSpritePalette_019, ANIM_TAG_UNUSED_GLASS}, + {gBattleAnimSpritePalette_019, ANIM_TAG_GLASS}, {gBattleAnimSpritePalette_020, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpritePalette_021, ANIM_TAG_UNUSED_HIT}, - {gBattleAnimSpritePalette_022, ANIM_TAG_UNUSED_HIT_2}, - {gBattleAnimSpritePalette_023, ANIM_TAG_UNUSED_BLUE_SHARDS}, - {gBattleAnimSpritePalette_024, ANIM_TAG_UNUSED_CLOSING_EYE}, - {gBattleAnimSpritePalette_025, ANIM_TAG_UNUSED_WAVING_HAND}, - {gBattleAnimSpritePalette_026, ANIM_TAG_UNUSED_HIT_DUPLICATE}, + {gBattleAnimSpritePalette_021, ANIM_TAG_HIT}, + {gBattleAnimSpritePalette_022, ANIM_TAG_HIT_2}, + {gBattleAnimSpritePalette_023, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpritePalette_024, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpritePalette_025, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpritePalette_026, ANIM_TAG_HIT_DUPLICATE}, {gBattleAnimSpritePalette_027, ANIM_TAG_LEER}, - {gBattleAnimSpritePalette_028, ANIM_TAG_UNUSED_BLUE_BURST}, + {gBattleAnimSpritePalette_028, ANIM_TAG_BLUE_BURST}, {gBattleAnimSpritePalette_029, ANIM_TAG_SMALL_EMBER}, {gBattleAnimSpritePalette_030, ANIM_TAG_GRAY_SMOKE}, {gBattleAnimSpritePalette_031, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpritePalette_032, ANIM_TAG_UNUSED_BUBBLE_BURST}, + {gBattleAnimSpritePalette_032, ANIM_TAG_BUBBLE_BURST}, {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE}, - {gBattleAnimSpritePalette_033, ANIM_TAG_UNUSED_SPINNING_FIRE}, + {gBattleAnimSpritePalette_033, ANIM_TAG_SPINNING_FIRE}, {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpritePalette_036, ANIM_TAG_UNUSED_LIGHTNING}, + {gBattleAnimSpritePalette_036, ANIM_TAG_LIGHTNING_2}, {gBattleAnimSpritePalette_036, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_CLAW_SLASH}, + {gBattleAnimSpritePalette_038, ANIM_TAG_CLAW_SLASH_2}, {gBattleAnimSpritePalette_039, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH_2}, - {gBattleAnimSpritePalette_042, ANIM_TAG_UNUSED_BUBBLE_BURST_2}, + {gBattleAnimSpritePalette_038, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpritePalette_038, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpritePalette_042, ANIM_TAG_BUBBLE_BURST_2}, {gBattleAnimSpritePalette_043, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpritePalette_044, ANIM_TAG_UNUSED_GLASS_2}, - {gBattleAnimSpritePalette_045, ANIM_TAG_UNUSED_PINK_HEART}, - {gBattleAnimSpritePalette_046, ANIM_TAG_UNUSED_SAP_DRIP}, - {gBattleAnimSpritePalette_047, ANIM_TAG_UNUSED_SAP_DRIP}, + {gBattleAnimSpritePalette_044, ANIM_TAG_GLASS_2}, + {gBattleAnimSpritePalette_045, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpritePalette_046, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePalette_047, ANIM_TAG_SAP_DRIP}, {gBattleAnimSpritePalette_048, ANIM_TAG_SPARKLE_1}, {gBattleAnimSpritePalette_049, ANIM_TAG_SPARKLE_2}, {gBattleAnimSpritePalette_050, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_MONSTER_FOOT}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_HUMANOID_HAND}, + {gBattleAnimSpritePalette_050, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpritePalette_050, ANIM_TAG_HUMANOID_HAND}, {gBattleAnimSpritePalette_026, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpritePalette_054, ANIM_TAG_UNUSED_YELLOW_UNK}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_RED_FIST}, + {gBattleAnimSpritePalette_054, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpritePalette_050, ANIM_TAG_RED_FIST}, {gBattleAnimSpritePalette_056, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpritePalette_057, ANIM_TAG_UNUSED_RING}, + {gBattleAnimSpritePalette_057, ANIM_TAG_RING}, {gBattleAnimSpritePalette_058, ANIM_TAG_ROCKS}, - {gBattleAnimSpritePalette_059, ANIM_TAG_UNUSED_Z}, - {gBattleAnimSpritePalette_060, ANIM_TAG_UNUSED_YELLOW_UNK_2}, - {gBattleAnimSpritePalette_061, ANIM_TAG_UNUSED_AIR_SLASH}, - {gBattleAnimSpritePalette_062, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS}, + {gBattleAnimSpritePalette_059, ANIM_TAG_Z}, + {gBattleAnimSpritePalette_060, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpritePalette_061, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpritePalette_062, ANIM_TAG_SPINNING_GREEN_ORBS}, {gBattleAnimSpritePalette_063, ANIM_TAG_LEAF}, {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER}, {gBattleAnimSpritePalette_065, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpritePalette_066, ANIM_TAG_UNUSED_BROWN_TRIANGLE}, + {gBattleAnimSpritePalette_066, ANIM_TAG_BROWN_TRIANGLE}, {gBattleAnimSpritePalette_067, ANIM_TAG_SLEEP_POWDER}, {gBattleAnimSpritePalette_068, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpritePalette_065, ANIM_TAG_UNUSED_POWDER}, + {gBattleAnimSpritePalette_065, ANIM_TAG_POWDER}, {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_3}, {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_4}, {gBattleAnimSpritePalette_072, ANIM_TAG_MUSIC_NOTES}, {gBattleAnimSpritePalette_073, ANIM_TAG_DUCK}, {gBattleAnimSpritePalette_074, ANIM_TAG_MUD_SAND}, {gBattleAnimSpritePalette_075, ANIM_TAG_ALERT}, - {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES}, - {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES_2}, - {gBattleAnimSpritePalette_078, ANIM_TAG_UNUSED_SHOCK}, + {gBattleAnimSpritePalette_076, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpritePalette_076, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpritePalette_078, ANIM_TAG_SHOCK_4}, {gBattleAnimSpritePalette_078, ANIM_TAG_SHOCK}, - {gBattleAnimSpritePalette_080, ANIM_TAG_UNUSED_BELL}, - {gBattleAnimSpritePalette_081, ANIM_TAG_UNUSED_PINK_GLOVE}, - {gBattleAnimSpritePalette_082, ANIM_TAG_UNUSED_BLUE_LINES}, - {gBattleAnimSpritePalette_083, ANIM_TAG_UNUSED_IMPACT}, - {gBattleAnimSpritePalette_084, ANIM_TAG_UNUSED_IMPACT_2}, - {gBattleAnimSpritePalette_085, ANIM_TAG_UNUSED_RETICLE}, + {gBattleAnimSpritePalette_080, ANIM_TAG_BELL_2}, + {gBattleAnimSpritePalette_081, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpritePalette_082, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpritePalette_083, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpritePalette_084, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpritePalette_085, ANIM_TAG_RETICLE}, {gBattleAnimSpritePalette_086, ANIM_TAG_BREATH}, {gBattleAnimSpritePalette_087, ANIM_TAG_ANGER}, - {gBattleAnimSpritePalette_088, ANIM_TAG_UNUSED_SNOWBALL}, - {gBattleAnimSpritePalette_089, ANIM_TAG_UNUSED_VINE}, - {gBattleAnimSpritePalette_090, ANIM_TAG_UNUSED_SWORD}, - {gBattleAnimSpritePalette_091, ANIM_TAG_UNUSED_CLAPPING}, - {gBattleAnimSpritePalette_092, ANIM_TAG_UNUSED_RED_TUBE}, + {gBattleAnimSpritePalette_088, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpritePalette_089, ANIM_TAG_VINE}, + {gBattleAnimSpritePalette_090, ANIM_TAG_SWORD_2}, + {gBattleAnimSpritePalette_091, ANIM_TAG_CLAPPING}, + {gBattleAnimSpritePalette_092, ANIM_TAG_RED_TUBE}, {gBattleAnimSpritePalette_093, ANIM_TAG_AMNESIA}, - {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_STRING}, - {gBattleAnimSpritePalette_095, ANIM_TAG_UNUSED_PENCIL}, - {gBattleAnimSpritePalette_096, ANIM_TAG_UNUSED_PETAL}, + {gBattleAnimSpritePalette_094, ANIM_TAG_STRING_2}, + {gBattleAnimSpritePalette_095, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpritePalette_096, ANIM_TAG_PETAL}, {gBattleAnimSpritePalette_097, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_WEB}, + {gBattleAnimSpritePalette_094, ANIM_TAG_WEB}, {gBattleAnimSpritePalette_099, ANIM_TAG_MILK_BOTTLE}, {gBattleAnimSpritePalette_100, ANIM_TAG_COIN}, - {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_CRACKED_EGG}, - {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_HATCHED_EGG}, - {gBattleAnimSpritePalette_103, ANIM_TAG_UNUSED_FRESH_EGG}, - {gBattleAnimSpritePalette_104, ANIM_TAG_UNUSED_FANGS}, - {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_2}, - {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_3}, - {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET}, - {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET_2}, - {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SEED}, - {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SPROUT}, - {gBattleAnimSpritePalette_111, ANIM_TAG_UNUSED_RED_WAND}, - {gBattleAnimSpritePalette_112, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK}, - {gBattleAnimSpritePalette_113, ANIM_TAG_UNUSED_WATER_COLUMN}, - {gBattleAnimSpritePalette_114, ANIM_TAG_UNUSED_MUD_UNK}, + {gBattleAnimSpritePalette_101, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpritePalette_101, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpritePalette_103, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpritePalette_104, ANIM_TAG_FANGS}, + {gBattleAnimSpritePalette_105, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpritePalette_105, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpritePalette_107, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpritePalette_107, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpritePalette_109, ANIM_TAG_SEED_2}, + {gBattleAnimSpritePalette_109, ANIM_TAG_SPROUT}, + {gBattleAnimSpritePalette_111, ANIM_TAG_RED_WAND}, + {gBattleAnimSpritePalette_112, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpritePalette_113, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpritePalette_114, ANIM_TAG_MUD_UNK}, {gBattleAnimSpritePalette_115, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpritePalette_116, ANIM_TAG_UNUSED_FURY_SWIPES}, - {gBattleAnimSpritePalette_117, ANIM_TAG_UNUSED_VINE_2}, - {gBattleAnimSpritePalette_118, ANIM_TAG_UNUSED_TEETH}, - {gBattleAnimSpritePalette_119, ANIM_TAG_UNUSED_BONE}, - {gBattleAnimSpritePalette_120, ANIM_TAG_UNUSED_WHITE_BAG}, - {gBattleAnimSpritePalette_121, ANIM_TAG_UNUSED_UNKNOWN}, - {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_CORAL}, - {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_DROPLET}, - {gBattleAnimSpritePalette_124, ANIM_TAG_UNUSED_SHOCK_2}, - {gBattleAnimSpritePalette_125, ANIM_TAG_UNUSED_CLOSING_EYE_2}, - {gBattleAnimSpritePalette_126, ANIM_TAG_UNUSED_METAL_BALL}, - {gBattleAnimSpritePalette_127, ANIM_TAG_UNUSED_MONSTER_DOLL}, - {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND}, - {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND_2}, - {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_4}, - {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_5}, - {gBattleAnimSpritePalette_132, ANIM_TAG_UNUSED_TONGUE}, - {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE}, - {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE_2}, + {gBattleAnimSpritePalette_116, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpritePalette_117, ANIM_TAG_VINE_2}, + {gBattleAnimSpritePalette_118, ANIM_TAG_TEETH}, + {gBattleAnimSpritePalette_119, ANIM_TAG_BONE_2}, + {gBattleAnimSpritePalette_120, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpritePalette_121, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpritePalette_122, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpritePalette_122, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpritePalette_124, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpritePalette_125, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpritePalette_126, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpritePalette_127, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpritePalette_128, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpritePalette_128, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpritePalette_130, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpritePalette_130, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpritePalette_132, ANIM_TAG_TONGUE}, + {gBattleAnimSpritePalette_133, ANIM_TAG_SMOKE}, + {gBattleAnimSpritePalette_133, ANIM_TAG_SMOKE_2}, {gBattleAnimSpritePalette_135, ANIM_TAG_IMPACT}, {gBattleAnimSpritePalette_136, ANIM_TAG_CIRCLE_IMPACT}, {gBattleAnimSpritePalette_135, ANIM_TAG_SCRATCH}, @@ -1598,11 +1598,11 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePalette_175, ANIM_TAG_LARGE_FRESH_EGG}, {gBattleAnimSpritePalette_176, ANIM_TAG_SHADOW_BALL}, {gBattleAnimSpritePalette_177, ANIM_TAG_LICK}, - {gBattleAnimSpritePalette_178, ANIM_TAG_UNUSED_VOID_LINES}, + {gBattleAnimSpritePalette_178, ANIM_TAG_VOID_LINES}, {gBattleAnimSpritePalette_179, ANIM_TAG_STRING}, {gBattleAnimSpritePalette_179, ANIM_TAG_WEB_THREAD}, {gBattleAnimSpritePalette_179, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpritePalette_182, ANIM_TAG_UNUSED_LIGHTBULB}, + {gBattleAnimSpritePalette_182, ANIM_TAG_LIGHTBULB}, {gBattleAnimSpritePalette_183, ANIM_TAG_SLASH}, {gBattleAnimSpritePalette_184, ANIM_TAG_FOCUS_ENERGY}, {gBattleAnimSpritePalette_185, ANIM_TAG_SPHERE_TO_CUBE}, @@ -1624,7 +1624,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePalette_201, ANIM_TAG_WARM_ROCK}, {gBattleAnimSpritePalette_202, ANIM_TAG_BREAKING_EGG}, {gBattleAnimSpritePalette_203, ANIM_TAG_THIN_RING}, - {gBattleAnimSpritePalette_204, ANIM_TAG_UNUSED_PUNCH_IMPACT}, + {gBattleAnimSpritePalette_204, ANIM_TAG_PUNCH_IMPACT}, {gBattleAnimSpritePalette_205, ANIM_TAG_BELL}, {gBattleAnimSpritePalette_206, ANIM_TAG_MUSIC_NOTES_2}, {gBattleAnimSpritePalette_207, ANIM_TAG_SPEED_DUST}, @@ -1689,17 +1689,17 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePalette_266, ANIM_TAG_GREEN_SPIKE}, {gBattleAnimSpritePalette_267, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, {gBattleAnimSpritePalette_268, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpritePalette_269, ANIM_TAG_UNUSED_RED_BRICK}, + {gBattleAnimSpritePalette_269, ANIM_TAG_RED_BRICK}, {gBattleAnimSpritePalette_270, ANIM_TAG_WHITE_FEATHER}, {gBattleAnimSpritePalette_271, ANIM_TAG_SPARKLE_6}, {gBattleAnimSpritePalette_272, ANIM_TAG_SPLASH}, {gBattleAnimSpritePalette_272, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_1}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_2}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_3}, + {gBattleAnimSpritePalette_274, ANIM_TAG_GEM_1}, + {gBattleAnimSpritePalette_274, ANIM_TAG_GEM_2}, + {gBattleAnimSpritePalette_274, ANIM_TAG_GEM_3}, {gBattleAnimSpritePalette_277, ANIM_TAG_SLAM_HIT_2}, {gBattleAnimSpritePalette_278, ANIM_TAG_RECYCLE}, - {gBattleAnimSpritePalette_279, ANIM_TAG_UNUSED_RED_PARTICLES}, + {gBattleAnimSpritePalette_279, ANIM_TAG_RED_PARTICLES}, {gBattleAnimSpritePalette_280, ANIM_TAG_PROTECT}, {gBattleAnimSpritePalette_281, ANIM_TAG_DIRT_MOUND}, {gBattleAnimSpritePalette_282, ANIM_TAG_SHOCK_3}, From b93581b519134e24c71a9d54135c7df1fcce6b0a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 6 Apr 2019 16:32:02 +0200 Subject: [PATCH 67/84] Rename battle anim sprites --- .../sprites/{061.png => air_slash.png} | Bin .../sprites/{003.png => air_wave.png} | Bin .../sprites/{154.png => air_wave_2.png} | Bin .../sprites/{075.png => alert.png} | Bin .../sprites/{093.png => amnesia.png} | Bin .../sprites/{220.png => angel.png} | Bin .../sprites/{087.png => anger.png} | Bin .../sprites/{205.png => bell.png} | Bin .../sprites/{080.png => bell_2.png} | Bin .../sprites/{097.png => bent_spoon.png} | Bin .../sprites/{284.png => bird.png} | Bin .../sprites/{017.png => black_ball.png} | Bin .../sprites/{171.png => black_ball_2.png} | Bin .../sprites/{016.png => black_smoke.png} | Bin .../sprites/{028.png => blue_burst.png} | Bin .../sprites/{076.png => blue_flames.png} | Bin .../sprites/{077.png => blue_flames_2.png} | Bin .../sprites/{167.pal => blue_light_wall.pal} | 0 .../sprites/{082.png => blue_lines.png} | Bin .../sprites/{236.pal => blue_orb.pal} | 0 .../sprites/{165.pal => blue_ring.pal} | 0 .../sprites/{288.pal => blue_ring_2.pal} | 0 .../sprites/{023.png => blue_shards.png} | Bin .../sprites/{031.png => blue_star.png} | Bin .../sprites/{251.png => bluegreen_orb.png} | Bin .../sprites/{000.png => bone.png} | Bin .../sprites/{119.png => bone_2.png} | Bin .../sprites/{202.png => breaking_egg.png} | Bin .../sprites/{086.png => breath.png} | Bin .../sprites/{259.pal => brown_orb.pal} | 0 .../sprites/{066.png => brown_triangle.png} | Bin .../sprites/{146.png => bubble.png} | Bin .../sprites/{032.png => bubble_burst.png} | Bin .../sprites/{042.png => bubble_burst_2.png} | Bin .../sprites/{136.png => circle_impact.png} | Bin .../sprites/{212.png => circle_of_light.png} | Bin .../sprites/{145.png => clamp.png} | Bin .../sprites/{091.png => clapping.png} | Bin .../sprites/{039.png => claw_slash.png} | Bin .../sprites/{038.png => claw_slash_2.png} | Bin .../sprites/{024.png => closing_eye.png} | Bin .../sprites/{125.png => closing_eye_2.png} | Bin .../sprites/{100.png => coin.png} | Bin .../sprites/{240.png => confetti.png} | Bin .../sprites/{018.png => conversion.png} | Bin .../sprites/{101.png => cracked_egg.png} | Bin .../sprites/{285.png => cross_impact.png} | Bin .../battle_anims/sprites/{138.png => cut.png} | Bin .../sprites/{221.png => devil.png} | Bin .../sprites/{281.png => dirt_mound.png} | Bin .../sprites/{073.png => duck.png} | Bin .../sprites/{234.png => eclipsing_orb.png} | Bin .../sprites/{211.png => electric_orbs.png} | Bin .../sprites/{213.png => electricity.png} | Bin .../sprites/{198.png => explosion.png} | Bin .../sprites/{105.png => explosion_2.png} | Bin .../sprites/{106.png => explosion_3.png} | Bin .../sprites/{130.png => explosion_4.png} | Bin .../sprites/{131.png => explosion_5.png} | Bin .../sprites/{007.png => explosion_6.png} | Bin .../battle_anims/sprites/{187.png => eye.png} | Bin .../sprites/{218.png => eye_sparkle.png} | Bin .../sprites/{192.png => fang_attack.png} | Bin .../sprites/{104.png => fangs.png} | Bin .../sprites/{064.png => finger.png} | Bin .../sprites/{214.png => finger_2.png} | Bin .../sprites/{033.png => fire.png} | Bin .../sprites/{035.png => fire_plume.png} | Bin .../sprites/{257.png => flat_rock.png} | Bin .../sprites/{001.pal => flower.pal} | 0 .../sprites/{159_0.png => flower_0.png} | Bin .../sprites/{159_1.png => flower_1.png} | Bin .../sprites/{261.png => flying_dirt.png} | Bin .../sprites/{184.png => focus_energy.png} | Bin .../sprites/{103.png => fresh_egg.png} | Bin .../sprites/{116.png => fury_swipes.png} | Bin .../sprites/{274.png => gem_1.png} | Bin .../sprites/{275.png => gem_2.png} | Bin .../sprites/{276.png => gem_3.png} | Bin .../sprites/{200.png => ghostly_spirit.png} | Bin .../sprites/{019.png => glass.png} | Bin .../sprites/{044.png => glass_2.png} | Bin .../sprites/{268.pal => glowy_blue_orb.pal} | 0 .../sprites/{265.pal => glowy_green_orb.pal} | 0 .../sprites/{264.png => glowy_red_orb.png} | Bin .../sprites/{163.png => gold_ring.png} | Bin .../sprites/{233.png => gold_stars.png} | Bin .../sprites/{169.pal => gray_light_wall.pal} | 0 .../sprites/{235.png => gray_orb.png} | Bin .../sprites/{030.png => gray_smoke.png} | Bin .../sprites/{166.png => green_light_wall.png} | Bin .../sprites/{195.png => green_sparkle.png} | Bin .../sprites/{266.png => green_spike.png} | Bin .../sprites/{241.png => green_star.png} | Bin .../sprites/{244.png => guard_ring.png} | Bin .../sprites/{009.png => gust.png} | Bin .../sprites/{263.png => hail.png} | Bin .../sprites/{143.png => hands_and_feet.png} | Bin .../sprites/{102.png => hatched_egg.png} | Bin .../battle_anims/sprites/{021.png => hit.png} | Bin .../sprites/{022.pal => hit_2.pal} | 0 .../sprites/{026.png => hit_duplicate.png} | Bin .../sprites/{249.png => hollow_orb.png} | Bin .../sprites/{020.png => horn_hit.png} | Bin .../sprites/{153.png => horn_hit_2.png} | Bin .../sprites/{050.png => humanoid_foot.png} | Bin .../sprites/{052.png => humanoid_hand.png} | Bin .../sprites/{043.png => ice_chunk.png} | Bin .../sprites/{010.pal => ice_crystals.pal} | 0 .../sprites/{141_0.png => ice_crystals_0.png} | Bin .../sprites/{141_1.png => ice_crystals_1.png} | Bin .../sprites/{141_2.png => ice_crystals_2.png} | Bin .../sprites/{141_3.png => ice_crystals_3.png} | Bin .../sprites/{141_4.png => ice_crystals_4.png} | Bin .../sprites/{141.pal => ice_cube.pal} | 0 .../sprites/{010_0.png => ice_cube_0.png} | Bin .../sprites/{010_1.png => ice_cube_1.png} | Bin .../sprites/{010_2.png => ice_cube_2.png} | Bin .../sprites/{010_3.png => ice_cube_3.png} | Bin .../sprites/{142.png => ice_spikes.png} | Bin .../sprites/{262.png => icicle_spear.png} | Bin .../sprites/{135.png => impact.png} | Bin .../sprites/{084.png => impact_2.png} | Bin .../sprites/{083.png => impact_3.png} | Bin .../sprites/{224.png => item_bag.png} | Bin .../{225.png => jagged_music_note.png} | Bin .../sprites/{175.png => large_fresh_egg.png} | Bin .../sprites/{063.png => leaf.png} | Bin .../sprites/{027.png => leer.png} | Bin .../sprites/{228.png => letter_z.png} | Bin .../sprites/{177.png => lick.png} | Bin .../sprites/{182.png => lightbulb.png} | Bin .../sprites/{037.png => lightning.png} | Bin .../sprites/{036.png => lightning_2.png} | Bin .../sprites/{014.png => lock_on.png} | Bin .../sprites/{210.png => magenta_heart.png} | Bin .../sprites/{258.png => magnifying_glass.png} | Bin .../sprites/{126.png => metal_ball.png} | Bin .../{260.png => metal_sound_waves.png} | Bin .../sprites/{256.png => meteor.png} | Bin .../sprites/{099.png => milk_bottle.png} | Bin .../sprites/{144.png => mist_cloud.png} | Bin .../sprites/{127.png => monster_doll.png} | Bin .../sprites/{051.png => monster_foot.png} | Bin .../sprites/{194.png => moon.png} | Bin .../sprites/{215.png => movement_waves.png} | Bin .../sprites/{074.pal => mud_sand.pal} | 0 .../sprites/{074_0.png => mud_sand_0.png} | Bin .../sprites/{074_1.png => mud_sand_1.png} | Bin .../sprites/{114.png => mud_unk.png} | Bin .../sprites/{072.png => music_notes.png} | Bin .../sprites/{206.pal => music_notes_2.pal} | 0 .../sprites/{206.png => music_notes_2.png} | Bin .../sprites/{199.png => nail.png} | Bin .../sprites/{161.png => needle.png} | Bin .../sprites/{053.png => noise_line.png} | Bin .../sprites/{190.png => opening_eye.png} | Bin .../sprites/{012.png => orange.png} | Bin .../{170.pal => orange_light_wall.pal} | 0 .../battle_anims/sprites/{004.png => orb.png} | Bin .../sprites/{147.png => orbs.png} | Bin .../sprites/{239.png => pain_split.png} | Bin .../sprites/{252.png => paw_print.png} | Bin .../sprites/{002.png => pencil.png} | Bin .../sprites/{095.png => pencil_2.png} | Bin .../sprites/{096.png => petal.png} | Bin .../sprites/{242.png => pink_cloud.png} | Bin .../sprites/{081.png => pink_glove.png} | Bin .../sprites/{219.pal => pink_heart.pal} | 0 .../sprites/{045.png => pink_heart_2.png} | Bin .../sprites/{008.png => pink_orb.png} | Bin .../sprites/{238.png => pink_petal.png} | Bin .../sprites/{150.png => poison_bubble.png} | Bin .../sprites/{065.png => poison_powder.png} | Bin .../sprites/{226.png => pokeball.png} | Bin .../sprites/{280.png => protect.png} | Bin .../sprites/{204.png => punch_impact.png} | Bin .../sprites/{122.png => purple_coral.png} | Bin .../sprites/{123.png => purple_droplet.png} | Bin .../sprites/{253.png => purple_flame.png} | Bin .../sprites/{172.pal => purple_gas_cloud.pal} | 0 .../sprites/{112.png => purple_green_unk.png} | Bin .../{193.png => purple_hand_outline.png} | Bin .../sprites/{164.pal => purple_ring.pal} | 0 .../sprites/{245.png => purple_scratch.png} | Bin .../sprites/{246.png => purple_swipe.png} | Bin .../sprites/{115.png => rain_drops.png} | Bin .../sprites/{140.png => rainbow_rings.png} | Bin .../sprites/{229.png => rapid_spin.png} | Bin .../sprites/{160.png => razor_leaf.png} | Bin .../sprites/{278.png => recycle.png} | Bin .../sprites/{254.png => red_ball.png} | Bin .../sprites/{269.png => red_brick.png} | Bin .../sprites/{055.png => red_fist.png} | Bin .../sprites/{216.pal => red_heart.pal} | 0 .../sprites/{168.pal => red_light_wall.pal} | 0 .../sprites/{217.png => red_orb.png} | Bin .../sprites/{237.pal => red_orb_2.pal} | 0 .../sprites/{279.png => red_particles.png} | Bin .../sprites/{092.png => red_tube.png} | Bin .../sprites/{111.png => red_wand.png} | Bin .../sprites/{085.png => reticle.png} | Bin .../sprites/{057.png => ring.png} | Bin .../sprites/{058.png => rocks.png} | Bin .../sprites/{223.png => roots.png} | Bin .../sprites/{156.png => round_shadow.png} | Bin .../sprites/{191.png => round_white_halo.png} | Bin .../sprites/{046.png => sap_drip.png} | Bin .../sprites/{047.pal => sap_drip_2.pal} | 0 .../sprites/{137.png => scratch.png} | Bin .../sprites/{041.png => scratch_2.png} | Bin .../sprites/{040.png => scratch_3.png} | Bin .../sprites/{006.png => seed.png} | Bin .../sprites/{109.png => seed_2.png} | Bin .../sprites/{176.png => shadow_ball.png} | Bin .../sprites/{139.png => sharp_teeth.png} | Bin .../sprites/{079.png => shock.png} | Bin .../sprites/{124.png => shock_2.png} | Bin .../sprites/{282.png => shock_3.png} | Bin .../sprites/{078.png => shock_4.png} | Bin .../sprites/{056.png => slam_hit.png} | Bin .../sprites/{277.png => slam_hit_2.png} | Bin .../sprites/{183.png => slash.png} | Bin .../sprites/{286.pal => slash_2.pal} | 0 .../sprites/{067.pal => sleep_powder.pal} | 0 .../sprites/{155.png => small_bubbles.png} | Bin .../sprites/{029.png => small_ember.png} | Bin .../sprites/{248.png => small_red_eye.png} | Bin .../{255.png => smellingsalt_effect.png} | Bin .../sprites/{133.png => smoke.png} | Bin .../sprites/{134.png => smoke_2.png} | Bin .../sprites/{197.png => snore_z.png} | Bin .../sprites/{088.png => snowball.png} | Bin .../sprites/{159.pal => spark.pal} | 0 .../sprites/{001_0.png => spark_0.png} | Bin .../sprites/{001_1.png => spark_1.png} | Bin .../sprites/{011.png => spark_2.png} | Bin .../sprites/{173.png => spark_h.png} | Bin .../sprites/{048.png => sparkle_1.png} | Bin .../sprites/{049.pal => sparkle_2.pal} | 0 .../sprites/{070.png => sparkle_3.png} | Bin .../sprites/{071.png => sparkle_4.png} | Bin .../sprites/{271.png => sparkle_6.png} | Bin .../sprites/{207.png => speed_dust.png} | Bin .../sprites/{185.png => sphere_to_cube.png} | Bin .../sprites/{181.png => spider_web.png} | Bin .../sprites/{152.png => spikes.png} | Bin .../sprites/{034.png => spinning_fire.png} | Bin .../{062.png => spinning_green_orbs.png} | Bin .../sprites/{196.png => spiral.png} | Bin .../sprites/{272.png => splash.png} | Bin .../sprites/{158.png => spore.png} | Bin .../sprites/{227.png => spotlight.png} | Bin .../sprites/{110.png => sprout.png} | Bin .../sprites/{179.png => string.png} | Bin .../sprites/{094.png => string_2.png} | Bin .../sprites/{068.pal => stun_spore.pal} | 0 .../sprites/{157.png => sunlight.png} | Bin .../sprites/{273.png => sweat_bead.png} | Bin .../sprites/{243.png => sweat_drop.png} | Bin .../sprites/{222.png => swipe.png} | Bin .../sprites/{005.png => sword.png} | Bin .../sprites/{090.png => sword_2.png} | Bin .../sprites/{247.png => tag_hand.png} | Bin .../sprites/{189.png => teal_alert.png} | Bin .../sprites/{118.png => teeth.png} | Bin .../sprites/{186.png => tendrils.png} | Bin .../sprites/{203.png => thin_ring.png} | Bin .../sprites/{209.png => thought_bubble.png} | Bin .../sprites/{015.png => tied_bag.png} | Bin .../sprites/{132.png => tongue.png} | Bin .../sprites/{208.png => torn_metal.png} | Bin .../sprites/{151.png => toxic_bubble.png} | Bin .../{230.png => tri_force_triangle.png} | Bin .../sprites/{121.png => unknown.png} | Bin .../sprites/{089.png => vine.png} | Bin .../sprites/{117.png => vine_2.png} | Bin .../sprites/{178.png => void_lines.png} | Bin .../sprites/{201.png => warm_rock.png} | Bin .../sprites/{113.png => water_column.png} | Bin .../sprites/{107.png => water_droplet.png} | Bin .../sprites/{108.png => water_droplet_2.png} | Bin .../sprites/{148.png => water_impact.png} | Bin .../sprites/{149.png => water_orb.png} | Bin .../sprites/{025.png => waving_hand.png} | Bin .../sprites/{283.png => weather_ball.png} | Bin .../battle_anims/sprites/{098.png => web.png} | Bin .../sprites/{180.png => web_thread.png} | Bin .../sprites/{287.pal => whip_hit.pal} | 0 .../sprites/{128.png => whirlwind.png} | Bin .../sprites/{129.png => whirlwind_2.png} | Bin .../sprites/{162.png => whirlwind_lines.png} | Bin .../sprites/{120.png => white_bag.png} | Bin .../{267.pal => white_circle_of_light.pal} | 0 .../sprites/{270.png => white_feather.png} | Bin .../sprites/{188.png => white_shadow.png} | Bin .../sprites/{232.png => wisp_fire.png} | Bin .../sprites/{231.png => wisp_orb.png} | Bin .../sprites/{250.png => x_sign.png} | Bin .../sprites/{013.png => yellow_ball.png} | Bin .../sprites/{174.png => yellow_star.png} | Bin .../sprites/{054.png => yellow_unk.png} | Bin .../sprites/{060.png => yellow_unk_2.png} | Bin .../battle_anims/sprites/{059.png => z.png} | Bin graphics_file_rules.mk | 30 +- include/constants/battle_anim.h | 16 +- include/graphics.h | 1092 ++++++++-------- src/battle_anim.c | 1159 ++++++++--------- src/battle_anim_effects_1.c | 12 +- src/battle_anim_effects_2.c | 10 +- src/battle_anim_special.c | 36 +- src/battle_anim_status_effects.c | 16 +- src/graphics.c | 1018 +++++++-------- src/rock.c | 2 +- 314 files changed, 1694 insertions(+), 1697 deletions(-) rename graphics/battle_anims/sprites/{061.png => air_slash.png} (100%) rename graphics/battle_anims/sprites/{003.png => air_wave.png} (100%) rename graphics/battle_anims/sprites/{154.png => air_wave_2.png} (100%) rename graphics/battle_anims/sprites/{075.png => alert.png} (100%) rename graphics/battle_anims/sprites/{093.png => amnesia.png} (100%) rename graphics/battle_anims/sprites/{220.png => angel.png} (100%) rename graphics/battle_anims/sprites/{087.png => anger.png} (100%) rename graphics/battle_anims/sprites/{205.png => bell.png} (100%) rename graphics/battle_anims/sprites/{080.png => bell_2.png} (100%) rename graphics/battle_anims/sprites/{097.png => bent_spoon.png} (100%) rename graphics/battle_anims/sprites/{284.png => bird.png} (100%) rename graphics/battle_anims/sprites/{017.png => black_ball.png} (100%) rename graphics/battle_anims/sprites/{171.png => black_ball_2.png} (100%) rename graphics/battle_anims/sprites/{016.png => black_smoke.png} (100%) rename graphics/battle_anims/sprites/{028.png => blue_burst.png} (100%) rename graphics/battle_anims/sprites/{076.png => blue_flames.png} (100%) rename graphics/battle_anims/sprites/{077.png => blue_flames_2.png} (100%) rename graphics/battle_anims/sprites/{167.pal => blue_light_wall.pal} (100%) rename graphics/battle_anims/sprites/{082.png => blue_lines.png} (100%) rename graphics/battle_anims/sprites/{236.pal => blue_orb.pal} (100%) rename graphics/battle_anims/sprites/{165.pal => blue_ring.pal} (100%) rename graphics/battle_anims/sprites/{288.pal => blue_ring_2.pal} (100%) rename graphics/battle_anims/sprites/{023.png => blue_shards.png} (100%) rename graphics/battle_anims/sprites/{031.png => blue_star.png} (100%) rename graphics/battle_anims/sprites/{251.png => bluegreen_orb.png} (100%) rename graphics/battle_anims/sprites/{000.png => bone.png} (100%) rename graphics/battle_anims/sprites/{119.png => bone_2.png} (100%) rename graphics/battle_anims/sprites/{202.png => breaking_egg.png} (100%) rename graphics/battle_anims/sprites/{086.png => breath.png} (100%) rename graphics/battle_anims/sprites/{259.pal => brown_orb.pal} (100%) rename graphics/battle_anims/sprites/{066.png => brown_triangle.png} (100%) rename graphics/battle_anims/sprites/{146.png => bubble.png} (100%) rename graphics/battle_anims/sprites/{032.png => bubble_burst.png} (100%) rename graphics/battle_anims/sprites/{042.png => bubble_burst_2.png} (100%) rename graphics/battle_anims/sprites/{136.png => circle_impact.png} (100%) rename graphics/battle_anims/sprites/{212.png => circle_of_light.png} (100%) rename graphics/battle_anims/sprites/{145.png => clamp.png} (100%) rename graphics/battle_anims/sprites/{091.png => clapping.png} (100%) rename graphics/battle_anims/sprites/{039.png => claw_slash.png} (100%) rename graphics/battle_anims/sprites/{038.png => claw_slash_2.png} (100%) rename graphics/battle_anims/sprites/{024.png => closing_eye.png} (100%) rename graphics/battle_anims/sprites/{125.png => closing_eye_2.png} (100%) rename graphics/battle_anims/sprites/{100.png => coin.png} (100%) rename graphics/battle_anims/sprites/{240.png => confetti.png} (100%) rename graphics/battle_anims/sprites/{018.png => conversion.png} (100%) rename graphics/battle_anims/sprites/{101.png => cracked_egg.png} (100%) rename graphics/battle_anims/sprites/{285.png => cross_impact.png} (100%) rename graphics/battle_anims/sprites/{138.png => cut.png} (100%) rename graphics/battle_anims/sprites/{221.png => devil.png} (100%) rename graphics/battle_anims/sprites/{281.png => dirt_mound.png} (100%) rename graphics/battle_anims/sprites/{073.png => duck.png} (100%) rename graphics/battle_anims/sprites/{234.png => eclipsing_orb.png} (100%) rename graphics/battle_anims/sprites/{211.png => electric_orbs.png} (100%) rename graphics/battle_anims/sprites/{213.png => electricity.png} (100%) rename graphics/battle_anims/sprites/{198.png => explosion.png} (100%) rename graphics/battle_anims/sprites/{105.png => explosion_2.png} (100%) rename graphics/battle_anims/sprites/{106.png => explosion_3.png} (100%) rename graphics/battle_anims/sprites/{130.png => explosion_4.png} (100%) rename graphics/battle_anims/sprites/{131.png => explosion_5.png} (100%) rename graphics/battle_anims/sprites/{007.png => explosion_6.png} (100%) rename graphics/battle_anims/sprites/{187.png => eye.png} (100%) rename graphics/battle_anims/sprites/{218.png => eye_sparkle.png} (100%) rename graphics/battle_anims/sprites/{192.png => fang_attack.png} (100%) rename graphics/battle_anims/sprites/{104.png => fangs.png} (100%) rename graphics/battle_anims/sprites/{064.png => finger.png} (100%) rename graphics/battle_anims/sprites/{214.png => finger_2.png} (100%) rename graphics/battle_anims/sprites/{033.png => fire.png} (100%) rename graphics/battle_anims/sprites/{035.png => fire_plume.png} (100%) rename graphics/battle_anims/sprites/{257.png => flat_rock.png} (100%) rename graphics/battle_anims/sprites/{001.pal => flower.pal} (100%) rename graphics/battle_anims/sprites/{159_0.png => flower_0.png} (100%) rename graphics/battle_anims/sprites/{159_1.png => flower_1.png} (100%) rename graphics/battle_anims/sprites/{261.png => flying_dirt.png} (100%) rename graphics/battle_anims/sprites/{184.png => focus_energy.png} (100%) rename graphics/battle_anims/sprites/{103.png => fresh_egg.png} (100%) rename graphics/battle_anims/sprites/{116.png => fury_swipes.png} (100%) rename graphics/battle_anims/sprites/{274.png => gem_1.png} (100%) rename graphics/battle_anims/sprites/{275.png => gem_2.png} (100%) rename graphics/battle_anims/sprites/{276.png => gem_3.png} (100%) rename graphics/battle_anims/sprites/{200.png => ghostly_spirit.png} (100%) rename graphics/battle_anims/sprites/{019.png => glass.png} (100%) rename graphics/battle_anims/sprites/{044.png => glass_2.png} (100%) rename graphics/battle_anims/sprites/{268.pal => glowy_blue_orb.pal} (100%) rename graphics/battle_anims/sprites/{265.pal => glowy_green_orb.pal} (100%) rename graphics/battle_anims/sprites/{264.png => glowy_red_orb.png} (100%) rename graphics/battle_anims/sprites/{163.png => gold_ring.png} (100%) rename graphics/battle_anims/sprites/{233.png => gold_stars.png} (100%) rename graphics/battle_anims/sprites/{169.pal => gray_light_wall.pal} (100%) rename graphics/battle_anims/sprites/{235.png => gray_orb.png} (100%) rename graphics/battle_anims/sprites/{030.png => gray_smoke.png} (100%) rename graphics/battle_anims/sprites/{166.png => green_light_wall.png} (100%) rename graphics/battle_anims/sprites/{195.png => green_sparkle.png} (100%) rename graphics/battle_anims/sprites/{266.png => green_spike.png} (100%) rename graphics/battle_anims/sprites/{241.png => green_star.png} (100%) rename graphics/battle_anims/sprites/{244.png => guard_ring.png} (100%) rename graphics/battle_anims/sprites/{009.png => gust.png} (100%) rename graphics/battle_anims/sprites/{263.png => hail.png} (100%) rename graphics/battle_anims/sprites/{143.png => hands_and_feet.png} (100%) rename graphics/battle_anims/sprites/{102.png => hatched_egg.png} (100%) rename graphics/battle_anims/sprites/{021.png => hit.png} (100%) rename graphics/battle_anims/sprites/{022.pal => hit_2.pal} (100%) rename graphics/battle_anims/sprites/{026.png => hit_duplicate.png} (100%) rename graphics/battle_anims/sprites/{249.png => hollow_orb.png} (100%) rename graphics/battle_anims/sprites/{020.png => horn_hit.png} (100%) rename graphics/battle_anims/sprites/{153.png => horn_hit_2.png} (100%) rename graphics/battle_anims/sprites/{050.png => humanoid_foot.png} (100%) rename graphics/battle_anims/sprites/{052.png => humanoid_hand.png} (100%) rename graphics/battle_anims/sprites/{043.png => ice_chunk.png} (100%) rename graphics/battle_anims/sprites/{010.pal => ice_crystals.pal} (100%) rename graphics/battle_anims/sprites/{141_0.png => ice_crystals_0.png} (100%) rename graphics/battle_anims/sprites/{141_1.png => ice_crystals_1.png} (100%) rename graphics/battle_anims/sprites/{141_2.png => ice_crystals_2.png} (100%) rename graphics/battle_anims/sprites/{141_3.png => ice_crystals_3.png} (100%) rename graphics/battle_anims/sprites/{141_4.png => ice_crystals_4.png} (100%) rename graphics/battle_anims/sprites/{141.pal => ice_cube.pal} (100%) rename graphics/battle_anims/sprites/{010_0.png => ice_cube_0.png} (100%) rename graphics/battle_anims/sprites/{010_1.png => ice_cube_1.png} (100%) rename graphics/battle_anims/sprites/{010_2.png => ice_cube_2.png} (100%) rename graphics/battle_anims/sprites/{010_3.png => ice_cube_3.png} (100%) rename graphics/battle_anims/sprites/{142.png => ice_spikes.png} (100%) rename graphics/battle_anims/sprites/{262.png => icicle_spear.png} (100%) rename graphics/battle_anims/sprites/{135.png => impact.png} (100%) rename graphics/battle_anims/sprites/{084.png => impact_2.png} (100%) rename graphics/battle_anims/sprites/{083.png => impact_3.png} (100%) rename graphics/battle_anims/sprites/{224.png => item_bag.png} (100%) rename graphics/battle_anims/sprites/{225.png => jagged_music_note.png} (100%) rename graphics/battle_anims/sprites/{175.png => large_fresh_egg.png} (100%) rename graphics/battle_anims/sprites/{063.png => leaf.png} (100%) rename graphics/battle_anims/sprites/{027.png => leer.png} (100%) rename graphics/battle_anims/sprites/{228.png => letter_z.png} (100%) rename graphics/battle_anims/sprites/{177.png => lick.png} (100%) rename graphics/battle_anims/sprites/{182.png => lightbulb.png} (100%) rename graphics/battle_anims/sprites/{037.png => lightning.png} (100%) rename graphics/battle_anims/sprites/{036.png => lightning_2.png} (100%) rename graphics/battle_anims/sprites/{014.png => lock_on.png} (100%) rename graphics/battle_anims/sprites/{210.png => magenta_heart.png} (100%) rename graphics/battle_anims/sprites/{258.png => magnifying_glass.png} (100%) rename graphics/battle_anims/sprites/{126.png => metal_ball.png} (100%) rename graphics/battle_anims/sprites/{260.png => metal_sound_waves.png} (100%) rename graphics/battle_anims/sprites/{256.png => meteor.png} (100%) rename graphics/battle_anims/sprites/{099.png => milk_bottle.png} (100%) rename graphics/battle_anims/sprites/{144.png => mist_cloud.png} (100%) rename graphics/battle_anims/sprites/{127.png => monster_doll.png} (100%) rename graphics/battle_anims/sprites/{051.png => monster_foot.png} (100%) rename graphics/battle_anims/sprites/{194.png => moon.png} (100%) rename graphics/battle_anims/sprites/{215.png => movement_waves.png} (100%) rename graphics/battle_anims/sprites/{074.pal => mud_sand.pal} (100%) rename graphics/battle_anims/sprites/{074_0.png => mud_sand_0.png} (100%) rename graphics/battle_anims/sprites/{074_1.png => mud_sand_1.png} (100%) rename graphics/battle_anims/sprites/{114.png => mud_unk.png} (100%) rename graphics/battle_anims/sprites/{072.png => music_notes.png} (100%) rename graphics/battle_anims/sprites/{206.pal => music_notes_2.pal} (100%) rename graphics/battle_anims/sprites/{206.png => music_notes_2.png} (100%) rename graphics/battle_anims/sprites/{199.png => nail.png} (100%) rename graphics/battle_anims/sprites/{161.png => needle.png} (100%) rename graphics/battle_anims/sprites/{053.png => noise_line.png} (100%) rename graphics/battle_anims/sprites/{190.png => opening_eye.png} (100%) rename graphics/battle_anims/sprites/{012.png => orange.png} (100%) rename graphics/battle_anims/sprites/{170.pal => orange_light_wall.pal} (100%) rename graphics/battle_anims/sprites/{004.png => orb.png} (100%) rename graphics/battle_anims/sprites/{147.png => orbs.png} (100%) rename graphics/battle_anims/sprites/{239.png => pain_split.png} (100%) rename graphics/battle_anims/sprites/{252.png => paw_print.png} (100%) rename graphics/battle_anims/sprites/{002.png => pencil.png} (100%) rename graphics/battle_anims/sprites/{095.png => pencil_2.png} (100%) rename graphics/battle_anims/sprites/{096.png => petal.png} (100%) rename graphics/battle_anims/sprites/{242.png => pink_cloud.png} (100%) rename graphics/battle_anims/sprites/{081.png => pink_glove.png} (100%) rename graphics/battle_anims/sprites/{219.pal => pink_heart.pal} (100%) rename graphics/battle_anims/sprites/{045.png => pink_heart_2.png} (100%) rename graphics/battle_anims/sprites/{008.png => pink_orb.png} (100%) rename graphics/battle_anims/sprites/{238.png => pink_petal.png} (100%) rename graphics/battle_anims/sprites/{150.png => poison_bubble.png} (100%) rename graphics/battle_anims/sprites/{065.png => poison_powder.png} (100%) rename graphics/battle_anims/sprites/{226.png => pokeball.png} (100%) rename graphics/battle_anims/sprites/{280.png => protect.png} (100%) rename graphics/battle_anims/sprites/{204.png => punch_impact.png} (100%) rename graphics/battle_anims/sprites/{122.png => purple_coral.png} (100%) rename graphics/battle_anims/sprites/{123.png => purple_droplet.png} (100%) rename graphics/battle_anims/sprites/{253.png => purple_flame.png} (100%) rename graphics/battle_anims/sprites/{172.pal => purple_gas_cloud.pal} (100%) rename graphics/battle_anims/sprites/{112.png => purple_green_unk.png} (100%) rename graphics/battle_anims/sprites/{193.png => purple_hand_outline.png} (100%) rename graphics/battle_anims/sprites/{164.pal => purple_ring.pal} (100%) rename graphics/battle_anims/sprites/{245.png => purple_scratch.png} (100%) rename graphics/battle_anims/sprites/{246.png => purple_swipe.png} (100%) rename graphics/battle_anims/sprites/{115.png => rain_drops.png} (100%) rename graphics/battle_anims/sprites/{140.png => rainbow_rings.png} (100%) rename graphics/battle_anims/sprites/{229.png => rapid_spin.png} (100%) rename graphics/battle_anims/sprites/{160.png => razor_leaf.png} (100%) rename graphics/battle_anims/sprites/{278.png => recycle.png} (100%) rename graphics/battle_anims/sprites/{254.png => red_ball.png} (100%) rename graphics/battle_anims/sprites/{269.png => red_brick.png} (100%) rename graphics/battle_anims/sprites/{055.png => red_fist.png} (100%) rename graphics/battle_anims/sprites/{216.pal => red_heart.pal} (100%) rename graphics/battle_anims/sprites/{168.pal => red_light_wall.pal} (100%) rename graphics/battle_anims/sprites/{217.png => red_orb.png} (100%) rename graphics/battle_anims/sprites/{237.pal => red_orb_2.pal} (100%) rename graphics/battle_anims/sprites/{279.png => red_particles.png} (100%) rename graphics/battle_anims/sprites/{092.png => red_tube.png} (100%) rename graphics/battle_anims/sprites/{111.png => red_wand.png} (100%) rename graphics/battle_anims/sprites/{085.png => reticle.png} (100%) rename graphics/battle_anims/sprites/{057.png => ring.png} (100%) rename graphics/battle_anims/sprites/{058.png => rocks.png} (100%) rename graphics/battle_anims/sprites/{223.png => roots.png} (100%) rename graphics/battle_anims/sprites/{156.png => round_shadow.png} (100%) rename graphics/battle_anims/sprites/{191.png => round_white_halo.png} (100%) rename graphics/battle_anims/sprites/{046.png => sap_drip.png} (100%) rename graphics/battle_anims/sprites/{047.pal => sap_drip_2.pal} (100%) rename graphics/battle_anims/sprites/{137.png => scratch.png} (100%) rename graphics/battle_anims/sprites/{041.png => scratch_2.png} (100%) rename graphics/battle_anims/sprites/{040.png => scratch_3.png} (100%) rename graphics/battle_anims/sprites/{006.png => seed.png} (100%) rename graphics/battle_anims/sprites/{109.png => seed_2.png} (100%) rename graphics/battle_anims/sprites/{176.png => shadow_ball.png} (100%) rename graphics/battle_anims/sprites/{139.png => sharp_teeth.png} (100%) rename graphics/battle_anims/sprites/{079.png => shock.png} (100%) rename graphics/battle_anims/sprites/{124.png => shock_2.png} (100%) rename graphics/battle_anims/sprites/{282.png => shock_3.png} (100%) rename graphics/battle_anims/sprites/{078.png => shock_4.png} (100%) rename graphics/battle_anims/sprites/{056.png => slam_hit.png} (100%) rename graphics/battle_anims/sprites/{277.png => slam_hit_2.png} (100%) rename graphics/battle_anims/sprites/{183.png => slash.png} (100%) rename graphics/battle_anims/sprites/{286.pal => slash_2.pal} (100%) rename graphics/battle_anims/sprites/{067.pal => sleep_powder.pal} (100%) rename graphics/battle_anims/sprites/{155.png => small_bubbles.png} (100%) rename graphics/battle_anims/sprites/{029.png => small_ember.png} (100%) rename graphics/battle_anims/sprites/{248.png => small_red_eye.png} (100%) rename graphics/battle_anims/sprites/{255.png => smellingsalt_effect.png} (100%) rename graphics/battle_anims/sprites/{133.png => smoke.png} (100%) rename graphics/battle_anims/sprites/{134.png => smoke_2.png} (100%) rename graphics/battle_anims/sprites/{197.png => snore_z.png} (100%) rename graphics/battle_anims/sprites/{088.png => snowball.png} (100%) rename graphics/battle_anims/sprites/{159.pal => spark.pal} (100%) rename graphics/battle_anims/sprites/{001_0.png => spark_0.png} (100%) rename graphics/battle_anims/sprites/{001_1.png => spark_1.png} (100%) rename graphics/battle_anims/sprites/{011.png => spark_2.png} (100%) rename graphics/battle_anims/sprites/{173.png => spark_h.png} (100%) rename graphics/battle_anims/sprites/{048.png => sparkle_1.png} (100%) rename graphics/battle_anims/sprites/{049.pal => sparkle_2.pal} (100%) rename graphics/battle_anims/sprites/{070.png => sparkle_3.png} (100%) rename graphics/battle_anims/sprites/{071.png => sparkle_4.png} (100%) rename graphics/battle_anims/sprites/{271.png => sparkle_6.png} (100%) rename graphics/battle_anims/sprites/{207.png => speed_dust.png} (100%) rename graphics/battle_anims/sprites/{185.png => sphere_to_cube.png} (100%) rename graphics/battle_anims/sprites/{181.png => spider_web.png} (100%) rename graphics/battle_anims/sprites/{152.png => spikes.png} (100%) rename graphics/battle_anims/sprites/{034.png => spinning_fire.png} (100%) rename graphics/battle_anims/sprites/{062.png => spinning_green_orbs.png} (100%) rename graphics/battle_anims/sprites/{196.png => spiral.png} (100%) rename graphics/battle_anims/sprites/{272.png => splash.png} (100%) rename graphics/battle_anims/sprites/{158.png => spore.png} (100%) rename graphics/battle_anims/sprites/{227.png => spotlight.png} (100%) rename graphics/battle_anims/sprites/{110.png => sprout.png} (100%) rename graphics/battle_anims/sprites/{179.png => string.png} (100%) rename graphics/battle_anims/sprites/{094.png => string_2.png} (100%) rename graphics/battle_anims/sprites/{068.pal => stun_spore.pal} (100%) rename graphics/battle_anims/sprites/{157.png => sunlight.png} (100%) rename graphics/battle_anims/sprites/{273.png => sweat_bead.png} (100%) rename graphics/battle_anims/sprites/{243.png => sweat_drop.png} (100%) rename graphics/battle_anims/sprites/{222.png => swipe.png} (100%) rename graphics/battle_anims/sprites/{005.png => sword.png} (100%) rename graphics/battle_anims/sprites/{090.png => sword_2.png} (100%) rename graphics/battle_anims/sprites/{247.png => tag_hand.png} (100%) rename graphics/battle_anims/sprites/{189.png => teal_alert.png} (100%) rename graphics/battle_anims/sprites/{118.png => teeth.png} (100%) rename graphics/battle_anims/sprites/{186.png => tendrils.png} (100%) rename graphics/battle_anims/sprites/{203.png => thin_ring.png} (100%) rename graphics/battle_anims/sprites/{209.png => thought_bubble.png} (100%) rename graphics/battle_anims/sprites/{015.png => tied_bag.png} (100%) rename graphics/battle_anims/sprites/{132.png => tongue.png} (100%) rename graphics/battle_anims/sprites/{208.png => torn_metal.png} (100%) rename graphics/battle_anims/sprites/{151.png => toxic_bubble.png} (100%) rename graphics/battle_anims/sprites/{230.png => tri_force_triangle.png} (100%) rename graphics/battle_anims/sprites/{121.png => unknown.png} (100%) rename graphics/battle_anims/sprites/{089.png => vine.png} (100%) rename graphics/battle_anims/sprites/{117.png => vine_2.png} (100%) rename graphics/battle_anims/sprites/{178.png => void_lines.png} (100%) rename graphics/battle_anims/sprites/{201.png => warm_rock.png} (100%) rename graphics/battle_anims/sprites/{113.png => water_column.png} (100%) rename graphics/battle_anims/sprites/{107.png => water_droplet.png} (100%) rename graphics/battle_anims/sprites/{108.png => water_droplet_2.png} (100%) rename graphics/battle_anims/sprites/{148.png => water_impact.png} (100%) rename graphics/battle_anims/sprites/{149.png => water_orb.png} (100%) rename graphics/battle_anims/sprites/{025.png => waving_hand.png} (100%) rename graphics/battle_anims/sprites/{283.png => weather_ball.png} (100%) rename graphics/battle_anims/sprites/{098.png => web.png} (100%) rename graphics/battle_anims/sprites/{180.png => web_thread.png} (100%) rename graphics/battle_anims/sprites/{287.pal => whip_hit.pal} (100%) rename graphics/battle_anims/sprites/{128.png => whirlwind.png} (100%) rename graphics/battle_anims/sprites/{129.png => whirlwind_2.png} (100%) rename graphics/battle_anims/sprites/{162.png => whirlwind_lines.png} (100%) rename graphics/battle_anims/sprites/{120.png => white_bag.png} (100%) rename graphics/battle_anims/sprites/{267.pal => white_circle_of_light.pal} (100%) rename graphics/battle_anims/sprites/{270.png => white_feather.png} (100%) rename graphics/battle_anims/sprites/{188.png => white_shadow.png} (100%) rename graphics/battle_anims/sprites/{232.png => wisp_fire.png} (100%) rename graphics/battle_anims/sprites/{231.png => wisp_orb.png} (100%) rename graphics/battle_anims/sprites/{250.png => x_sign.png} (100%) rename graphics/battle_anims/sprites/{013.png => yellow_ball.png} (100%) rename graphics/battle_anims/sprites/{174.png => yellow_star.png} (100%) rename graphics/battle_anims/sprites/{054.png => yellow_unk.png} (100%) rename graphics/battle_anims/sprites/{060.png => yellow_unk_2.png} (100%) rename graphics/battle_anims/sprites/{059.png => z.png} (100%) diff --git a/graphics/battle_anims/sprites/061.png b/graphics/battle_anims/sprites/air_slash.png similarity index 100% rename from graphics/battle_anims/sprites/061.png rename to graphics/battle_anims/sprites/air_slash.png diff --git a/graphics/battle_anims/sprites/003.png b/graphics/battle_anims/sprites/air_wave.png similarity index 100% rename from graphics/battle_anims/sprites/003.png rename to graphics/battle_anims/sprites/air_wave.png diff --git a/graphics/battle_anims/sprites/154.png b/graphics/battle_anims/sprites/air_wave_2.png similarity index 100% rename from graphics/battle_anims/sprites/154.png rename to graphics/battle_anims/sprites/air_wave_2.png diff --git a/graphics/battle_anims/sprites/075.png b/graphics/battle_anims/sprites/alert.png similarity index 100% rename from graphics/battle_anims/sprites/075.png rename to graphics/battle_anims/sprites/alert.png diff --git a/graphics/battle_anims/sprites/093.png b/graphics/battle_anims/sprites/amnesia.png similarity index 100% rename from graphics/battle_anims/sprites/093.png rename to graphics/battle_anims/sprites/amnesia.png diff --git a/graphics/battle_anims/sprites/220.png b/graphics/battle_anims/sprites/angel.png similarity index 100% rename from graphics/battle_anims/sprites/220.png rename to graphics/battle_anims/sprites/angel.png diff --git a/graphics/battle_anims/sprites/087.png b/graphics/battle_anims/sprites/anger.png similarity index 100% rename from graphics/battle_anims/sprites/087.png rename to graphics/battle_anims/sprites/anger.png diff --git a/graphics/battle_anims/sprites/205.png b/graphics/battle_anims/sprites/bell.png similarity index 100% rename from graphics/battle_anims/sprites/205.png rename to graphics/battle_anims/sprites/bell.png diff --git a/graphics/battle_anims/sprites/080.png b/graphics/battle_anims/sprites/bell_2.png similarity index 100% rename from graphics/battle_anims/sprites/080.png rename to graphics/battle_anims/sprites/bell_2.png diff --git a/graphics/battle_anims/sprites/097.png b/graphics/battle_anims/sprites/bent_spoon.png similarity index 100% rename from graphics/battle_anims/sprites/097.png rename to graphics/battle_anims/sprites/bent_spoon.png diff --git a/graphics/battle_anims/sprites/284.png b/graphics/battle_anims/sprites/bird.png similarity index 100% rename from graphics/battle_anims/sprites/284.png rename to graphics/battle_anims/sprites/bird.png diff --git a/graphics/battle_anims/sprites/017.png b/graphics/battle_anims/sprites/black_ball.png similarity index 100% rename from graphics/battle_anims/sprites/017.png rename to graphics/battle_anims/sprites/black_ball.png diff --git a/graphics/battle_anims/sprites/171.png b/graphics/battle_anims/sprites/black_ball_2.png similarity index 100% rename from graphics/battle_anims/sprites/171.png rename to graphics/battle_anims/sprites/black_ball_2.png diff --git a/graphics/battle_anims/sprites/016.png b/graphics/battle_anims/sprites/black_smoke.png similarity index 100% rename from graphics/battle_anims/sprites/016.png rename to graphics/battle_anims/sprites/black_smoke.png diff --git a/graphics/battle_anims/sprites/028.png b/graphics/battle_anims/sprites/blue_burst.png similarity index 100% rename from graphics/battle_anims/sprites/028.png rename to graphics/battle_anims/sprites/blue_burst.png diff --git a/graphics/battle_anims/sprites/076.png b/graphics/battle_anims/sprites/blue_flames.png similarity index 100% rename from graphics/battle_anims/sprites/076.png rename to graphics/battle_anims/sprites/blue_flames.png diff --git a/graphics/battle_anims/sprites/077.png b/graphics/battle_anims/sprites/blue_flames_2.png similarity index 100% rename from graphics/battle_anims/sprites/077.png rename to graphics/battle_anims/sprites/blue_flames_2.png diff --git a/graphics/battle_anims/sprites/167.pal b/graphics/battle_anims/sprites/blue_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/167.pal rename to graphics/battle_anims/sprites/blue_light_wall.pal diff --git a/graphics/battle_anims/sprites/082.png b/graphics/battle_anims/sprites/blue_lines.png similarity index 100% rename from graphics/battle_anims/sprites/082.png rename to graphics/battle_anims/sprites/blue_lines.png diff --git a/graphics/battle_anims/sprites/236.pal b/graphics/battle_anims/sprites/blue_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/236.pal rename to graphics/battle_anims/sprites/blue_orb.pal diff --git a/graphics/battle_anims/sprites/165.pal b/graphics/battle_anims/sprites/blue_ring.pal similarity index 100% rename from graphics/battle_anims/sprites/165.pal rename to graphics/battle_anims/sprites/blue_ring.pal diff --git a/graphics/battle_anims/sprites/288.pal b/graphics/battle_anims/sprites/blue_ring_2.pal similarity index 100% rename from graphics/battle_anims/sprites/288.pal rename to graphics/battle_anims/sprites/blue_ring_2.pal diff --git a/graphics/battle_anims/sprites/023.png b/graphics/battle_anims/sprites/blue_shards.png similarity index 100% rename from graphics/battle_anims/sprites/023.png rename to graphics/battle_anims/sprites/blue_shards.png diff --git a/graphics/battle_anims/sprites/031.png b/graphics/battle_anims/sprites/blue_star.png similarity index 100% rename from graphics/battle_anims/sprites/031.png rename to graphics/battle_anims/sprites/blue_star.png diff --git a/graphics/battle_anims/sprites/251.png b/graphics/battle_anims/sprites/bluegreen_orb.png similarity index 100% rename from graphics/battle_anims/sprites/251.png rename to graphics/battle_anims/sprites/bluegreen_orb.png diff --git a/graphics/battle_anims/sprites/000.png b/graphics/battle_anims/sprites/bone.png similarity index 100% rename from graphics/battle_anims/sprites/000.png rename to graphics/battle_anims/sprites/bone.png diff --git a/graphics/battle_anims/sprites/119.png b/graphics/battle_anims/sprites/bone_2.png similarity index 100% rename from graphics/battle_anims/sprites/119.png rename to graphics/battle_anims/sprites/bone_2.png diff --git a/graphics/battle_anims/sprites/202.png b/graphics/battle_anims/sprites/breaking_egg.png similarity index 100% rename from graphics/battle_anims/sprites/202.png rename to graphics/battle_anims/sprites/breaking_egg.png diff --git a/graphics/battle_anims/sprites/086.png b/graphics/battle_anims/sprites/breath.png similarity index 100% rename from graphics/battle_anims/sprites/086.png rename to graphics/battle_anims/sprites/breath.png diff --git a/graphics/battle_anims/sprites/259.pal b/graphics/battle_anims/sprites/brown_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/259.pal rename to graphics/battle_anims/sprites/brown_orb.pal diff --git a/graphics/battle_anims/sprites/066.png b/graphics/battle_anims/sprites/brown_triangle.png similarity index 100% rename from graphics/battle_anims/sprites/066.png rename to graphics/battle_anims/sprites/brown_triangle.png diff --git a/graphics/battle_anims/sprites/146.png b/graphics/battle_anims/sprites/bubble.png similarity index 100% rename from graphics/battle_anims/sprites/146.png rename to graphics/battle_anims/sprites/bubble.png diff --git a/graphics/battle_anims/sprites/032.png b/graphics/battle_anims/sprites/bubble_burst.png similarity index 100% rename from graphics/battle_anims/sprites/032.png rename to graphics/battle_anims/sprites/bubble_burst.png diff --git a/graphics/battle_anims/sprites/042.png b/graphics/battle_anims/sprites/bubble_burst_2.png similarity index 100% rename from graphics/battle_anims/sprites/042.png rename to graphics/battle_anims/sprites/bubble_burst_2.png diff --git a/graphics/battle_anims/sprites/136.png b/graphics/battle_anims/sprites/circle_impact.png similarity index 100% rename from graphics/battle_anims/sprites/136.png rename to graphics/battle_anims/sprites/circle_impact.png diff --git a/graphics/battle_anims/sprites/212.png b/graphics/battle_anims/sprites/circle_of_light.png similarity index 100% rename from graphics/battle_anims/sprites/212.png rename to graphics/battle_anims/sprites/circle_of_light.png diff --git a/graphics/battle_anims/sprites/145.png b/graphics/battle_anims/sprites/clamp.png similarity index 100% rename from graphics/battle_anims/sprites/145.png rename to graphics/battle_anims/sprites/clamp.png diff --git a/graphics/battle_anims/sprites/091.png b/graphics/battle_anims/sprites/clapping.png similarity index 100% rename from graphics/battle_anims/sprites/091.png rename to graphics/battle_anims/sprites/clapping.png diff --git a/graphics/battle_anims/sprites/039.png b/graphics/battle_anims/sprites/claw_slash.png similarity index 100% rename from graphics/battle_anims/sprites/039.png rename to graphics/battle_anims/sprites/claw_slash.png diff --git a/graphics/battle_anims/sprites/038.png b/graphics/battle_anims/sprites/claw_slash_2.png similarity index 100% rename from graphics/battle_anims/sprites/038.png rename to graphics/battle_anims/sprites/claw_slash_2.png diff --git a/graphics/battle_anims/sprites/024.png b/graphics/battle_anims/sprites/closing_eye.png similarity index 100% rename from graphics/battle_anims/sprites/024.png rename to graphics/battle_anims/sprites/closing_eye.png diff --git a/graphics/battle_anims/sprites/125.png b/graphics/battle_anims/sprites/closing_eye_2.png similarity index 100% rename from graphics/battle_anims/sprites/125.png rename to graphics/battle_anims/sprites/closing_eye_2.png diff --git a/graphics/battle_anims/sprites/100.png b/graphics/battle_anims/sprites/coin.png similarity index 100% rename from graphics/battle_anims/sprites/100.png rename to graphics/battle_anims/sprites/coin.png diff --git a/graphics/battle_anims/sprites/240.png b/graphics/battle_anims/sprites/confetti.png similarity index 100% rename from graphics/battle_anims/sprites/240.png rename to graphics/battle_anims/sprites/confetti.png diff --git a/graphics/battle_anims/sprites/018.png b/graphics/battle_anims/sprites/conversion.png similarity index 100% rename from graphics/battle_anims/sprites/018.png rename to graphics/battle_anims/sprites/conversion.png diff --git a/graphics/battle_anims/sprites/101.png b/graphics/battle_anims/sprites/cracked_egg.png similarity index 100% rename from graphics/battle_anims/sprites/101.png rename to graphics/battle_anims/sprites/cracked_egg.png diff --git a/graphics/battle_anims/sprites/285.png b/graphics/battle_anims/sprites/cross_impact.png similarity index 100% rename from graphics/battle_anims/sprites/285.png rename to graphics/battle_anims/sprites/cross_impact.png diff --git a/graphics/battle_anims/sprites/138.png b/graphics/battle_anims/sprites/cut.png similarity index 100% rename from graphics/battle_anims/sprites/138.png rename to graphics/battle_anims/sprites/cut.png diff --git a/graphics/battle_anims/sprites/221.png b/graphics/battle_anims/sprites/devil.png similarity index 100% rename from graphics/battle_anims/sprites/221.png rename to graphics/battle_anims/sprites/devil.png diff --git a/graphics/battle_anims/sprites/281.png b/graphics/battle_anims/sprites/dirt_mound.png similarity index 100% rename from graphics/battle_anims/sprites/281.png rename to graphics/battle_anims/sprites/dirt_mound.png diff --git a/graphics/battle_anims/sprites/073.png b/graphics/battle_anims/sprites/duck.png similarity index 100% rename from graphics/battle_anims/sprites/073.png rename to graphics/battle_anims/sprites/duck.png diff --git a/graphics/battle_anims/sprites/234.png b/graphics/battle_anims/sprites/eclipsing_orb.png similarity index 100% rename from graphics/battle_anims/sprites/234.png rename to graphics/battle_anims/sprites/eclipsing_orb.png diff --git a/graphics/battle_anims/sprites/211.png b/graphics/battle_anims/sprites/electric_orbs.png similarity index 100% rename from graphics/battle_anims/sprites/211.png rename to graphics/battle_anims/sprites/electric_orbs.png diff --git a/graphics/battle_anims/sprites/213.png b/graphics/battle_anims/sprites/electricity.png similarity index 100% rename from graphics/battle_anims/sprites/213.png rename to graphics/battle_anims/sprites/electricity.png diff --git a/graphics/battle_anims/sprites/198.png b/graphics/battle_anims/sprites/explosion.png similarity index 100% rename from graphics/battle_anims/sprites/198.png rename to graphics/battle_anims/sprites/explosion.png diff --git a/graphics/battle_anims/sprites/105.png b/graphics/battle_anims/sprites/explosion_2.png similarity index 100% rename from graphics/battle_anims/sprites/105.png rename to graphics/battle_anims/sprites/explosion_2.png diff --git a/graphics/battle_anims/sprites/106.png b/graphics/battle_anims/sprites/explosion_3.png similarity index 100% rename from graphics/battle_anims/sprites/106.png rename to graphics/battle_anims/sprites/explosion_3.png diff --git a/graphics/battle_anims/sprites/130.png b/graphics/battle_anims/sprites/explosion_4.png similarity index 100% rename from graphics/battle_anims/sprites/130.png rename to graphics/battle_anims/sprites/explosion_4.png diff --git a/graphics/battle_anims/sprites/131.png b/graphics/battle_anims/sprites/explosion_5.png similarity index 100% rename from graphics/battle_anims/sprites/131.png rename to graphics/battle_anims/sprites/explosion_5.png diff --git a/graphics/battle_anims/sprites/007.png b/graphics/battle_anims/sprites/explosion_6.png similarity index 100% rename from graphics/battle_anims/sprites/007.png rename to graphics/battle_anims/sprites/explosion_6.png diff --git a/graphics/battle_anims/sprites/187.png b/graphics/battle_anims/sprites/eye.png similarity index 100% rename from graphics/battle_anims/sprites/187.png rename to graphics/battle_anims/sprites/eye.png diff --git a/graphics/battle_anims/sprites/218.png b/graphics/battle_anims/sprites/eye_sparkle.png similarity index 100% rename from graphics/battle_anims/sprites/218.png rename to graphics/battle_anims/sprites/eye_sparkle.png diff --git a/graphics/battle_anims/sprites/192.png b/graphics/battle_anims/sprites/fang_attack.png similarity index 100% rename from graphics/battle_anims/sprites/192.png rename to graphics/battle_anims/sprites/fang_attack.png diff --git a/graphics/battle_anims/sprites/104.png b/graphics/battle_anims/sprites/fangs.png similarity index 100% rename from graphics/battle_anims/sprites/104.png rename to graphics/battle_anims/sprites/fangs.png diff --git a/graphics/battle_anims/sprites/064.png b/graphics/battle_anims/sprites/finger.png similarity index 100% rename from graphics/battle_anims/sprites/064.png rename to graphics/battle_anims/sprites/finger.png diff --git a/graphics/battle_anims/sprites/214.png b/graphics/battle_anims/sprites/finger_2.png similarity index 100% rename from graphics/battle_anims/sprites/214.png rename to graphics/battle_anims/sprites/finger_2.png diff --git a/graphics/battle_anims/sprites/033.png b/graphics/battle_anims/sprites/fire.png similarity index 100% rename from graphics/battle_anims/sprites/033.png rename to graphics/battle_anims/sprites/fire.png diff --git a/graphics/battle_anims/sprites/035.png b/graphics/battle_anims/sprites/fire_plume.png similarity index 100% rename from graphics/battle_anims/sprites/035.png rename to graphics/battle_anims/sprites/fire_plume.png diff --git a/graphics/battle_anims/sprites/257.png b/graphics/battle_anims/sprites/flat_rock.png similarity index 100% rename from graphics/battle_anims/sprites/257.png rename to graphics/battle_anims/sprites/flat_rock.png diff --git a/graphics/battle_anims/sprites/001.pal b/graphics/battle_anims/sprites/flower.pal similarity index 100% rename from graphics/battle_anims/sprites/001.pal rename to graphics/battle_anims/sprites/flower.pal diff --git a/graphics/battle_anims/sprites/159_0.png b/graphics/battle_anims/sprites/flower_0.png similarity index 100% rename from graphics/battle_anims/sprites/159_0.png rename to graphics/battle_anims/sprites/flower_0.png diff --git a/graphics/battle_anims/sprites/159_1.png b/graphics/battle_anims/sprites/flower_1.png similarity index 100% rename from graphics/battle_anims/sprites/159_1.png rename to graphics/battle_anims/sprites/flower_1.png diff --git a/graphics/battle_anims/sprites/261.png b/graphics/battle_anims/sprites/flying_dirt.png similarity index 100% rename from graphics/battle_anims/sprites/261.png rename to graphics/battle_anims/sprites/flying_dirt.png diff --git a/graphics/battle_anims/sprites/184.png b/graphics/battle_anims/sprites/focus_energy.png similarity index 100% rename from graphics/battle_anims/sprites/184.png rename to graphics/battle_anims/sprites/focus_energy.png diff --git a/graphics/battle_anims/sprites/103.png b/graphics/battle_anims/sprites/fresh_egg.png similarity index 100% rename from graphics/battle_anims/sprites/103.png rename to graphics/battle_anims/sprites/fresh_egg.png diff --git a/graphics/battle_anims/sprites/116.png b/graphics/battle_anims/sprites/fury_swipes.png similarity index 100% rename from graphics/battle_anims/sprites/116.png rename to graphics/battle_anims/sprites/fury_swipes.png diff --git a/graphics/battle_anims/sprites/274.png b/graphics/battle_anims/sprites/gem_1.png similarity index 100% rename from graphics/battle_anims/sprites/274.png rename to graphics/battle_anims/sprites/gem_1.png diff --git a/graphics/battle_anims/sprites/275.png b/graphics/battle_anims/sprites/gem_2.png similarity index 100% rename from graphics/battle_anims/sprites/275.png rename to graphics/battle_anims/sprites/gem_2.png diff --git a/graphics/battle_anims/sprites/276.png b/graphics/battle_anims/sprites/gem_3.png similarity index 100% rename from graphics/battle_anims/sprites/276.png rename to graphics/battle_anims/sprites/gem_3.png diff --git a/graphics/battle_anims/sprites/200.png b/graphics/battle_anims/sprites/ghostly_spirit.png similarity index 100% rename from graphics/battle_anims/sprites/200.png rename to graphics/battle_anims/sprites/ghostly_spirit.png diff --git a/graphics/battle_anims/sprites/019.png b/graphics/battle_anims/sprites/glass.png similarity index 100% rename from graphics/battle_anims/sprites/019.png rename to graphics/battle_anims/sprites/glass.png diff --git a/graphics/battle_anims/sprites/044.png b/graphics/battle_anims/sprites/glass_2.png similarity index 100% rename from graphics/battle_anims/sprites/044.png rename to graphics/battle_anims/sprites/glass_2.png diff --git a/graphics/battle_anims/sprites/268.pal b/graphics/battle_anims/sprites/glowy_blue_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/268.pal rename to graphics/battle_anims/sprites/glowy_blue_orb.pal diff --git a/graphics/battle_anims/sprites/265.pal b/graphics/battle_anims/sprites/glowy_green_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/265.pal rename to graphics/battle_anims/sprites/glowy_green_orb.pal diff --git a/graphics/battle_anims/sprites/264.png b/graphics/battle_anims/sprites/glowy_red_orb.png similarity index 100% rename from graphics/battle_anims/sprites/264.png rename to graphics/battle_anims/sprites/glowy_red_orb.png diff --git a/graphics/battle_anims/sprites/163.png b/graphics/battle_anims/sprites/gold_ring.png similarity index 100% rename from graphics/battle_anims/sprites/163.png rename to graphics/battle_anims/sprites/gold_ring.png diff --git a/graphics/battle_anims/sprites/233.png b/graphics/battle_anims/sprites/gold_stars.png similarity index 100% rename from graphics/battle_anims/sprites/233.png rename to graphics/battle_anims/sprites/gold_stars.png diff --git a/graphics/battle_anims/sprites/169.pal b/graphics/battle_anims/sprites/gray_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/169.pal rename to graphics/battle_anims/sprites/gray_light_wall.pal diff --git a/graphics/battle_anims/sprites/235.png b/graphics/battle_anims/sprites/gray_orb.png similarity index 100% rename from graphics/battle_anims/sprites/235.png rename to graphics/battle_anims/sprites/gray_orb.png diff --git a/graphics/battle_anims/sprites/030.png b/graphics/battle_anims/sprites/gray_smoke.png similarity index 100% rename from graphics/battle_anims/sprites/030.png rename to graphics/battle_anims/sprites/gray_smoke.png diff --git a/graphics/battle_anims/sprites/166.png b/graphics/battle_anims/sprites/green_light_wall.png similarity index 100% rename from graphics/battle_anims/sprites/166.png rename to graphics/battle_anims/sprites/green_light_wall.png diff --git a/graphics/battle_anims/sprites/195.png b/graphics/battle_anims/sprites/green_sparkle.png similarity index 100% rename from graphics/battle_anims/sprites/195.png rename to graphics/battle_anims/sprites/green_sparkle.png diff --git a/graphics/battle_anims/sprites/266.png b/graphics/battle_anims/sprites/green_spike.png similarity index 100% rename from graphics/battle_anims/sprites/266.png rename to graphics/battle_anims/sprites/green_spike.png diff --git a/graphics/battle_anims/sprites/241.png b/graphics/battle_anims/sprites/green_star.png similarity index 100% rename from graphics/battle_anims/sprites/241.png rename to graphics/battle_anims/sprites/green_star.png diff --git a/graphics/battle_anims/sprites/244.png b/graphics/battle_anims/sprites/guard_ring.png similarity index 100% rename from graphics/battle_anims/sprites/244.png rename to graphics/battle_anims/sprites/guard_ring.png diff --git a/graphics/battle_anims/sprites/009.png b/graphics/battle_anims/sprites/gust.png similarity index 100% rename from graphics/battle_anims/sprites/009.png rename to graphics/battle_anims/sprites/gust.png diff --git a/graphics/battle_anims/sprites/263.png b/graphics/battle_anims/sprites/hail.png similarity index 100% rename from graphics/battle_anims/sprites/263.png rename to graphics/battle_anims/sprites/hail.png diff --git a/graphics/battle_anims/sprites/143.png b/graphics/battle_anims/sprites/hands_and_feet.png similarity index 100% rename from graphics/battle_anims/sprites/143.png rename to graphics/battle_anims/sprites/hands_and_feet.png diff --git a/graphics/battle_anims/sprites/102.png b/graphics/battle_anims/sprites/hatched_egg.png similarity index 100% rename from graphics/battle_anims/sprites/102.png rename to graphics/battle_anims/sprites/hatched_egg.png diff --git a/graphics/battle_anims/sprites/021.png b/graphics/battle_anims/sprites/hit.png similarity index 100% rename from graphics/battle_anims/sprites/021.png rename to graphics/battle_anims/sprites/hit.png diff --git a/graphics/battle_anims/sprites/022.pal b/graphics/battle_anims/sprites/hit_2.pal similarity index 100% rename from graphics/battle_anims/sprites/022.pal rename to graphics/battle_anims/sprites/hit_2.pal diff --git a/graphics/battle_anims/sprites/026.png b/graphics/battle_anims/sprites/hit_duplicate.png similarity index 100% rename from graphics/battle_anims/sprites/026.png rename to graphics/battle_anims/sprites/hit_duplicate.png diff --git a/graphics/battle_anims/sprites/249.png b/graphics/battle_anims/sprites/hollow_orb.png similarity index 100% rename from graphics/battle_anims/sprites/249.png rename to graphics/battle_anims/sprites/hollow_orb.png diff --git a/graphics/battle_anims/sprites/020.png b/graphics/battle_anims/sprites/horn_hit.png similarity index 100% rename from graphics/battle_anims/sprites/020.png rename to graphics/battle_anims/sprites/horn_hit.png diff --git a/graphics/battle_anims/sprites/153.png b/graphics/battle_anims/sprites/horn_hit_2.png similarity index 100% rename from graphics/battle_anims/sprites/153.png rename to graphics/battle_anims/sprites/horn_hit_2.png diff --git a/graphics/battle_anims/sprites/050.png b/graphics/battle_anims/sprites/humanoid_foot.png similarity index 100% rename from graphics/battle_anims/sprites/050.png rename to graphics/battle_anims/sprites/humanoid_foot.png diff --git a/graphics/battle_anims/sprites/052.png b/graphics/battle_anims/sprites/humanoid_hand.png similarity index 100% rename from graphics/battle_anims/sprites/052.png rename to graphics/battle_anims/sprites/humanoid_hand.png diff --git a/graphics/battle_anims/sprites/043.png b/graphics/battle_anims/sprites/ice_chunk.png similarity index 100% rename from graphics/battle_anims/sprites/043.png rename to graphics/battle_anims/sprites/ice_chunk.png diff --git a/graphics/battle_anims/sprites/010.pal b/graphics/battle_anims/sprites/ice_crystals.pal similarity index 100% rename from graphics/battle_anims/sprites/010.pal rename to graphics/battle_anims/sprites/ice_crystals.pal diff --git a/graphics/battle_anims/sprites/141_0.png b/graphics/battle_anims/sprites/ice_crystals_0.png similarity index 100% rename from graphics/battle_anims/sprites/141_0.png rename to graphics/battle_anims/sprites/ice_crystals_0.png diff --git a/graphics/battle_anims/sprites/141_1.png b/graphics/battle_anims/sprites/ice_crystals_1.png similarity index 100% rename from graphics/battle_anims/sprites/141_1.png rename to graphics/battle_anims/sprites/ice_crystals_1.png diff --git a/graphics/battle_anims/sprites/141_2.png b/graphics/battle_anims/sprites/ice_crystals_2.png similarity index 100% rename from graphics/battle_anims/sprites/141_2.png rename to graphics/battle_anims/sprites/ice_crystals_2.png diff --git a/graphics/battle_anims/sprites/141_3.png b/graphics/battle_anims/sprites/ice_crystals_3.png similarity index 100% rename from graphics/battle_anims/sprites/141_3.png rename to graphics/battle_anims/sprites/ice_crystals_3.png diff --git a/graphics/battle_anims/sprites/141_4.png b/graphics/battle_anims/sprites/ice_crystals_4.png similarity index 100% rename from graphics/battle_anims/sprites/141_4.png rename to graphics/battle_anims/sprites/ice_crystals_4.png diff --git a/graphics/battle_anims/sprites/141.pal b/graphics/battle_anims/sprites/ice_cube.pal similarity index 100% rename from graphics/battle_anims/sprites/141.pal rename to graphics/battle_anims/sprites/ice_cube.pal diff --git a/graphics/battle_anims/sprites/010_0.png b/graphics/battle_anims/sprites/ice_cube_0.png similarity index 100% rename from graphics/battle_anims/sprites/010_0.png rename to graphics/battle_anims/sprites/ice_cube_0.png diff --git a/graphics/battle_anims/sprites/010_1.png b/graphics/battle_anims/sprites/ice_cube_1.png similarity index 100% rename from graphics/battle_anims/sprites/010_1.png rename to graphics/battle_anims/sprites/ice_cube_1.png diff --git a/graphics/battle_anims/sprites/010_2.png b/graphics/battle_anims/sprites/ice_cube_2.png similarity index 100% rename from graphics/battle_anims/sprites/010_2.png rename to graphics/battle_anims/sprites/ice_cube_2.png diff --git a/graphics/battle_anims/sprites/010_3.png b/graphics/battle_anims/sprites/ice_cube_3.png similarity index 100% rename from graphics/battle_anims/sprites/010_3.png rename to graphics/battle_anims/sprites/ice_cube_3.png diff --git a/graphics/battle_anims/sprites/142.png b/graphics/battle_anims/sprites/ice_spikes.png similarity index 100% rename from graphics/battle_anims/sprites/142.png rename to graphics/battle_anims/sprites/ice_spikes.png diff --git a/graphics/battle_anims/sprites/262.png b/graphics/battle_anims/sprites/icicle_spear.png similarity index 100% rename from graphics/battle_anims/sprites/262.png rename to graphics/battle_anims/sprites/icicle_spear.png diff --git a/graphics/battle_anims/sprites/135.png b/graphics/battle_anims/sprites/impact.png similarity index 100% rename from graphics/battle_anims/sprites/135.png rename to graphics/battle_anims/sprites/impact.png diff --git a/graphics/battle_anims/sprites/084.png b/graphics/battle_anims/sprites/impact_2.png similarity index 100% rename from graphics/battle_anims/sprites/084.png rename to graphics/battle_anims/sprites/impact_2.png diff --git a/graphics/battle_anims/sprites/083.png b/graphics/battle_anims/sprites/impact_3.png similarity index 100% rename from graphics/battle_anims/sprites/083.png rename to graphics/battle_anims/sprites/impact_3.png diff --git a/graphics/battle_anims/sprites/224.png b/graphics/battle_anims/sprites/item_bag.png similarity index 100% rename from graphics/battle_anims/sprites/224.png rename to graphics/battle_anims/sprites/item_bag.png diff --git a/graphics/battle_anims/sprites/225.png b/graphics/battle_anims/sprites/jagged_music_note.png similarity index 100% rename from graphics/battle_anims/sprites/225.png rename to graphics/battle_anims/sprites/jagged_music_note.png diff --git a/graphics/battle_anims/sprites/175.png b/graphics/battle_anims/sprites/large_fresh_egg.png similarity index 100% rename from graphics/battle_anims/sprites/175.png rename to graphics/battle_anims/sprites/large_fresh_egg.png diff --git a/graphics/battle_anims/sprites/063.png b/graphics/battle_anims/sprites/leaf.png similarity index 100% rename from graphics/battle_anims/sprites/063.png rename to graphics/battle_anims/sprites/leaf.png diff --git a/graphics/battle_anims/sprites/027.png b/graphics/battle_anims/sprites/leer.png similarity index 100% rename from graphics/battle_anims/sprites/027.png rename to graphics/battle_anims/sprites/leer.png diff --git a/graphics/battle_anims/sprites/228.png b/graphics/battle_anims/sprites/letter_z.png similarity index 100% rename from graphics/battle_anims/sprites/228.png rename to graphics/battle_anims/sprites/letter_z.png diff --git a/graphics/battle_anims/sprites/177.png b/graphics/battle_anims/sprites/lick.png similarity index 100% rename from graphics/battle_anims/sprites/177.png rename to graphics/battle_anims/sprites/lick.png diff --git a/graphics/battle_anims/sprites/182.png b/graphics/battle_anims/sprites/lightbulb.png similarity index 100% rename from graphics/battle_anims/sprites/182.png rename to graphics/battle_anims/sprites/lightbulb.png diff --git a/graphics/battle_anims/sprites/037.png b/graphics/battle_anims/sprites/lightning.png similarity index 100% rename from graphics/battle_anims/sprites/037.png rename to graphics/battle_anims/sprites/lightning.png diff --git a/graphics/battle_anims/sprites/036.png b/graphics/battle_anims/sprites/lightning_2.png similarity index 100% rename from graphics/battle_anims/sprites/036.png rename to graphics/battle_anims/sprites/lightning_2.png diff --git a/graphics/battle_anims/sprites/014.png b/graphics/battle_anims/sprites/lock_on.png similarity index 100% rename from graphics/battle_anims/sprites/014.png rename to graphics/battle_anims/sprites/lock_on.png diff --git a/graphics/battle_anims/sprites/210.png b/graphics/battle_anims/sprites/magenta_heart.png similarity index 100% rename from graphics/battle_anims/sprites/210.png rename to graphics/battle_anims/sprites/magenta_heart.png diff --git a/graphics/battle_anims/sprites/258.png b/graphics/battle_anims/sprites/magnifying_glass.png similarity index 100% rename from graphics/battle_anims/sprites/258.png rename to graphics/battle_anims/sprites/magnifying_glass.png diff --git a/graphics/battle_anims/sprites/126.png b/graphics/battle_anims/sprites/metal_ball.png similarity index 100% rename from graphics/battle_anims/sprites/126.png rename to graphics/battle_anims/sprites/metal_ball.png diff --git a/graphics/battle_anims/sprites/260.png b/graphics/battle_anims/sprites/metal_sound_waves.png similarity index 100% rename from graphics/battle_anims/sprites/260.png rename to graphics/battle_anims/sprites/metal_sound_waves.png diff --git a/graphics/battle_anims/sprites/256.png b/graphics/battle_anims/sprites/meteor.png similarity index 100% rename from graphics/battle_anims/sprites/256.png rename to graphics/battle_anims/sprites/meteor.png diff --git a/graphics/battle_anims/sprites/099.png b/graphics/battle_anims/sprites/milk_bottle.png similarity index 100% rename from graphics/battle_anims/sprites/099.png rename to graphics/battle_anims/sprites/milk_bottle.png diff --git a/graphics/battle_anims/sprites/144.png b/graphics/battle_anims/sprites/mist_cloud.png similarity index 100% rename from graphics/battle_anims/sprites/144.png rename to graphics/battle_anims/sprites/mist_cloud.png diff --git a/graphics/battle_anims/sprites/127.png b/graphics/battle_anims/sprites/monster_doll.png similarity index 100% rename from graphics/battle_anims/sprites/127.png rename to graphics/battle_anims/sprites/monster_doll.png diff --git a/graphics/battle_anims/sprites/051.png b/graphics/battle_anims/sprites/monster_foot.png similarity index 100% rename from graphics/battle_anims/sprites/051.png rename to graphics/battle_anims/sprites/monster_foot.png diff --git a/graphics/battle_anims/sprites/194.png b/graphics/battle_anims/sprites/moon.png similarity index 100% rename from graphics/battle_anims/sprites/194.png rename to graphics/battle_anims/sprites/moon.png diff --git a/graphics/battle_anims/sprites/215.png b/graphics/battle_anims/sprites/movement_waves.png similarity index 100% rename from graphics/battle_anims/sprites/215.png rename to graphics/battle_anims/sprites/movement_waves.png diff --git a/graphics/battle_anims/sprites/074.pal b/graphics/battle_anims/sprites/mud_sand.pal similarity index 100% rename from graphics/battle_anims/sprites/074.pal rename to graphics/battle_anims/sprites/mud_sand.pal diff --git a/graphics/battle_anims/sprites/074_0.png b/graphics/battle_anims/sprites/mud_sand_0.png similarity index 100% rename from graphics/battle_anims/sprites/074_0.png rename to graphics/battle_anims/sprites/mud_sand_0.png diff --git a/graphics/battle_anims/sprites/074_1.png b/graphics/battle_anims/sprites/mud_sand_1.png similarity index 100% rename from graphics/battle_anims/sprites/074_1.png rename to graphics/battle_anims/sprites/mud_sand_1.png diff --git a/graphics/battle_anims/sprites/114.png b/graphics/battle_anims/sprites/mud_unk.png similarity index 100% rename from graphics/battle_anims/sprites/114.png rename to graphics/battle_anims/sprites/mud_unk.png diff --git a/graphics/battle_anims/sprites/072.png b/graphics/battle_anims/sprites/music_notes.png similarity index 100% rename from graphics/battle_anims/sprites/072.png rename to graphics/battle_anims/sprites/music_notes.png diff --git a/graphics/battle_anims/sprites/206.pal b/graphics/battle_anims/sprites/music_notes_2.pal similarity index 100% rename from graphics/battle_anims/sprites/206.pal rename to graphics/battle_anims/sprites/music_notes_2.pal diff --git a/graphics/battle_anims/sprites/206.png b/graphics/battle_anims/sprites/music_notes_2.png similarity index 100% rename from graphics/battle_anims/sprites/206.png rename to graphics/battle_anims/sprites/music_notes_2.png diff --git a/graphics/battle_anims/sprites/199.png b/graphics/battle_anims/sprites/nail.png similarity index 100% rename from graphics/battle_anims/sprites/199.png rename to graphics/battle_anims/sprites/nail.png diff --git a/graphics/battle_anims/sprites/161.png b/graphics/battle_anims/sprites/needle.png similarity index 100% rename from graphics/battle_anims/sprites/161.png rename to graphics/battle_anims/sprites/needle.png diff --git a/graphics/battle_anims/sprites/053.png b/graphics/battle_anims/sprites/noise_line.png similarity index 100% rename from graphics/battle_anims/sprites/053.png rename to graphics/battle_anims/sprites/noise_line.png diff --git a/graphics/battle_anims/sprites/190.png b/graphics/battle_anims/sprites/opening_eye.png similarity index 100% rename from graphics/battle_anims/sprites/190.png rename to graphics/battle_anims/sprites/opening_eye.png diff --git a/graphics/battle_anims/sprites/012.png b/graphics/battle_anims/sprites/orange.png similarity index 100% rename from graphics/battle_anims/sprites/012.png rename to graphics/battle_anims/sprites/orange.png diff --git a/graphics/battle_anims/sprites/170.pal b/graphics/battle_anims/sprites/orange_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/170.pal rename to graphics/battle_anims/sprites/orange_light_wall.pal diff --git a/graphics/battle_anims/sprites/004.png b/graphics/battle_anims/sprites/orb.png similarity index 100% rename from graphics/battle_anims/sprites/004.png rename to graphics/battle_anims/sprites/orb.png diff --git a/graphics/battle_anims/sprites/147.png b/graphics/battle_anims/sprites/orbs.png similarity index 100% rename from graphics/battle_anims/sprites/147.png rename to graphics/battle_anims/sprites/orbs.png diff --git a/graphics/battle_anims/sprites/239.png b/graphics/battle_anims/sprites/pain_split.png similarity index 100% rename from graphics/battle_anims/sprites/239.png rename to graphics/battle_anims/sprites/pain_split.png diff --git a/graphics/battle_anims/sprites/252.png b/graphics/battle_anims/sprites/paw_print.png similarity index 100% rename from graphics/battle_anims/sprites/252.png rename to graphics/battle_anims/sprites/paw_print.png diff --git a/graphics/battle_anims/sprites/002.png b/graphics/battle_anims/sprites/pencil.png similarity index 100% rename from graphics/battle_anims/sprites/002.png rename to graphics/battle_anims/sprites/pencil.png diff --git a/graphics/battle_anims/sprites/095.png b/graphics/battle_anims/sprites/pencil_2.png similarity index 100% rename from graphics/battle_anims/sprites/095.png rename to graphics/battle_anims/sprites/pencil_2.png diff --git a/graphics/battle_anims/sprites/096.png b/graphics/battle_anims/sprites/petal.png similarity index 100% rename from graphics/battle_anims/sprites/096.png rename to graphics/battle_anims/sprites/petal.png diff --git a/graphics/battle_anims/sprites/242.png b/graphics/battle_anims/sprites/pink_cloud.png similarity index 100% rename from graphics/battle_anims/sprites/242.png rename to graphics/battle_anims/sprites/pink_cloud.png diff --git a/graphics/battle_anims/sprites/081.png b/graphics/battle_anims/sprites/pink_glove.png similarity index 100% rename from graphics/battle_anims/sprites/081.png rename to graphics/battle_anims/sprites/pink_glove.png diff --git a/graphics/battle_anims/sprites/219.pal b/graphics/battle_anims/sprites/pink_heart.pal similarity index 100% rename from graphics/battle_anims/sprites/219.pal rename to graphics/battle_anims/sprites/pink_heart.pal diff --git a/graphics/battle_anims/sprites/045.png b/graphics/battle_anims/sprites/pink_heart_2.png similarity index 100% rename from graphics/battle_anims/sprites/045.png rename to graphics/battle_anims/sprites/pink_heart_2.png diff --git a/graphics/battle_anims/sprites/008.png b/graphics/battle_anims/sprites/pink_orb.png similarity index 100% rename from graphics/battle_anims/sprites/008.png rename to graphics/battle_anims/sprites/pink_orb.png diff --git a/graphics/battle_anims/sprites/238.png b/graphics/battle_anims/sprites/pink_petal.png similarity index 100% rename from graphics/battle_anims/sprites/238.png rename to graphics/battle_anims/sprites/pink_petal.png diff --git a/graphics/battle_anims/sprites/150.png b/graphics/battle_anims/sprites/poison_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/150.png rename to graphics/battle_anims/sprites/poison_bubble.png diff --git a/graphics/battle_anims/sprites/065.png b/graphics/battle_anims/sprites/poison_powder.png similarity index 100% rename from graphics/battle_anims/sprites/065.png rename to graphics/battle_anims/sprites/poison_powder.png diff --git a/graphics/battle_anims/sprites/226.png b/graphics/battle_anims/sprites/pokeball.png similarity index 100% rename from graphics/battle_anims/sprites/226.png rename to graphics/battle_anims/sprites/pokeball.png diff --git a/graphics/battle_anims/sprites/280.png b/graphics/battle_anims/sprites/protect.png similarity index 100% rename from graphics/battle_anims/sprites/280.png rename to graphics/battle_anims/sprites/protect.png diff --git a/graphics/battle_anims/sprites/204.png b/graphics/battle_anims/sprites/punch_impact.png similarity index 100% rename from graphics/battle_anims/sprites/204.png rename to graphics/battle_anims/sprites/punch_impact.png diff --git a/graphics/battle_anims/sprites/122.png b/graphics/battle_anims/sprites/purple_coral.png similarity index 100% rename from graphics/battle_anims/sprites/122.png rename to graphics/battle_anims/sprites/purple_coral.png diff --git a/graphics/battle_anims/sprites/123.png b/graphics/battle_anims/sprites/purple_droplet.png similarity index 100% rename from graphics/battle_anims/sprites/123.png rename to graphics/battle_anims/sprites/purple_droplet.png diff --git a/graphics/battle_anims/sprites/253.png b/graphics/battle_anims/sprites/purple_flame.png similarity index 100% rename from graphics/battle_anims/sprites/253.png rename to graphics/battle_anims/sprites/purple_flame.png diff --git a/graphics/battle_anims/sprites/172.pal b/graphics/battle_anims/sprites/purple_gas_cloud.pal similarity index 100% rename from graphics/battle_anims/sprites/172.pal rename to graphics/battle_anims/sprites/purple_gas_cloud.pal diff --git a/graphics/battle_anims/sprites/112.png b/graphics/battle_anims/sprites/purple_green_unk.png similarity index 100% rename from graphics/battle_anims/sprites/112.png rename to graphics/battle_anims/sprites/purple_green_unk.png diff --git a/graphics/battle_anims/sprites/193.png b/graphics/battle_anims/sprites/purple_hand_outline.png similarity index 100% rename from graphics/battle_anims/sprites/193.png rename to graphics/battle_anims/sprites/purple_hand_outline.png diff --git a/graphics/battle_anims/sprites/164.pal b/graphics/battle_anims/sprites/purple_ring.pal similarity index 100% rename from graphics/battle_anims/sprites/164.pal rename to graphics/battle_anims/sprites/purple_ring.pal diff --git a/graphics/battle_anims/sprites/245.png b/graphics/battle_anims/sprites/purple_scratch.png similarity index 100% rename from graphics/battle_anims/sprites/245.png rename to graphics/battle_anims/sprites/purple_scratch.png diff --git a/graphics/battle_anims/sprites/246.png b/graphics/battle_anims/sprites/purple_swipe.png similarity index 100% rename from graphics/battle_anims/sprites/246.png rename to graphics/battle_anims/sprites/purple_swipe.png diff --git a/graphics/battle_anims/sprites/115.png b/graphics/battle_anims/sprites/rain_drops.png similarity index 100% rename from graphics/battle_anims/sprites/115.png rename to graphics/battle_anims/sprites/rain_drops.png diff --git a/graphics/battle_anims/sprites/140.png b/graphics/battle_anims/sprites/rainbow_rings.png similarity index 100% rename from graphics/battle_anims/sprites/140.png rename to graphics/battle_anims/sprites/rainbow_rings.png diff --git a/graphics/battle_anims/sprites/229.png b/graphics/battle_anims/sprites/rapid_spin.png similarity index 100% rename from graphics/battle_anims/sprites/229.png rename to graphics/battle_anims/sprites/rapid_spin.png diff --git a/graphics/battle_anims/sprites/160.png b/graphics/battle_anims/sprites/razor_leaf.png similarity index 100% rename from graphics/battle_anims/sprites/160.png rename to graphics/battle_anims/sprites/razor_leaf.png diff --git a/graphics/battle_anims/sprites/278.png b/graphics/battle_anims/sprites/recycle.png similarity index 100% rename from graphics/battle_anims/sprites/278.png rename to graphics/battle_anims/sprites/recycle.png diff --git a/graphics/battle_anims/sprites/254.png b/graphics/battle_anims/sprites/red_ball.png similarity index 100% rename from graphics/battle_anims/sprites/254.png rename to graphics/battle_anims/sprites/red_ball.png diff --git a/graphics/battle_anims/sprites/269.png b/graphics/battle_anims/sprites/red_brick.png similarity index 100% rename from graphics/battle_anims/sprites/269.png rename to graphics/battle_anims/sprites/red_brick.png diff --git a/graphics/battle_anims/sprites/055.png b/graphics/battle_anims/sprites/red_fist.png similarity index 100% rename from graphics/battle_anims/sprites/055.png rename to graphics/battle_anims/sprites/red_fist.png diff --git a/graphics/battle_anims/sprites/216.pal b/graphics/battle_anims/sprites/red_heart.pal similarity index 100% rename from graphics/battle_anims/sprites/216.pal rename to graphics/battle_anims/sprites/red_heart.pal diff --git a/graphics/battle_anims/sprites/168.pal b/graphics/battle_anims/sprites/red_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/168.pal rename to graphics/battle_anims/sprites/red_light_wall.pal diff --git a/graphics/battle_anims/sprites/217.png b/graphics/battle_anims/sprites/red_orb.png similarity index 100% rename from graphics/battle_anims/sprites/217.png rename to graphics/battle_anims/sprites/red_orb.png diff --git a/graphics/battle_anims/sprites/237.pal b/graphics/battle_anims/sprites/red_orb_2.pal similarity index 100% rename from graphics/battle_anims/sprites/237.pal rename to graphics/battle_anims/sprites/red_orb_2.pal diff --git a/graphics/battle_anims/sprites/279.png b/graphics/battle_anims/sprites/red_particles.png similarity index 100% rename from graphics/battle_anims/sprites/279.png rename to graphics/battle_anims/sprites/red_particles.png diff --git a/graphics/battle_anims/sprites/092.png b/graphics/battle_anims/sprites/red_tube.png similarity index 100% rename from graphics/battle_anims/sprites/092.png rename to graphics/battle_anims/sprites/red_tube.png diff --git a/graphics/battle_anims/sprites/111.png b/graphics/battle_anims/sprites/red_wand.png similarity index 100% rename from graphics/battle_anims/sprites/111.png rename to graphics/battle_anims/sprites/red_wand.png diff --git a/graphics/battle_anims/sprites/085.png b/graphics/battle_anims/sprites/reticle.png similarity index 100% rename from graphics/battle_anims/sprites/085.png rename to graphics/battle_anims/sprites/reticle.png diff --git a/graphics/battle_anims/sprites/057.png b/graphics/battle_anims/sprites/ring.png similarity index 100% rename from graphics/battle_anims/sprites/057.png rename to graphics/battle_anims/sprites/ring.png diff --git a/graphics/battle_anims/sprites/058.png b/graphics/battle_anims/sprites/rocks.png similarity index 100% rename from graphics/battle_anims/sprites/058.png rename to graphics/battle_anims/sprites/rocks.png diff --git a/graphics/battle_anims/sprites/223.png b/graphics/battle_anims/sprites/roots.png similarity index 100% rename from graphics/battle_anims/sprites/223.png rename to graphics/battle_anims/sprites/roots.png diff --git a/graphics/battle_anims/sprites/156.png b/graphics/battle_anims/sprites/round_shadow.png similarity index 100% rename from graphics/battle_anims/sprites/156.png rename to graphics/battle_anims/sprites/round_shadow.png diff --git a/graphics/battle_anims/sprites/191.png b/graphics/battle_anims/sprites/round_white_halo.png similarity index 100% rename from graphics/battle_anims/sprites/191.png rename to graphics/battle_anims/sprites/round_white_halo.png diff --git a/graphics/battle_anims/sprites/046.png b/graphics/battle_anims/sprites/sap_drip.png similarity index 100% rename from graphics/battle_anims/sprites/046.png rename to graphics/battle_anims/sprites/sap_drip.png diff --git a/graphics/battle_anims/sprites/047.pal b/graphics/battle_anims/sprites/sap_drip_2.pal similarity index 100% rename from graphics/battle_anims/sprites/047.pal rename to graphics/battle_anims/sprites/sap_drip_2.pal diff --git a/graphics/battle_anims/sprites/137.png b/graphics/battle_anims/sprites/scratch.png similarity index 100% rename from graphics/battle_anims/sprites/137.png rename to graphics/battle_anims/sprites/scratch.png diff --git a/graphics/battle_anims/sprites/041.png b/graphics/battle_anims/sprites/scratch_2.png similarity index 100% rename from graphics/battle_anims/sprites/041.png rename to graphics/battle_anims/sprites/scratch_2.png diff --git a/graphics/battle_anims/sprites/040.png b/graphics/battle_anims/sprites/scratch_3.png similarity index 100% rename from graphics/battle_anims/sprites/040.png rename to graphics/battle_anims/sprites/scratch_3.png diff --git a/graphics/battle_anims/sprites/006.png b/graphics/battle_anims/sprites/seed.png similarity index 100% rename from graphics/battle_anims/sprites/006.png rename to graphics/battle_anims/sprites/seed.png diff --git a/graphics/battle_anims/sprites/109.png b/graphics/battle_anims/sprites/seed_2.png similarity index 100% rename from graphics/battle_anims/sprites/109.png rename to graphics/battle_anims/sprites/seed_2.png diff --git a/graphics/battle_anims/sprites/176.png b/graphics/battle_anims/sprites/shadow_ball.png similarity index 100% rename from graphics/battle_anims/sprites/176.png rename to graphics/battle_anims/sprites/shadow_ball.png diff --git a/graphics/battle_anims/sprites/139.png b/graphics/battle_anims/sprites/sharp_teeth.png similarity index 100% rename from graphics/battle_anims/sprites/139.png rename to graphics/battle_anims/sprites/sharp_teeth.png diff --git a/graphics/battle_anims/sprites/079.png b/graphics/battle_anims/sprites/shock.png similarity index 100% rename from graphics/battle_anims/sprites/079.png rename to graphics/battle_anims/sprites/shock.png diff --git a/graphics/battle_anims/sprites/124.png b/graphics/battle_anims/sprites/shock_2.png similarity index 100% rename from graphics/battle_anims/sprites/124.png rename to graphics/battle_anims/sprites/shock_2.png diff --git a/graphics/battle_anims/sprites/282.png b/graphics/battle_anims/sprites/shock_3.png similarity index 100% rename from graphics/battle_anims/sprites/282.png rename to graphics/battle_anims/sprites/shock_3.png diff --git a/graphics/battle_anims/sprites/078.png b/graphics/battle_anims/sprites/shock_4.png similarity index 100% rename from graphics/battle_anims/sprites/078.png rename to graphics/battle_anims/sprites/shock_4.png diff --git a/graphics/battle_anims/sprites/056.png b/graphics/battle_anims/sprites/slam_hit.png similarity index 100% rename from graphics/battle_anims/sprites/056.png rename to graphics/battle_anims/sprites/slam_hit.png diff --git a/graphics/battle_anims/sprites/277.png b/graphics/battle_anims/sprites/slam_hit_2.png similarity index 100% rename from graphics/battle_anims/sprites/277.png rename to graphics/battle_anims/sprites/slam_hit_2.png diff --git a/graphics/battle_anims/sprites/183.png b/graphics/battle_anims/sprites/slash.png similarity index 100% rename from graphics/battle_anims/sprites/183.png rename to graphics/battle_anims/sprites/slash.png diff --git a/graphics/battle_anims/sprites/286.pal b/graphics/battle_anims/sprites/slash_2.pal similarity index 100% rename from graphics/battle_anims/sprites/286.pal rename to graphics/battle_anims/sprites/slash_2.pal diff --git a/graphics/battle_anims/sprites/067.pal b/graphics/battle_anims/sprites/sleep_powder.pal similarity index 100% rename from graphics/battle_anims/sprites/067.pal rename to graphics/battle_anims/sprites/sleep_powder.pal diff --git a/graphics/battle_anims/sprites/155.png b/graphics/battle_anims/sprites/small_bubbles.png similarity index 100% rename from graphics/battle_anims/sprites/155.png rename to graphics/battle_anims/sprites/small_bubbles.png diff --git a/graphics/battle_anims/sprites/029.png b/graphics/battle_anims/sprites/small_ember.png similarity index 100% rename from graphics/battle_anims/sprites/029.png rename to graphics/battle_anims/sprites/small_ember.png diff --git a/graphics/battle_anims/sprites/248.png b/graphics/battle_anims/sprites/small_red_eye.png similarity index 100% rename from graphics/battle_anims/sprites/248.png rename to graphics/battle_anims/sprites/small_red_eye.png diff --git a/graphics/battle_anims/sprites/255.png b/graphics/battle_anims/sprites/smellingsalt_effect.png similarity index 100% rename from graphics/battle_anims/sprites/255.png rename to graphics/battle_anims/sprites/smellingsalt_effect.png diff --git a/graphics/battle_anims/sprites/133.png b/graphics/battle_anims/sprites/smoke.png similarity index 100% rename from graphics/battle_anims/sprites/133.png rename to graphics/battle_anims/sprites/smoke.png diff --git a/graphics/battle_anims/sprites/134.png b/graphics/battle_anims/sprites/smoke_2.png similarity index 100% rename from graphics/battle_anims/sprites/134.png rename to graphics/battle_anims/sprites/smoke_2.png diff --git a/graphics/battle_anims/sprites/197.png b/graphics/battle_anims/sprites/snore_z.png similarity index 100% rename from graphics/battle_anims/sprites/197.png rename to graphics/battle_anims/sprites/snore_z.png diff --git a/graphics/battle_anims/sprites/088.png b/graphics/battle_anims/sprites/snowball.png similarity index 100% rename from graphics/battle_anims/sprites/088.png rename to graphics/battle_anims/sprites/snowball.png diff --git a/graphics/battle_anims/sprites/159.pal b/graphics/battle_anims/sprites/spark.pal similarity index 100% rename from graphics/battle_anims/sprites/159.pal rename to graphics/battle_anims/sprites/spark.pal diff --git a/graphics/battle_anims/sprites/001_0.png b/graphics/battle_anims/sprites/spark_0.png similarity index 100% rename from graphics/battle_anims/sprites/001_0.png rename to graphics/battle_anims/sprites/spark_0.png diff --git a/graphics/battle_anims/sprites/001_1.png b/graphics/battle_anims/sprites/spark_1.png similarity index 100% rename from graphics/battle_anims/sprites/001_1.png rename to graphics/battle_anims/sprites/spark_1.png diff --git a/graphics/battle_anims/sprites/011.png b/graphics/battle_anims/sprites/spark_2.png similarity index 100% rename from graphics/battle_anims/sprites/011.png rename to graphics/battle_anims/sprites/spark_2.png diff --git a/graphics/battle_anims/sprites/173.png b/graphics/battle_anims/sprites/spark_h.png similarity index 100% rename from graphics/battle_anims/sprites/173.png rename to graphics/battle_anims/sprites/spark_h.png diff --git a/graphics/battle_anims/sprites/048.png b/graphics/battle_anims/sprites/sparkle_1.png similarity index 100% rename from graphics/battle_anims/sprites/048.png rename to graphics/battle_anims/sprites/sparkle_1.png diff --git a/graphics/battle_anims/sprites/049.pal b/graphics/battle_anims/sprites/sparkle_2.pal similarity index 100% rename from graphics/battle_anims/sprites/049.pal rename to graphics/battle_anims/sprites/sparkle_2.pal diff --git a/graphics/battle_anims/sprites/070.png b/graphics/battle_anims/sprites/sparkle_3.png similarity index 100% rename from graphics/battle_anims/sprites/070.png rename to graphics/battle_anims/sprites/sparkle_3.png diff --git a/graphics/battle_anims/sprites/071.png b/graphics/battle_anims/sprites/sparkle_4.png similarity index 100% rename from graphics/battle_anims/sprites/071.png rename to graphics/battle_anims/sprites/sparkle_4.png diff --git a/graphics/battle_anims/sprites/271.png b/graphics/battle_anims/sprites/sparkle_6.png similarity index 100% rename from graphics/battle_anims/sprites/271.png rename to graphics/battle_anims/sprites/sparkle_6.png diff --git a/graphics/battle_anims/sprites/207.png b/graphics/battle_anims/sprites/speed_dust.png similarity index 100% rename from graphics/battle_anims/sprites/207.png rename to graphics/battle_anims/sprites/speed_dust.png diff --git a/graphics/battle_anims/sprites/185.png b/graphics/battle_anims/sprites/sphere_to_cube.png similarity index 100% rename from graphics/battle_anims/sprites/185.png rename to graphics/battle_anims/sprites/sphere_to_cube.png diff --git a/graphics/battle_anims/sprites/181.png b/graphics/battle_anims/sprites/spider_web.png similarity index 100% rename from graphics/battle_anims/sprites/181.png rename to graphics/battle_anims/sprites/spider_web.png diff --git a/graphics/battle_anims/sprites/152.png b/graphics/battle_anims/sprites/spikes.png similarity index 100% rename from graphics/battle_anims/sprites/152.png rename to graphics/battle_anims/sprites/spikes.png diff --git a/graphics/battle_anims/sprites/034.png b/graphics/battle_anims/sprites/spinning_fire.png similarity index 100% rename from graphics/battle_anims/sprites/034.png rename to graphics/battle_anims/sprites/spinning_fire.png diff --git a/graphics/battle_anims/sprites/062.png b/graphics/battle_anims/sprites/spinning_green_orbs.png similarity index 100% rename from graphics/battle_anims/sprites/062.png rename to graphics/battle_anims/sprites/spinning_green_orbs.png diff --git a/graphics/battle_anims/sprites/196.png b/graphics/battle_anims/sprites/spiral.png similarity index 100% rename from graphics/battle_anims/sprites/196.png rename to graphics/battle_anims/sprites/spiral.png diff --git a/graphics/battle_anims/sprites/272.png b/graphics/battle_anims/sprites/splash.png similarity index 100% rename from graphics/battle_anims/sprites/272.png rename to graphics/battle_anims/sprites/splash.png diff --git a/graphics/battle_anims/sprites/158.png b/graphics/battle_anims/sprites/spore.png similarity index 100% rename from graphics/battle_anims/sprites/158.png rename to graphics/battle_anims/sprites/spore.png diff --git a/graphics/battle_anims/sprites/227.png b/graphics/battle_anims/sprites/spotlight.png similarity index 100% rename from graphics/battle_anims/sprites/227.png rename to graphics/battle_anims/sprites/spotlight.png diff --git a/graphics/battle_anims/sprites/110.png b/graphics/battle_anims/sprites/sprout.png similarity index 100% rename from graphics/battle_anims/sprites/110.png rename to graphics/battle_anims/sprites/sprout.png diff --git a/graphics/battle_anims/sprites/179.png b/graphics/battle_anims/sprites/string.png similarity index 100% rename from graphics/battle_anims/sprites/179.png rename to graphics/battle_anims/sprites/string.png diff --git a/graphics/battle_anims/sprites/094.png b/graphics/battle_anims/sprites/string_2.png similarity index 100% rename from graphics/battle_anims/sprites/094.png rename to graphics/battle_anims/sprites/string_2.png diff --git a/graphics/battle_anims/sprites/068.pal b/graphics/battle_anims/sprites/stun_spore.pal similarity index 100% rename from graphics/battle_anims/sprites/068.pal rename to graphics/battle_anims/sprites/stun_spore.pal diff --git a/graphics/battle_anims/sprites/157.png b/graphics/battle_anims/sprites/sunlight.png similarity index 100% rename from graphics/battle_anims/sprites/157.png rename to graphics/battle_anims/sprites/sunlight.png diff --git a/graphics/battle_anims/sprites/273.png b/graphics/battle_anims/sprites/sweat_bead.png similarity index 100% rename from graphics/battle_anims/sprites/273.png rename to graphics/battle_anims/sprites/sweat_bead.png diff --git a/graphics/battle_anims/sprites/243.png b/graphics/battle_anims/sprites/sweat_drop.png similarity index 100% rename from graphics/battle_anims/sprites/243.png rename to graphics/battle_anims/sprites/sweat_drop.png diff --git a/graphics/battle_anims/sprites/222.png b/graphics/battle_anims/sprites/swipe.png similarity index 100% rename from graphics/battle_anims/sprites/222.png rename to graphics/battle_anims/sprites/swipe.png diff --git a/graphics/battle_anims/sprites/005.png b/graphics/battle_anims/sprites/sword.png similarity index 100% rename from graphics/battle_anims/sprites/005.png rename to graphics/battle_anims/sprites/sword.png diff --git a/graphics/battle_anims/sprites/090.png b/graphics/battle_anims/sprites/sword_2.png similarity index 100% rename from graphics/battle_anims/sprites/090.png rename to graphics/battle_anims/sprites/sword_2.png diff --git a/graphics/battle_anims/sprites/247.png b/graphics/battle_anims/sprites/tag_hand.png similarity index 100% rename from graphics/battle_anims/sprites/247.png rename to graphics/battle_anims/sprites/tag_hand.png diff --git a/graphics/battle_anims/sprites/189.png b/graphics/battle_anims/sprites/teal_alert.png similarity index 100% rename from graphics/battle_anims/sprites/189.png rename to graphics/battle_anims/sprites/teal_alert.png diff --git a/graphics/battle_anims/sprites/118.png b/graphics/battle_anims/sprites/teeth.png similarity index 100% rename from graphics/battle_anims/sprites/118.png rename to graphics/battle_anims/sprites/teeth.png diff --git a/graphics/battle_anims/sprites/186.png b/graphics/battle_anims/sprites/tendrils.png similarity index 100% rename from graphics/battle_anims/sprites/186.png rename to graphics/battle_anims/sprites/tendrils.png diff --git a/graphics/battle_anims/sprites/203.png b/graphics/battle_anims/sprites/thin_ring.png similarity index 100% rename from graphics/battle_anims/sprites/203.png rename to graphics/battle_anims/sprites/thin_ring.png diff --git a/graphics/battle_anims/sprites/209.png b/graphics/battle_anims/sprites/thought_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/209.png rename to graphics/battle_anims/sprites/thought_bubble.png diff --git a/graphics/battle_anims/sprites/015.png b/graphics/battle_anims/sprites/tied_bag.png similarity index 100% rename from graphics/battle_anims/sprites/015.png rename to graphics/battle_anims/sprites/tied_bag.png diff --git a/graphics/battle_anims/sprites/132.png b/graphics/battle_anims/sprites/tongue.png similarity index 100% rename from graphics/battle_anims/sprites/132.png rename to graphics/battle_anims/sprites/tongue.png diff --git a/graphics/battle_anims/sprites/208.png b/graphics/battle_anims/sprites/torn_metal.png similarity index 100% rename from graphics/battle_anims/sprites/208.png rename to graphics/battle_anims/sprites/torn_metal.png diff --git a/graphics/battle_anims/sprites/151.png b/graphics/battle_anims/sprites/toxic_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/151.png rename to graphics/battle_anims/sprites/toxic_bubble.png diff --git a/graphics/battle_anims/sprites/230.png b/graphics/battle_anims/sprites/tri_force_triangle.png similarity index 100% rename from graphics/battle_anims/sprites/230.png rename to graphics/battle_anims/sprites/tri_force_triangle.png diff --git a/graphics/battle_anims/sprites/121.png b/graphics/battle_anims/sprites/unknown.png similarity index 100% rename from graphics/battle_anims/sprites/121.png rename to graphics/battle_anims/sprites/unknown.png diff --git a/graphics/battle_anims/sprites/089.png b/graphics/battle_anims/sprites/vine.png similarity index 100% rename from graphics/battle_anims/sprites/089.png rename to graphics/battle_anims/sprites/vine.png diff --git a/graphics/battle_anims/sprites/117.png b/graphics/battle_anims/sprites/vine_2.png similarity index 100% rename from graphics/battle_anims/sprites/117.png rename to graphics/battle_anims/sprites/vine_2.png diff --git a/graphics/battle_anims/sprites/178.png b/graphics/battle_anims/sprites/void_lines.png similarity index 100% rename from graphics/battle_anims/sprites/178.png rename to graphics/battle_anims/sprites/void_lines.png diff --git a/graphics/battle_anims/sprites/201.png b/graphics/battle_anims/sprites/warm_rock.png similarity index 100% rename from graphics/battle_anims/sprites/201.png rename to graphics/battle_anims/sprites/warm_rock.png diff --git a/graphics/battle_anims/sprites/113.png b/graphics/battle_anims/sprites/water_column.png similarity index 100% rename from graphics/battle_anims/sprites/113.png rename to graphics/battle_anims/sprites/water_column.png diff --git a/graphics/battle_anims/sprites/107.png b/graphics/battle_anims/sprites/water_droplet.png similarity index 100% rename from graphics/battle_anims/sprites/107.png rename to graphics/battle_anims/sprites/water_droplet.png diff --git a/graphics/battle_anims/sprites/108.png b/graphics/battle_anims/sprites/water_droplet_2.png similarity index 100% rename from graphics/battle_anims/sprites/108.png rename to graphics/battle_anims/sprites/water_droplet_2.png diff --git a/graphics/battle_anims/sprites/148.png b/graphics/battle_anims/sprites/water_impact.png similarity index 100% rename from graphics/battle_anims/sprites/148.png rename to graphics/battle_anims/sprites/water_impact.png diff --git a/graphics/battle_anims/sprites/149.png b/graphics/battle_anims/sprites/water_orb.png similarity index 100% rename from graphics/battle_anims/sprites/149.png rename to graphics/battle_anims/sprites/water_orb.png diff --git a/graphics/battle_anims/sprites/025.png b/graphics/battle_anims/sprites/waving_hand.png similarity index 100% rename from graphics/battle_anims/sprites/025.png rename to graphics/battle_anims/sprites/waving_hand.png diff --git a/graphics/battle_anims/sprites/283.png b/graphics/battle_anims/sprites/weather_ball.png similarity index 100% rename from graphics/battle_anims/sprites/283.png rename to graphics/battle_anims/sprites/weather_ball.png diff --git a/graphics/battle_anims/sprites/098.png b/graphics/battle_anims/sprites/web.png similarity index 100% rename from graphics/battle_anims/sprites/098.png rename to graphics/battle_anims/sprites/web.png diff --git a/graphics/battle_anims/sprites/180.png b/graphics/battle_anims/sprites/web_thread.png similarity index 100% rename from graphics/battle_anims/sprites/180.png rename to graphics/battle_anims/sprites/web_thread.png diff --git a/graphics/battle_anims/sprites/287.pal b/graphics/battle_anims/sprites/whip_hit.pal similarity index 100% rename from graphics/battle_anims/sprites/287.pal rename to graphics/battle_anims/sprites/whip_hit.pal diff --git a/graphics/battle_anims/sprites/128.png b/graphics/battle_anims/sprites/whirlwind.png similarity index 100% rename from graphics/battle_anims/sprites/128.png rename to graphics/battle_anims/sprites/whirlwind.png diff --git a/graphics/battle_anims/sprites/129.png b/graphics/battle_anims/sprites/whirlwind_2.png similarity index 100% rename from graphics/battle_anims/sprites/129.png rename to graphics/battle_anims/sprites/whirlwind_2.png diff --git a/graphics/battle_anims/sprites/162.png b/graphics/battle_anims/sprites/whirlwind_lines.png similarity index 100% rename from graphics/battle_anims/sprites/162.png rename to graphics/battle_anims/sprites/whirlwind_lines.png diff --git a/graphics/battle_anims/sprites/120.png b/graphics/battle_anims/sprites/white_bag.png similarity index 100% rename from graphics/battle_anims/sprites/120.png rename to graphics/battle_anims/sprites/white_bag.png diff --git a/graphics/battle_anims/sprites/267.pal b/graphics/battle_anims/sprites/white_circle_of_light.pal similarity index 100% rename from graphics/battle_anims/sprites/267.pal rename to graphics/battle_anims/sprites/white_circle_of_light.pal diff --git a/graphics/battle_anims/sprites/270.png b/graphics/battle_anims/sprites/white_feather.png similarity index 100% rename from graphics/battle_anims/sprites/270.png rename to graphics/battle_anims/sprites/white_feather.png diff --git a/graphics/battle_anims/sprites/188.png b/graphics/battle_anims/sprites/white_shadow.png similarity index 100% rename from graphics/battle_anims/sprites/188.png rename to graphics/battle_anims/sprites/white_shadow.png diff --git a/graphics/battle_anims/sprites/232.png b/graphics/battle_anims/sprites/wisp_fire.png similarity index 100% rename from graphics/battle_anims/sprites/232.png rename to graphics/battle_anims/sprites/wisp_fire.png diff --git a/graphics/battle_anims/sprites/231.png b/graphics/battle_anims/sprites/wisp_orb.png similarity index 100% rename from graphics/battle_anims/sprites/231.png rename to graphics/battle_anims/sprites/wisp_orb.png diff --git a/graphics/battle_anims/sprites/250.png b/graphics/battle_anims/sprites/x_sign.png similarity index 100% rename from graphics/battle_anims/sprites/250.png rename to graphics/battle_anims/sprites/x_sign.png diff --git a/graphics/battle_anims/sprites/013.png b/graphics/battle_anims/sprites/yellow_ball.png similarity index 100% rename from graphics/battle_anims/sprites/013.png rename to graphics/battle_anims/sprites/yellow_ball.png diff --git a/graphics/battle_anims/sprites/174.png b/graphics/battle_anims/sprites/yellow_star.png similarity index 100% rename from graphics/battle_anims/sprites/174.png rename to graphics/battle_anims/sprites/yellow_star.png diff --git a/graphics/battle_anims/sprites/054.png b/graphics/battle_anims/sprites/yellow_unk.png similarity index 100% rename from graphics/battle_anims/sprites/054.png rename to graphics/battle_anims/sprites/yellow_unk.png diff --git a/graphics/battle_anims/sprites/060.png b/graphics/battle_anims/sprites/yellow_unk_2.png similarity index 100% rename from graphics/battle_anims/sprites/060.png rename to graphics/battle_anims/sprites/yellow_unk_2.png diff --git a/graphics/battle_anims/sprites/059.png b/graphics/battle_anims/sprites/z.png similarity index 100% rename from graphics/battle_anims/sprites/059.png rename to graphics/battle_anims/sprites/z.png diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 0516a8a4dc..bc51b1e1fb 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -325,10 +325,10 @@ $(BATINTGFXDIR)/textbox.gbapal: $(BATINTGFXDIR)/textbox_0.gbapal \ $(BATINTGFXDIR)/textbox_1.gbapal @cat $^ >$@ -$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \ - $(BTLANMSPRGFXDIR)/010_1.4bpp \ - $(BTLANMSPRGFXDIR)/010_2.4bpp \ - $(BTLANMSPRGFXDIR)/010_3.4bpp +$(BTLANMSPRGFXDIR)/ice_cube.4bpp: $(BTLANMSPRGFXDIR)/ice_cube_0.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_1.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_2.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_3.4bpp @cat $^ >$@ $(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal \ @@ -384,23 +384,23 @@ $(UNUSEDGFXDIR)/old_contest_2.4bpp: $(UNUSEDGFXDIR)/old_contest_2_1.4bpp \ $(UNKNOWNGFXDIR)/unknown_C19470.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 36 -$(BTLANMSPRGFXDIR)/141.4bpp: $(BTLANMSPRGFXDIR)/141_0.4bpp \ - $(BTLANMSPRGFXDIR)/141_1.4bpp \ - $(BTLANMSPRGFXDIR)/141_2.4bpp \ - $(BTLANMSPRGFXDIR)/141_3.4bpp \ - $(BTLANMSPRGFXDIR)/141_4.4bpp +$(BTLANMSPRGFXDIR)/ice_crystals.4bpp: $(BTLANMSPRGFXDIR)/ice_crystals_0.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_1.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_2.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_3.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_4.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/074.4bpp: $(BTLANMSPRGFXDIR)/074_0.4bpp \ - $(BTLANMSPRGFXDIR)/074_1.4bpp +$(BTLANMSPRGFXDIR)/mud_sand.4bpp: $(BTLANMSPRGFXDIR)/mud_sand_0.4bpp \ + $(BTLANMSPRGFXDIR)/mud_sand_1.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/159.4bpp: $(BTLANMSPRGFXDIR)/159_0.4bpp \ - $(BTLANMSPRGFXDIR)/159_1.4bpp +$(BTLANMSPRGFXDIR)/flower.4bpp: $(BTLANMSPRGFXDIR)/flower_0.4bpp \ + $(BTLANMSPRGFXDIR)/flower_1.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/001.4bpp: $(BTLANMSPRGFXDIR)/001_0.4bpp \ - $(BTLANMSPRGFXDIR)/001_1.4bpp +$(BTLANMSPRGFXDIR)/spark.4bpp: $(BTLANMSPRGFXDIR)/spark_0.4bpp \ + $(BTLANMSPRGFXDIR)/spark_1.4bpp @cat $^ >$@ $(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index f660133890..6909d836bf 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -11,10 +11,10 @@ #define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1) #define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2) #define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3) -#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4) // unused +#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4) #define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5) #define ANIM_TAG_SEED (ANIM_SPRITES_START + 6) -#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7) // unused +#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7) #define ANIM_TAG_PINK_ORB (ANIM_SPRITES_START + 8) // unused #define ANIM_TAG_GUST (ANIM_SPRITES_START + 9) #define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10) @@ -28,8 +28,8 @@ #define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18) #define ANIM_TAG_GLASS (ANIM_SPRITES_START + 19) // unused #define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20) -#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21) // unused -#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22) // unused +#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21) +#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22) #define ANIM_TAG_BLUE_SHARDS (ANIM_SPRITES_START + 23) // unused #define ANIM_TAG_CLOSING_EYE (ANIM_SPRITES_START + 24) // unused #define ANIM_TAG_WAVING_HAND (ANIM_SPRITES_START + 25) // unused @@ -39,7 +39,7 @@ #define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29) #define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30) #define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31) -#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32) // unused +#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32) #define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33) #define ANIM_TAG_SPINNING_FIRE (ANIM_SPRITES_START + 34) // unused #define ANIM_TAG_FIRE_PLUME (ANIM_SPRITES_START + 35) @@ -58,7 +58,7 @@ #define ANIM_TAG_SPARKLE_1 (ANIM_SPRITES_START + 48) #define ANIM_TAG_SPARKLE_2 (ANIM_SPRITES_START + 49) #define ANIM_TAG_HUMANOID_FOOT (ANIM_SPRITES_START + 50) -#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51) // unused +#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51) #define ANIM_TAG_HUMANOID_HAND (ANIM_SPRITES_START + 52) // unused #define ANIM_TAG_NOISE_LINE (ANIM_SPRITES_START + 53) #define ANIM_TAG_YELLOW_UNK (ANIM_SPRITES_START + 54) // unused @@ -185,7 +185,7 @@ #define ANIM_TAG_LARGE_FRESH_EGG (ANIM_SPRITES_START + 175) #define ANIM_TAG_SHADOW_BALL (ANIM_SPRITES_START + 176) #define ANIM_TAG_LICK (ANIM_SPRITES_START + 177) -#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178) // unused +#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178) #define ANIM_TAG_STRING (ANIM_SPRITES_START + 179) #define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180) #define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181) @@ -276,7 +276,7 @@ #define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266) #define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267) #define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268) -#define ANIM_TAG_RED_BRICK (ANIM_SPRITES_START + 269) // unused +#define ANIM_TAG_RED_BRICK (ANIM_SPRITES_START + 269) #define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270) #define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271) #define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272) diff --git a/include/graphics.h b/include/graphics.h index 30ca2af824..c7d2786682 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4122,568 +4122,568 @@ extern const u32 gBattleArenaJudgementSymbolsGfx[]; extern const u32 gBattleArenaJudgementSymbolsPalette[]; extern const u32 gContest2Pal[]; -extern const u32 gBattleAnimSpriteSheet_000[]; -extern const u32 gBattleAnimSpriteSheet_001[]; -extern const u32 gBattleAnimSpriteSheet_002[]; -extern const u32 gBattleAnimSpriteSheet_003[]; -extern const u32 gBattleAnimSpriteSheet_004[]; -extern const u32 gBattleAnimSpriteSheet_005[]; -extern const u32 gBattleAnimSpriteSheet_006[]; -extern const u32 gBattleAnimSpriteSheet_007[]; -extern const u32 gBattleAnimSpriteSheet_008[]; -extern const u32 gBattleAnimSpriteSheet_009[]; -extern const u32 gBattleAnimSpriteSheet_010[]; -extern const u32 gBattleAnimSpriteSheet_011[]; -extern const u32 gBattleAnimSpriteSheet_012[]; -extern const u32 gBattleAnimSpriteSheet_013[]; -extern const u32 gBattleAnimSpriteSheet_014[]; -extern const u32 gBattleAnimSpriteSheet_015[]; -extern const u32 gBattleAnimSpriteSheet_016[]; -extern const u32 gBattleAnimSpriteSheet_017[]; -extern const u32 gBattleAnimSpriteSheet_018[]; -extern const u32 gBattleAnimSpriteSheet_019[]; -extern const u32 gBattleAnimSpriteSheet_020[]; -extern const u32 gBattleAnimSpriteSheet_021[]; -extern const u32 gBattleAnimSpriteSheet_021[]; -extern const u32 gBattleAnimSpriteSheet_023[]; -extern const u32 gBattleAnimSpriteSheet_024[]; -extern const u32 gBattleAnimSpriteSheet_025[]; -extern const u32 gBattleAnimSpriteSheet_026[]; -extern const u32 gBattleAnimSpriteSheet_027[]; -extern const u32 gBattleAnimSpriteSheet_028[]; -extern const u32 gBattleAnimSpriteSheet_029[]; -extern const u32 gBattleAnimSpriteSheet_030[]; -extern const u32 gBattleAnimSpriteSheet_031[]; -extern const u32 gBattleAnimSpriteSheet_032[]; -extern const u32 gBattleAnimSpriteSheet_033[]; -extern const u32 gBattleAnimSpriteSheet_034[]; -extern const u32 gBattleAnimSpriteSheet_035[]; -extern const u32 gBattleAnimSpriteSheet_036[]; -extern const u32 gBattleAnimSpriteSheet_037[]; -extern const u32 gBattleAnimSpriteSheet_038[]; -extern const u32 gBattleAnimSpriteSheet_039[]; -extern const u32 gBattleAnimSpriteSheet_040[]; -extern const u32 gBattleAnimSpriteSheet_041[]; -extern const u32 gBattleAnimSpriteSheet_042[]; -extern const u32 gBattleAnimSpriteSheet_043[]; -extern const u32 gBattleAnimSpriteSheet_044[]; -extern const u32 gBattleAnimSpriteSheet_045[]; -extern const u32 gBattleAnimSpriteSheet_046[]; -extern const u32 gBattleAnimSpriteSheet_046[]; -extern const u32 gBattleAnimSpriteSheet_048[]; -extern const u32 gBattleAnimSpriteSheet_048[]; -extern const u32 gBattleAnimSpriteSheet_050[]; -extern const u32 gBattleAnimSpriteSheet_051[]; -extern const u32 gBattleAnimSpriteSheet_052[]; -extern const u32 gBattleAnimSpriteSheet_053[]; +extern const u32 gBattleAnimSpriteSheet_Bone[]; +extern const u32 gBattleAnimSpriteSheet_Spark[]; +extern const u32 gBattleAnimSpriteSheet_Pencil[]; +extern const u32 gBattleAnimSpriteSheet_AirWave[]; +extern const u32 gBattleAnimSpriteSheet_Orb[]; +extern const u32 gBattleAnimSpriteSheet_Sword[]; +extern const u32 gBattleAnimSpriteSheet_Seed[]; +extern const u32 gBattleAnimSpriteSheet_Explosion6[]; +extern const u32 gBattleAnimSpriteSheet_PinkOrb[]; +extern const u32 gBattleAnimSpriteSheet_Gust[]; +extern const u32 gBattleAnimSpriteSheet_IceCube[]; +extern const u32 gBattleAnimSpriteSheet_Spark2[]; +extern const u32 gBattleAnimSpriteSheet_Orange[]; +extern const u32 gBattleAnimSpriteSheet_YellowBall[]; +extern const u32 gBattleAnimSpriteSheet_LockOn[]; +extern const u32 gBattleAnimSpriteSheet_TiedBag[]; +extern const u32 gBattleAnimSpriteSheet_BlackSmoke[]; +extern const u32 gBattleAnimSpriteSheet_BlackBall[]; +extern const u32 gBattleAnimSpriteSheet_Conversion[]; +extern const u32 gBattleAnimSpriteSheet_Glass[]; +extern const u32 gBattleAnimSpriteSheet_HornHit[]; +extern const u32 gBattleAnimSpriteSheet_Hit[]; +extern const u32 gBattleAnimSpriteSheet_Hit[]; +extern const u32 gBattleAnimSpriteSheet_BlueShards[]; +extern const u32 gBattleAnimSpriteSheet_ClosingEye[]; +extern const u32 gBattleAnimSpriteSheet_WavingHand[]; +extern const u32 gBattleAnimSpriteSheet_HitDuplicate[]; +extern const u32 gBattleAnimSpriteSheet_Leer[]; +extern const u32 gBattleAnimSpriteSheet_BlueBurst[]; +extern const u32 gBattleAnimSpriteSheet_SmallEmber[]; +extern const u32 gBattleAnimSpriteSheet_GraySmoke[]; +extern const u32 gBattleAnimSpriteSheet_BlueStar[]; +extern const u32 gBattleAnimSpriteSheet_BubbleBurst[]; +extern const u32 gBattleAnimSpriteSheet_Fire[]; +extern const u32 gBattleAnimSpriteSheet_SpinningFire[]; +extern const u32 gBattleAnimSpriteSheet_FirePlume[]; +extern const u32 gBattleAnimSpriteSheet_Lightning2[]; +extern const u32 gBattleAnimSpriteSheet_Lightning[]; +extern const u32 gBattleAnimSpriteSheet_ClawSlash2[]; +extern const u32 gBattleAnimSpriteSheet_ClawSlash[]; +extern const u32 gBattleAnimSpriteSheet_Scratch3[]; +extern const u32 gBattleAnimSpriteSheet_Scratch2[]; +extern const u32 gBattleAnimSpriteSheet_BubbleBurst2[]; +extern const u32 gBattleAnimSpriteSheet_IceChunk[]; +extern const u32 gBattleAnimSpriteSheet_Glass2[]; +extern const u32 gBattleAnimSpriteSheet_PinkHeart2[]; +extern const u32 gBattleAnimSpriteSheet_SapDrip[]; +extern const u32 gBattleAnimSpriteSheet_SapDrip[]; +extern const u32 gBattleAnimSpriteSheet_Sparkle1[]; +extern const u32 gBattleAnimSpriteSheet_Sparkle1[]; +extern const u32 gBattleAnimSpriteSheet_HumanoidFoot[]; +extern const u32 gBattleAnimSpriteSheet_MonsterFoot[]; +extern const u32 gBattleAnimSpriteSheet_HumanoidHand[]; +extern const u32 gBattleAnimSpriteSheet_NoiseLine[]; extern const u32 gUnknown_08C2EA50[]; extern const u32 gUnknown_08C2EA9C[]; -extern const u32 gBattleAnimSpriteSheet_054[]; -extern const u32 gBattleAnimSpriteSheet_055[]; -extern const u32 gBattleAnimSpriteSheet_056[]; -extern const u32 gBattleAnimSpriteSheet_057[]; -extern const u32 gBattleAnimSpriteSheet_058[]; -extern const u32 gBattleAnimSpriteSheet_059[]; -extern const u32 gBattleAnimSpriteSheet_060[]; -extern const u32 gBattleAnimSpriteSheet_061[]; -extern const u32 gBattleAnimSpriteSheet_062[]; -extern const u32 gBattleAnimSpriteSheet_063[]; -extern const u32 gBattleAnimSpriteSheet_064[]; -extern const u32 gBattleAnimSpriteSheet_065[]; -extern const u32 gBattleAnimSpriteSheet_066[]; -extern const u32 gBattleAnimSpriteSheet_070[]; -extern const u32 gBattleAnimSpriteSheet_071[]; -extern const u32 gBattleAnimSpriteSheet_072[]; -extern const u32 gBattleAnimSpriteSheet_073[]; -extern const u32 gBattleAnimSpriteSheet_074[]; -extern const u32 gBattleAnimSpriteSheet_075[]; -extern const u32 gBattleAnimSpriteSheet_076[]; -extern const u32 gBattleAnimSpriteSheet_077[]; -extern const u32 gBattleAnimSpriteSheet_078[]; -extern const u32 gBattleAnimSpriteSheet_079[]; -extern const u32 gBattleAnimSpriteSheet_080[]; -extern const u32 gBattleAnimSpriteSheet_081[]; -extern const u32 gBattleAnimSpriteSheet_082[]; -extern const u32 gBattleAnimSpriteSheet_083[]; -extern const u32 gBattleAnimSpriteSheet_084[]; -extern const u32 gBattleAnimSpriteSheet_085[]; -extern const u32 gBattleAnimSpriteSheet_086[]; -extern const u32 gBattleAnimSpriteSheet_087[]; -extern const u32 gBattleAnimSpriteSheet_088[]; -extern const u32 gBattleAnimSpriteSheet_089[]; -extern const u32 gBattleAnimSpriteSheet_090[]; -extern const u32 gBattleAnimSpriteSheet_091[]; -extern const u32 gBattleAnimSpriteSheet_092[]; -extern const u32 gBattleAnimSpriteSheet_093[]; -extern const u32 gBattleAnimSpriteSheet_094[]; -extern const u32 gBattleAnimSpriteSheet_095[]; -extern const u32 gBattleAnimSpriteSheet_096[]; -extern const u32 gBattleAnimSpriteSheet_097[]; -extern const u32 gBattleAnimSpriteSheet_098[]; -extern const u32 gBattleAnimSpriteSheet_099[]; -extern const u32 gBattleAnimSpriteSheet_100[]; -extern const u32 gBattleAnimSpriteSheet_101[]; -extern const u32 gBattleAnimSpriteSheet_102[]; -extern const u32 gBattleAnimSpriteSheet_103[]; -extern const u32 gBattleAnimSpriteSheet_104[]; -extern const u32 gBattleAnimSpriteSheet_105[]; -extern const u32 gBattleAnimSpriteSheet_106[]; -extern const u32 gBattleAnimSpriteSheet_107[]; -extern const u32 gBattleAnimSpriteSheet_108[]; -extern const u32 gBattleAnimSpriteSheet_109[]; -extern const u32 gBattleAnimSpriteSheet_110[]; -extern const u32 gBattleAnimSpriteSheet_111[]; -extern const u32 gBattleAnimSpriteSheet_112[]; -extern const u32 gBattleAnimSpriteSheet_113[]; -extern const u32 gBattleAnimSpriteSheet_114[]; -extern const u32 gBattleAnimSpriteSheet_115[]; -extern const u32 gBattleAnimSpriteSheet_116[]; -extern const u32 gBattleAnimSpriteSheet_117[]; -extern const u32 gBattleAnimSpriteSheet_118[]; -extern const u32 gBattleAnimSpriteSheet_119[]; -extern const u32 gBattleAnimSpriteSheet_120[]; -extern const u32 gBattleAnimSpriteSheet_121[]; -extern const u32 gBattleAnimSpriteSheet_122[]; -extern const u32 gBattleAnimSpriteSheet_123[]; -extern const u32 gBattleAnimSpriteSheet_124[]; -extern const u32 gBattleAnimSpriteSheet_125[]; -extern const u32 gBattleAnimSpriteSheet_126[]; -extern const u32 gBattleAnimSpriteSheet_127[]; -extern const u32 gBattleAnimSpriteSheet_128[]; -extern const u32 gBattleAnimSpriteSheet_129[]; -extern const u32 gBattleAnimSpriteSheet_130[]; -extern const u32 gBattleAnimSpriteSheet_131[]; -extern const u32 gBattleAnimSpriteSheet_132[]; -extern const u32 gBattleAnimSpriteSheet_133[]; -extern const u32 gBattleAnimSpriteSheet_134[]; -extern const u32 gBattleAnimSpriteSheet_135[]; +extern const u32 gBattleAnimSpriteSheet_YellowUnk[]; +extern const u32 gBattleAnimSpriteSheet_RedFist[]; +extern const u32 gBattleAnimSpriteSheet_SlamHit[]; +extern const u32 gBattleAnimSpriteSheet_Ring[]; +extern const u32 gBattleAnimSpriteSheet_Rocks[]; +extern const u32 gBattleAnimSpriteSheet_Z[]; +extern const u32 gBattleAnimSpriteSheet_YellowUnk2[]; +extern const u32 gBattleAnimSpriteSheet_AirSlash[]; +extern const u32 gBattleAnimSpriteSheet_SpinningGreenOrbs[]; +extern const u32 gBattleAnimSpriteSheet_Leaf[]; +extern const u32 gBattleAnimSpriteSheet_Finger[]; +extern const u32 gBattleAnimSpriteSheet_PoisonPowder[]; +extern const u32 gBattleAnimSpriteSheet_BrownTriangle[]; +extern const u32 gBattleAnimSpriteSheet_Sparkle3[]; +extern const u32 gBattleAnimSpriteSheet_Sparkle4[]; +extern const u32 gBattleAnimSpriteSheet_MusicNotes[]; +extern const u32 gBattleAnimSpriteSheet_Duck[]; +extern const u32 gBattleAnimSpriteSheet_MudSand[]; +extern const u32 gBattleAnimSpriteSheet_Alert[]; +extern const u32 gBattleAnimSpriteSheet_BlueFlames[]; +extern const u32 gBattleAnimSpriteSheet_BlueFlames2[]; +extern const u32 gBattleAnimSpriteSheet_Shock4[]; +extern const u32 gBattleAnimSpriteSheet_Shock[]; +extern const u32 gBattleAnimSpriteSheet_Bell2[]; +extern const u32 gBattleAnimSpriteSheet_PinkGlove[]; +extern const u32 gBattleAnimSpriteSheet_BlueLines[]; +extern const u32 gBattleAnimSpriteSheet_Impact3[]; +extern const u32 gBattleAnimSpriteSheet_Impact2[]; +extern const u32 gBattleAnimSpriteSheet_Reticle[]; +extern const u32 gBattleAnimSpriteSheet_Breath[]; +extern const u32 gBattleAnimSpriteSheet_Anger[]; +extern const u32 gBattleAnimSpriteSheet_Snowball[]; +extern const u32 gBattleAnimSpriteSheet_Vine[]; +extern const u32 gBattleAnimSpriteSheet_Sword2[]; +extern const u32 gBattleAnimSpriteSheet_Clapping[]; +extern const u32 gBattleAnimSpriteSheet_RedTube[]; +extern const u32 gBattleAnimSpriteSheet_Amnesia[]; +extern const u32 gBattleAnimSpriteSheet_String2[]; +extern const u32 gBattleAnimSpriteSheet_Pencil2[]; +extern const u32 gBattleAnimSpriteSheet_Petal[]; +extern const u32 gBattleAnimSpriteSheet_BentSpoon[]; +extern const u32 gBattleAnimSpriteSheet_Web[]; +extern const u32 gBattleAnimSpriteSheet_MilkBottle[]; +extern const u32 gBattleAnimSpriteSheet_Coin[]; +extern const u32 gBattleAnimSpriteSheet_CrackedEgg[]; +extern const u32 gBattleAnimSpriteSheet_HatchedEgg[]; +extern const u32 gBattleAnimSpriteSheet_FreshEgg[]; +extern const u32 gBattleAnimSpriteSheet_Fangs[]; +extern const u32 gBattleAnimSpriteSheet_Explosion2[]; +extern const u32 gBattleAnimSpriteSheet_Explosion3[]; +extern const u32 gBattleAnimSpriteSheet_WaterDroplet[]; +extern const u32 gBattleAnimSpriteSheet_WaterDroplet2[]; +extern const u32 gBattleAnimSpriteSheet_Seed2[]; +extern const u32 gBattleAnimSpriteSheet_Sprout[]; +extern const u32 gBattleAnimSpriteSheet_RedWand[]; +extern const u32 gBattleAnimSpriteSheet_PurpleGreenUnk[]; +extern const u32 gBattleAnimSpriteSheet_WaterColumn[]; +extern const u32 gBattleAnimSpriteSheet_MudUnk[]; +extern const u32 gBattleAnimSpriteSheet_RainDrops[]; +extern const u32 gBattleAnimSpriteSheet_FurySwipes[]; +extern const u32 gBattleAnimSpriteSheet_Vine2[]; +extern const u32 gBattleAnimSpriteSheet_Teeth[]; +extern const u32 gBattleAnimSpriteSheet_Bone2[]; +extern const u32 gBattleAnimSpriteSheet_WhiteBag[]; +extern const u32 gBattleAnimSpriteSheet_Unknown[]; +extern const u32 gBattleAnimSpriteSheet_PurpleCoral[]; +extern const u32 gBattleAnimSpriteSheet_PurpleDroplet[]; +extern const u32 gBattleAnimSpriteSheet_Shock2[]; +extern const u32 gBattleAnimSpriteSheet_ClosingEye2[]; +extern const u32 gBattleAnimSpriteSheet_MetalBall[]; +extern const u32 gBattleAnimSpriteSheet_MonsterDoll[]; +extern const u32 gBattleAnimSpriteSheet_Whirlwind[]; +extern const u32 gBattleAnimSpriteSheet_Whirlwind2[]; +extern const u32 gBattleAnimSpriteSheet_Explosion4[]; +extern const u32 gBattleAnimSpriteSheet_Explosion5[]; +extern const u32 gBattleAnimSpriteSheet_Tongue[]; +extern const u32 gBattleAnimSpriteSheet_Smoke[]; +extern const u32 gBattleAnimSpriteSheet_Smoke2[]; +extern const u32 gBattleAnimSpriteSheet_Impact[]; extern const u32 gBattleAnimSpriteSheet_Particles[]; -extern const u32 gBattleAnimSpriteSheet_136[]; -extern const u32 gBattleAnimSpriteSheet_137[]; -extern const u32 gBattleAnimSpriteSheet_138[]; -extern const u32 gBattleAnimSpriteSheet_139[]; -extern const u32 gBattleAnimSpriteSheet_140[]; -extern const u32 gBattleAnimSpriteSheet_141[]; -extern const u32 gBattleAnimSpriteSheet_142[]; -extern const u32 gBattleAnimSpriteSheet_143[]; -extern const u32 gBattleAnimSpriteSheet_144[]; -extern const u32 gBattleAnimSpriteSheet_145[]; +extern const u32 gBattleAnimSpriteSheet_CircleImpact[]; +extern const u32 gBattleAnimSpriteSheet_Scratch[]; +extern const u32 gBattleAnimSpriteSheet_Cut[]; +extern const u32 gBattleAnimSpriteSheet_SharpTeeth[]; +extern const u32 gBattleAnimSpriteSheet_RainbowRings[]; +extern const u32 gBattleAnimSpriteSheet_IceCrystals[]; +extern const u32 gBattleAnimSpriteSheet_IceSpikes[]; +extern const u32 gBattleAnimSpriteSheet_HandsAndFeet[]; +extern const u32 gBattleAnimSpriteSheet_MistCloud[]; +extern const u32 gBattleAnimSpriteSheet_Clamp[]; //extern const struct CompressedSpriteSheet gBattleAnimSpriteSheet_146[]; -extern const u32 gBattleAnimSpriteSheet_146[]; -extern const u32 gBattleAnimSpriteSheet_147[]; -extern const u32 gBattleAnimSpriteSheet_148[]; -extern const u32 gBattleAnimSpriteSheet_149[]; -extern const u32 gBattleAnimSpriteSheet_150[]; -extern const u32 gBattleAnimSpriteSheet_151[]; -extern const u32 gBattleAnimSpriteSheet_152[]; -extern const u32 gBattleAnimSpriteSheet_153[]; -extern const u32 gBattleAnimSpriteSheet_154[]; -extern const u32 gBattleAnimSpriteSheet_155[]; -extern const u32 gBattleAnimSpriteSheet_156[]; -extern const u32 gBattleAnimSpriteSheet_157[]; -extern const u32 gBattleAnimSpriteSheet_158[]; -extern const u32 gBattleAnimSpriteSheet_159[]; -extern const u32 gBattleAnimSpriteSheet_160[]; -extern const u32 gBattleAnimSpriteSheet_161[]; -extern const u32 gBattleAnimSpriteSheet_162[]; -extern const u32 gBattleAnimSpriteSheet_163[]; -extern const u32 gBattleAnimSpriteSheet_166[]; -extern const u32 gBattleAnimSpriteSheet_171[]; -extern const u32 gBattleAnimSpriteSheet_173[]; -extern const u32 gBattleAnimSpriteSheet_174[]; -extern const u32 gBattleAnimSpriteSheet_175[]; -extern const u32 gBattleAnimSpriteSheet_176[]; -extern const u32 gBattleAnimSpriteSheet_177[]; -extern const u32 gBattleAnimSpriteSheet_178[]; -extern const u32 gBattleAnimSpriteSheet_179[]; -extern const u32 gBattleAnimSpriteSheet_180[]; -extern const u32 gBattleAnimSpriteSheet_181[]; -extern const u32 gBattleAnimSpriteSheet_182[]; -extern const u32 gBattleAnimSpriteSheet_183[]; -extern const u32 gBattleAnimSpriteSheet_184[]; -extern const u32 gBattleAnimSpriteSheet_185[]; -extern const u32 gBattleAnimSpriteSheet_186[]; -extern const u32 gBattleAnimSpriteSheet_187[]; -extern const u32 gBattleAnimSpriteSheet_188[]; -extern const u32 gBattleAnimSpriteSheet_189[]; -extern const u32 gBattleAnimSpriteSheet_190[]; -extern const u32 gBattleAnimSpriteSheet_191[]; -extern const u32 gBattleAnimSpriteSheet_192[]; -extern const u32 gBattleAnimSpriteSheet_193[]; -extern const u32 gBattleAnimSpriteSheet_194[]; -extern const u32 gBattleAnimSpriteSheet_195[]; -extern const u32 gBattleAnimSpriteSheet_196[]; -extern const u32 gBattleAnimSpriteSheet_197[]; -extern const u32 gBattleAnimSpriteSheet_198[]; -extern const u32 gBattleAnimSpriteSheet_199[]; -extern const u32 gBattleAnimSpriteSheet_200[]; -extern const u32 gBattleAnimSpriteSheet_201[]; -extern const u32 gBattleAnimSpriteSheet_202[]; -extern const u32 gBattleAnimSpriteSheet_203[]; -extern const u32 gBattleAnimSpriteSheet_204[]; -extern const u32 gBattleAnimSpriteSheet_205[]; -extern const u32 gBattleAnimSpriteSheet_206[]; -extern const u32 gBattleAnimSpriteSheet_207[]; -extern const u32 gBattleAnimSpriteSheet_208[]; -extern const u32 gBattleAnimSpriteSheet_209[]; -extern const u32 gBattleAnimSpriteSheet_210[]; -extern const u32 gBattleAnimSpriteSheet_211[]; -extern const u32 gBattleAnimSpriteSheet_212[]; -extern const u32 gBattleAnimSpriteSheet_213[]; -extern const u32 gBattleAnimSpriteSheet_214[]; -extern const u32 gBattleAnimSpriteSheet_215[]; -extern const u32 gBattleAnimSpriteSheet_210[]; -extern const u32 gBattleAnimSpriteSheet_217[]; -extern const u32 gBattleAnimSpriteSheet_218[]; -extern const u32 gBattleAnimSpriteSheet_210[]; -extern const u32 gBattleAnimSpriteSheet_220[]; -extern const u32 gBattleAnimSpriteSheet_221[]; -extern const u32 gBattleAnimSpriteSheet_222[]; -extern const u32 gBattleAnimSpriteSheet_223[]; -extern const u32 gBattleAnimSpriteSheet_224[]; -extern const u32 gBattleAnimSpriteSheet_225[]; -extern const u32 gBattleAnimSpriteSheet_226[]; -extern const u32 gBattleAnimSpriteSheet_227[]; -extern const u32 gBattleAnimSpriteSheet_228[]; -extern const u32 gBattleAnimSpriteSheet_229[]; -extern const u32 gBattleAnimSpriteSheet_230[]; -extern const u32 gBattleAnimSpriteSheet_231[]; -extern const u32 gBattleAnimSpriteSheet_232[]; -extern const u32 gBattleAnimSpriteSheet_233[]; -extern const u32 gBattleAnimSpriteSheet_234[]; -extern const u32 gBattleAnimSpriteSheet_235[]; -extern const u32 gBattleAnimSpriteSheet_235[]; -extern const u32 gBattleAnimSpriteSheet_235[]; -extern const u32 gBattleAnimSpriteSheet_238[]; -extern const u32 gBattleAnimSpriteSheet_239[]; -extern const u32 gBattleAnimSpriteSheet_240[]; -extern const u32 gBattleAnimSpriteSheet_241[]; -extern const u32 gBattleAnimSpriteSheet_242[]; -extern const u32 gBattleAnimSpriteSheet_243[]; -extern const u32 gBattleAnimSpriteSheet_244[]; -extern const u32 gBattleAnimSpriteSheet_245[]; -extern const u32 gBattleAnimSpriteSheet_246[]; -extern const u32 gBattleAnimSpriteSheet_247[]; -extern const u32 gBattleAnimSpriteSheet_248[]; -extern const u32 gBattleAnimSpriteSheet_249[]; -extern const u32 gBattleAnimSpriteSheet_250[]; -extern const u32 gBattleAnimSpriteSheet_251[]; -extern const u32 gBattleAnimSpriteSheet_252[]; -extern const u32 gBattleAnimSpriteSheet_253[]; -extern const u32 gBattleAnimSpriteSheet_254[]; -extern const u32 gBattleAnimSpriteSheet_255[]; -extern const u32 gBattleAnimSpriteSheet_256[]; -extern const u32 gBattleAnimSpriteSheet_257[]; -extern const u32 gBattleAnimSpriteSheet_258[]; -extern const u32 gBattleAnimSpriteSheet_260[]; -extern const u32 gBattleAnimSpriteSheet_261[]; -extern const u32 gBattleAnimSpriteSheet_262[]; -extern const u32 gBattleAnimSpriteSheet_263[]; -extern const u32 gBattleAnimSpriteSheet_264[]; -extern const u32 gBattleAnimSpriteSheet_266[]; -extern const u32 gBattleAnimSpriteSheet_269[]; -extern const u32 gBattleAnimSpriteSheet_270[]; -extern const u32 gBattleAnimSpriteSheet_271[]; -extern const u32 gBattleAnimSpriteSheet_272[]; -extern const u32 gBattleAnimSpriteSheet_273[]; -extern const u32 gBattleAnimSpriteSheet_274[]; -extern const u32 gBattleAnimSpriteSheet_275[]; -extern const u32 gBattleAnimSpriteSheet_276[]; -extern const u32 gBattleAnimSpriteSheet_277[]; -extern const u32 gBattleAnimSpriteSheet_278[]; -extern const u32 gBattleAnimSpriteSheet_279[]; -extern const u32 gBattleAnimSpriteSheet_280[]; -extern const u32 gBattleAnimSpriteSheet_281[]; -extern const u32 gBattleAnimSpriteSheet_282[]; -extern const u32 gBattleAnimSpriteSheet_283[]; +extern const u32 gBattleAnimSpriteSheet_Bubble[]; +extern const u32 gBattleAnimSpriteSheet_Orbs[]; +extern const u32 gBattleAnimSpriteSheet_WaterImpact[]; +extern const u32 gBattleAnimSpriteSheet_WaterOrb[]; +extern const u32 gBattleAnimSpriteSheet_PoisonBubble[]; +extern const u32 gBattleAnimSpriteSheet_ToxicBubble[]; +extern const u32 gBattleAnimSpriteSheet_Spikes[]; +extern const u32 gBattleAnimSpriteSheet_HornHit2[]; +extern const u32 gBattleAnimSpriteSheet_AirWave2[]; +extern const u32 gBattleAnimSpriteSheet_SmallBubbles[]; +extern const u32 gBattleAnimSpriteSheet_RoundShadow[]; +extern const u32 gBattleAnimSpriteSheet_Sunlight[]; +extern const u32 gBattleAnimSpriteSheet_Spore[]; +extern const u32 gBattleAnimSpriteSheet_Flower[]; +extern const u32 gBattleAnimSpriteSheet_RazorLeaf[]; +extern const u32 gBattleAnimSpriteSheet_Needle[]; +extern const u32 gBattleAnimSpriteSheet_WhirlwindLines[]; +extern const u32 gBattleAnimSpriteSheet_GoldRing[]; +extern const u32 gBattleAnimSpriteSheet_GreenLightWall[]; +extern const u32 gBattleAnimSpriteSheet_BlackBall2[]; +extern const u32 gBattleAnimSpriteSheet_SparkH[]; +extern const u32 gBattleAnimSpriteSheet_YellowStar[]; +extern const u32 gBattleAnimSpriteSheet_LargeFreshEgg[]; +extern const u32 gBattleAnimSpriteSheet_ShadowBall[]; +extern const u32 gBattleAnimSpriteSheet_Lick[]; +extern const u32 gBattleAnimSpriteSheet_VoidLines[]; +extern const u32 gBattleAnimSpriteSheet_String[]; +extern const u32 gBattleAnimSpriteSheet_WebThread[]; +extern const u32 gBattleAnimSpriteSheet_SpiderWeb[]; +extern const u32 gBattleAnimSpriteSheet_Lightbulb[]; +extern const u32 gBattleAnimSpriteSheet_Slash[]; +extern const u32 gBattleAnimSpriteSheet_FocusEnergy[]; +extern const u32 gBattleAnimSpriteSheet_SphereToCube[]; +extern const u32 gBattleAnimSpriteSheet_Tendrils[]; +extern const u32 gBattleAnimSpriteSheet_Eye[]; +extern const u32 gBattleAnimSpriteSheet_WhiteShadow[]; +extern const u32 gBattleAnimSpriteSheet_TealAlert[]; +extern const u32 gBattleAnimSpriteSheet_OpeningEye[]; +extern const u32 gBattleAnimSpriteSheet_RoundWhiteHalo[]; +extern const u32 gBattleAnimSpriteSheet_FangAttack[]; +extern const u32 gBattleAnimSpriteSheet_PurpleHandOutline[]; +extern const u32 gBattleAnimSpriteSheet_Moon[]; +extern const u32 gBattleAnimSpriteSheet_GreenSparkle[]; +extern const u32 gBattleAnimSpriteSheet_Spiral[]; +extern const u32 gBattleAnimSpriteSheet_SnoreZ[]; +extern const u32 gBattleAnimSpriteSheet_Explosion[]; +extern const u32 gBattleAnimSpriteSheet_Nail[]; +extern const u32 gBattleAnimSpriteSheet_GhostlySpirit[]; +extern const u32 gBattleAnimSpriteSheet_WarmRock[]; +extern const u32 gBattleAnimSpriteSheet_BreakingEgg[]; +extern const u32 gBattleAnimSpriteSheet_ThinRing[]; +extern const u32 gBattleAnimSpriteSheet_PunchImpact[]; +extern const u32 gBattleAnimSpriteSheet_Bell[]; +extern const u32 gBattleAnimSpriteSheet_MusicNotes2[]; +extern const u32 gBattleAnimSpriteSheet_SpeedDust[]; +extern const u32 gBattleAnimSpriteSheet_TornMetal[]; +extern const u32 gBattleAnimSpriteSheet_ThoughtBubble[]; +extern const u32 gBattleAnimSpriteSheet_MagentaHeart[]; +extern const u32 gBattleAnimSpriteSheet_ElectricOrbs[]; +extern const u32 gBattleAnimSpriteSheet_CircleOfLight[]; +extern const u32 gBattleAnimSpriteSheet_Electricity[]; +extern const u32 gBattleAnimSpriteSheet_Finger2[]; +extern const u32 gBattleAnimSpriteSheet_MovementWaves[]; +extern const u32 gBattleAnimSpriteSheet_MagentaHeart[]; +extern const u32 gBattleAnimSpriteSheet_RedOrb[]; +extern const u32 gBattleAnimSpriteSheet_EyeSparkle[]; +extern const u32 gBattleAnimSpriteSheet_MagentaHeart[]; +extern const u32 gBattleAnimSpriteSheet_Angel[]; +extern const u32 gBattleAnimSpriteSheet_Devil[]; +extern const u32 gBattleAnimSpriteSheet_Swipe[]; +extern const u32 gBattleAnimSpriteSheet_Roots[]; +extern const u32 gBattleAnimSpriteSheet_ItemBag[]; +extern const u32 gBattleAnimSpriteSheet_JaggedMusicNote[]; +extern const u32 gBattleAnimSpriteSheet_Pokeball[]; +extern const u32 gBattleAnimSpriteSheet_Spotlight[]; +extern const u32 gBattleAnimSpriteSheet_LetterZ[]; +extern const u32 gBattleAnimSpriteSheet_RapidSpin[]; +extern const u32 gBattleAnimSpriteSheet_TriForceTriangle[]; +extern const u32 gBattleAnimSpriteSheet_WispOrb[]; +extern const u32 gBattleAnimSpriteSheet_WispFire[]; +extern const u32 gBattleAnimSpriteSheet_GoldStars[]; +extern const u32 gBattleAnimSpriteSheet_EclipsingOrb[]; +extern const u32 gBattleAnimSpriteSheet_GrayOrb[]; +extern const u32 gBattleAnimSpriteSheet_GrayOrb[]; +extern const u32 gBattleAnimSpriteSheet_GrayOrb[]; +extern const u32 gBattleAnimSpriteSheet_PinkPetal[]; +extern const u32 gBattleAnimSpriteSheet_PainSplit[]; +extern const u32 gBattleAnimSpriteSheet_Confetti[]; +extern const u32 gBattleAnimSpriteSheet_GreenStar[]; +extern const u32 gBattleAnimSpriteSheet_PinkCloud[]; +extern const u32 gBattleAnimSpriteSheet_SweatDrop[]; +extern const u32 gBattleAnimSpriteSheet_GuardRing[]; +extern const u32 gBattleAnimSpriteSheet_PurpleScratch[]; +extern const u32 gBattleAnimSpriteSheet_PurpleSwipe[]; +extern const u32 gBattleAnimSpriteSheet_TagHand[]; +extern const u32 gBattleAnimSpriteSheet_SmallRedEye[]; +extern const u32 gBattleAnimSpriteSheet_HollowOrb[]; +extern const u32 gBattleAnimSpriteSheet_XSign[]; +extern const u32 gBattleAnimSpriteSheet_BluegreenOrb[]; +extern const u32 gBattleAnimSpriteSheet_PawPrint[]; +extern const u32 gBattleAnimSpriteSheet_PurpleFlame[]; +extern const u32 gBattleAnimSpriteSheet_RedBall[]; +extern const u32 gBattleAnimSpriteSheet_SmellingsaltEffect[]; +extern const u32 gBattleAnimSpriteSheet_Meteor[]; +extern const u32 gBattleAnimSpriteSheet_FlatRock[]; +extern const u32 gBattleAnimSpriteSheet_MagnifyingGlass[]; +extern const u32 gBattleAnimSpriteSheet_MetalSoundWaves[]; +extern const u32 gBattleAnimSpriteSheet_FlyingDirt[]; +extern const u32 gBattleAnimSpriteSheet_IcicleSpear[]; +extern const u32 gBattleAnimSpriteSheet_Hail[]; +extern const u32 gBattleAnimSpriteSheet_GlowyRedOrb[]; +extern const u32 gBattleAnimSpriteSheet_GreenSpike[]; +extern const u32 gBattleAnimSpriteSheet_RedBrick[]; +extern const u32 gBattleAnimSpriteSheet_WhiteFeather[]; +extern const u32 gBattleAnimSpriteSheet_Sparkle6[]; +extern const u32 gBattleAnimSpriteSheet_Splash[]; +extern const u32 gBattleAnimSpriteSheet_SweatBead[]; +extern const u32 gBattleAnimSpriteSheet_Gem1[]; +extern const u32 gBattleAnimSpriteSheet_Gem2[]; +extern const u32 gBattleAnimSpriteSheet_Gem3[]; +extern const u32 gBattleAnimSpriteSheet_SlamHit2[]; +extern const u32 gBattleAnimSpriteSheet_Recycle[]; +extern const u32 gBattleAnimSpriteSheet_RedParticles[]; +extern const u32 gBattleAnimSpriteSheet_Protect[]; +extern const u32 gBattleAnimSpriteSheet_DirtMound[]; +extern const u32 gBattleAnimSpriteSheet_Shock3[]; +extern const u32 gBattleAnimSpriteSheet_WeatherBall[]; extern const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[]; extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[]; extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[]; -extern const u32 gBattleAnimSpriteSheet_284[]; -extern const u32 gBattleAnimSpriteSheet_285[]; +extern const u32 gBattleAnimSpriteSheet_Bird[]; +extern const u32 gBattleAnimSpriteSheet_CrossImpact[]; -extern const u32 gBattleAnimSpritePalette_000[]; -extern const u32 gBattleAnimSpritePalette_001[]; -extern const u32 gBattleAnimSpritePalette_002[]; -extern const u32 gBattleAnimSpritePalette_003[]; -extern const u32 gBattleAnimSpritePalette_004[]; -extern const u32 gBattleAnimSpritePalette_005[]; -extern const u32 gBattleAnimSpritePalette_006[]; -extern const u32 gBattleAnimSpritePalette_007[]; -extern const u32 gBattleAnimSpritePalette_008[]; -extern const u32 gBattleAnimSpritePalette_009[]; -extern const u32 gBattleAnimSpritePalette_010[]; -extern const u32 gBattleAnimSpritePalette_011[]; -extern const u32 gBattleAnimSpritePalette_012[]; -extern const u32 gBattleAnimSpritePalette_013[]; -extern const u32 gBattleAnimSpritePalette_014[]; -extern const u32 gBattleAnimSpritePalette_015[]; -extern const u32 gBattleAnimSpritePalette_016[]; -extern const u32 gBattleAnimSpritePalette_016[]; -extern const u32 gBattleAnimSpritePalette_018[]; -extern const u32 gBattleAnimSpritePalette_019[]; -extern const u32 gBattleAnimSpritePalette_020[]; -extern const u32 gBattleAnimSpritePalette_021[]; -extern const u32 gBattleAnimSpritePalette_022[]; -extern const u32 gBattleAnimSpritePalette_023[]; -extern const u32 gBattleAnimSpritePalette_024[]; -extern const u32 gBattleAnimSpritePalette_025[]; -extern const u32 gBattleAnimSpritePalette_026[]; -extern const u32 gBattleAnimSpritePalette_027[]; -extern const u32 gBattleAnimSpritePalette_028[]; -extern const u32 gBattleAnimSpritePalette_029[]; -extern const u32 gBattleAnimSpritePalette_030[]; -extern const u32 gBattleAnimSpritePalette_031[]; -extern const u32 gBattleAnimSpritePalette_032[]; -extern const u32 gBattleAnimSpritePalette_033[]; -extern const u32 gBattleAnimSpritePalette_033[]; -extern const u32 gBattleAnimSpritePalette_033[]; -extern const u32 gBattleAnimSpritePalette_036[]; -extern const u32 gBattleAnimSpritePalette_036[]; -extern const u32 gBattleAnimSpritePalette_038[]; -extern const u32 gBattleAnimSpritePalette_039[]; -extern const u32 gBattleAnimSpritePalette_038[]; -extern const u32 gBattleAnimSpritePalette_038[]; -extern const u32 gBattleAnimSpritePalette_042[]; -extern const u32 gBattleAnimSpritePalette_043[]; -extern const u32 gBattleAnimSpritePalette_044[]; -extern const u32 gBattleAnimSpritePalette_045[]; -extern const u32 gBattleAnimSpritePalette_046[]; -extern const u32 gBattleAnimSpritePalette_047[]; -extern const u32 gBattleAnimSpritePalette_048[]; -extern const u32 gBattleAnimSpritePalette_049[]; -extern const u32 gBattleAnimSpritePalette_050[]; -extern const u32 gBattleAnimSpritePalette_050[]; -extern const u32 gBattleAnimSpritePalette_050[]; -extern const u32 gBattleAnimSpritePalette_026[]; -extern const u32 gBattleAnimSpritePalette_054[]; -extern const u32 gBattleAnimSpritePalette_050[]; -extern const u32 gBattleAnimSpritePalette_056[]; -extern const u32 gBattleAnimSpritePalette_057[]; -extern const u32 gBattleAnimSpritePalette_058[]; -extern const u32 gBattleAnimSpritePalette_059[]; -extern const u32 gBattleAnimSpritePalette_060[]; -extern const u32 gBattleAnimSpritePalette_061[]; -extern const u32 gBattleAnimSpritePalette_062[]; -extern const u32 gBattleAnimSpritePalette_063[]; -extern const u32 gBattleAnimSpritePalette_064[]; -extern const u32 gBattleAnimSpritePalette_065[]; -extern const u32 gBattleAnimSpritePalette_066[]; -extern const u32 gBattleAnimSpritePalette_067[]; -extern const u32 gBattleAnimSpritePalette_068[]; -extern const u32 gBattleAnimSpritePalette_065[]; -extern const u32 gBattleAnimSpritePalette_070[]; -extern const u32 gBattleAnimSpritePalette_070[]; -extern const u32 gBattleAnimSpritePalette_072[]; -extern const u32 gBattleAnimSpritePalette_073[]; -extern const u32 gBattleAnimSpritePalette_074[]; -extern const u32 gBattleAnimSpritePalette_075[]; -extern const u32 gBattleAnimSpritePalette_076[]; -extern const u32 gBattleAnimSpritePalette_076[]; -extern const u32 gBattleAnimSpritePalette_078[]; -extern const u32 gBattleAnimSpritePalette_078[]; -extern const u32 gBattleAnimSpritePalette_080[]; -extern const u32 gBattleAnimSpritePalette_081[]; -extern const u32 gBattleAnimSpritePalette_082[]; -extern const u32 gBattleAnimSpritePalette_083[]; -extern const u32 gBattleAnimSpritePalette_084[]; -extern const u32 gBattleAnimSpritePalette_085[]; -extern const u32 gBattleAnimSpritePalette_086[]; -extern const u32 gBattleAnimSpritePalette_087[]; -extern const u32 gBattleAnimSpritePalette_088[]; -extern const u32 gBattleAnimSpritePalette_089[]; -extern const u32 gBattleAnimSpritePalette_090[]; -extern const u32 gBattleAnimSpritePalette_091[]; -extern const u32 gBattleAnimSpritePalette_092[]; -extern const u32 gBattleAnimSpritePalette_093[]; -extern const u32 gBattleAnimSpritePalette_094[]; -extern const u32 gBattleAnimSpritePalette_095[]; -extern const u32 gBattleAnimSpritePalette_096[]; -extern const u32 gBattleAnimSpritePalette_097[]; -extern const u32 gBattleAnimSpritePalette_094[]; -extern const u32 gBattleAnimSpritePalette_099[]; -extern const u32 gBattleAnimSpritePalette_100[]; -extern const u32 gBattleAnimSpritePalette_101[]; -extern const u32 gBattleAnimSpritePalette_101[]; -extern const u32 gBattleAnimSpritePalette_103[]; -extern const u32 gBattleAnimSpritePalette_104[]; -extern const u32 gBattleAnimSpritePalette_105[]; -extern const u32 gBattleAnimSpritePalette_105[]; -extern const u32 gBattleAnimSpritePalette_107[]; -extern const u32 gBattleAnimSpritePalette_107[]; -extern const u32 gBattleAnimSpritePalette_109[]; -extern const u32 gBattleAnimSpritePalette_109[]; -extern const u32 gBattleAnimSpritePalette_111[]; -extern const u32 gBattleAnimSpritePalette_112[]; -extern const u32 gBattleAnimSpritePalette_113[]; -extern const u32 gBattleAnimSpritePalette_114[]; -extern const u32 gBattleAnimSpritePalette_115[]; -extern const u32 gBattleAnimSpritePalette_116[]; -extern const u32 gBattleAnimSpritePalette_117[]; -extern const u32 gBattleAnimSpritePalette_118[]; -extern const u32 gBattleAnimSpritePalette_119[]; -extern const u32 gBattleAnimSpritePalette_120[]; -extern const u32 gBattleAnimSpritePalette_121[]; -extern const u32 gBattleAnimSpritePalette_122[]; -extern const u32 gBattleAnimSpritePalette_122[]; -extern const u32 gBattleAnimSpritePalette_124[]; -extern const u32 gBattleAnimSpritePalette_125[]; -extern const u32 gBattleAnimSpritePalette_126[]; -extern const u32 gBattleAnimSpritePalette_127[]; -extern const u32 gBattleAnimSpritePalette_128[]; -extern const u32 gBattleAnimSpritePalette_128[]; -extern const u32 gBattleAnimSpritePalette_130[]; -extern const u32 gBattleAnimSpritePalette_130[]; -extern const u32 gBattleAnimSpritePalette_132[]; -extern const u32 gBattleAnimSpritePalette_133[]; -extern const u32 gBattleAnimSpritePalette_133[]; -extern const u32 gBattleAnimSpritePalette_135[]; -extern const u32 gBattleAnimSpritePalette_136[]; -extern const u32 gBattleAnimSpritePalette_135[]; -extern const u32 gBattleAnimSpritePalette_135[]; -extern const u32 gBattleAnimSpritePalette_139[]; -extern const u32 gBattleAnimSpritePalette_140[]; -extern const u32 gBattleAnimSpritePalette_141[]; -extern const u32 gBattleAnimSpritePalette_141[]; -extern const u32 gBattleAnimSpritePalette_143[]; -extern const u32 gBattleAnimSpritePalette_144[]; -extern const u32 gBattleAnimSpritePalette_139[]; -extern const u32 gBattleAnimSpritePalette_115[]; -extern const u32 gBattleAnimSpritePalette_147[]; -extern const u32 gBattleAnimSpritePalette_148[]; -extern const u32 gBattleAnimSpritePalette_148[]; -extern const u32 gBattleAnimSpritePalette_150[]; -extern const u32 gBattleAnimSpritePalette_150[]; -extern const u32 gBattleAnimSpritePalette_152[]; -extern const u32 gBattleAnimSpritePalette_153[]; -extern const u32 gBattleAnimSpritePalette_154[]; -extern const u32 gBattleAnimSpritePalette_155[]; -extern const u32 gBattleAnimSpritePalette_156[]; -extern const u32 gBattleAnimSpritePalette_157[]; -extern const u32 gBattleAnimSpritePalette_158[]; -extern const u32 gBattleAnimSpritePalette_159[]; -extern const u32 gBattleAnimSpritePalette_160[]; -extern const u32 gBattleAnimSpritePalette_161[]; -extern const u32 gBattleAnimSpritePalette_162[]; -extern const u32 gBattleAnimSpritePalette_163[]; -extern const u32 gBattleAnimSpritePalette_164[]; -extern const u32 gBattleAnimSpritePalette_165[]; -extern const u32 gBattleAnimSpritePalette_166[]; -extern const u32 gBattleAnimSpritePalette_167[]; -extern const u32 gBattleAnimSpritePalette_168[]; -extern const u32 gBattleAnimSpritePalette_169[]; -extern const u32 gBattleAnimSpritePalette_170[]; -extern const u32 gBattleAnimSpritePalette_171[]; -extern const u32 gBattleAnimSpritePalette_172[]; -extern const u32 gBattleAnimSpritePalette_174[]; -extern const u32 gBattleAnimSpritePalette_175[]; -extern const u32 gBattleAnimSpritePalette_176[]; -extern const u32 gBattleAnimSpritePalette_177[]; -extern const u32 gBattleAnimSpritePalette_178[]; -extern const u32 gBattleAnimSpritePalette_179[]; -extern const u32 gBattleAnimSpritePalette_182[]; -extern const u32 gBattleAnimSpritePalette_183[]; -extern const u32 gBattleAnimSpritePalette_184[]; -extern const u32 gBattleAnimSpritePalette_185[]; -extern const u32 gBattleAnimSpritePalette_186[]; -extern const u32 gBattleAnimSpritePalette_187[]; -extern const u32 gBattleAnimSpritePalette_188[]; -extern const u32 gBattleAnimSpritePalette_189[]; -extern const u32 gBattleAnimSpritePalette_190[]; -extern const u32 gBattleAnimSpritePalette_191[]; -extern const u32 gBattleAnimSpritePalette_192[]; -extern const u32 gBattleAnimSpritePalette_193[]; -extern const u32 gBattleAnimSpritePalette_194[]; -extern const u32 gBattleAnimSpritePalette_195[]; -extern const u32 gBattleAnimSpritePalette_196[]; -extern const u32 gBattleAnimSpritePalette_197[]; -extern const u32 gBattleAnimSpritePalette_198[]; -extern const u32 gBattleAnimSpritePalette_199[]; -extern const u32 gBattleAnimSpritePalette_200[]; -extern const u32 gBattleAnimSpritePalette_201[]; -extern const u32 gBattleAnimSpritePalette_202[]; -extern const u32 gBattleAnimSpritePalette_203[]; -extern const u32 gBattleAnimSpritePalette_204[]; -extern const u32 gBattleAnimSpritePalette_205[]; -extern const u32 gBattleAnimSpritePalette_206[]; -extern const u32 gBattleAnimSpritePalette_207[]; -extern const u32 gBattleAnimSpritePalette_209[]; -extern const u32 gBattleAnimSpritePalette_210[]; -extern const u32 gBattleAnimSpritePalette_211[]; -extern const u32 gBattleAnimSpritePalette_215[]; +extern const u32 gBattleAnimSpritePalette_Bone[]; +extern const u32 gBattleAnimSpritePalette_Spark[]; +extern const u32 gBattleAnimSpritePalette_Pencil[]; +extern const u32 gBattleAnimSpritePalette_AirWave[]; +extern const u32 gBattleAnimSpritePalette_Orb[]; +extern const u32 gBattleAnimSpritePalette_Sword[]; +extern const u32 gBattleAnimSpritePalette_Seed[]; +extern const u32 gBattleAnimSpritePalette_Explosion6[]; +extern const u32 gBattleAnimSpritePalette_PinkOrb[]; +extern const u32 gBattleAnimSpritePalette_Gust[]; +extern const u32 gBattleAnimSpritePalette_IceCube[]; +extern const u32 gBattleAnimSpritePalette_Spark2[]; +extern const u32 gBattleAnimSpritePalette_Orange[]; +extern const u32 gBattleAnimSpritePalette_YellowBall[]; +extern const u32 gBattleAnimSpritePalette_LockOn[]; +extern const u32 gBattleAnimSpritePalette_TiedBag[]; +extern const u32 gBattleAnimSpritePalette_BlackSmoke[]; +extern const u32 gBattleAnimSpritePalette_BlackSmoke[]; +extern const u32 gBattleAnimSpritePalette_Conversion[]; +extern const u32 gBattleAnimSpritePalette_Glass[]; +extern const u32 gBattleAnimSpritePalette_HornHit[]; +extern const u32 gBattleAnimSpritePalette_Hit[]; +extern const u32 gBattleAnimSpritePalette_Hit2[]; +extern const u32 gBattleAnimSpritePalette_BlueShards[]; +extern const u32 gBattleAnimSpritePalette_ClosingEye[]; +extern const u32 gBattleAnimSpritePalette_WavingHand[]; +extern const u32 gBattleAnimSpritePalette_HitDuplicate[]; +extern const u32 gBattleAnimSpritePalette_Leer[]; +extern const u32 gBattleAnimSpritePalette_BlueBurst[]; +extern const u32 gBattleAnimSpritePalette_SmallEmber[]; +extern const u32 gBattleAnimSpritePalette_GraySmoke[]; +extern const u32 gBattleAnimSpritePalette_BlueStar[]; +extern const u32 gBattleAnimSpritePalette_BubbleBurst[]; +extern const u32 gBattleAnimSpritePalette_Fire[]; +extern const u32 gBattleAnimSpritePalette_Fire[]; +extern const u32 gBattleAnimSpritePalette_Fire[]; +extern const u32 gBattleAnimSpritePalette_Lightning2[]; +extern const u32 gBattleAnimSpritePalette_Lightning2[]; +extern const u32 gBattleAnimSpritePalette_ClawSlash2[]; +extern const u32 gBattleAnimSpritePalette_ClawSlash[]; +extern const u32 gBattleAnimSpritePalette_ClawSlash2[]; +extern const u32 gBattleAnimSpritePalette_ClawSlash2[]; +extern const u32 gBattleAnimSpritePalette_BubbleBurst2[]; +extern const u32 gBattleAnimSpritePalette_IceChunk[]; +extern const u32 gBattleAnimSpritePalette_Glass2[]; +extern const u32 gBattleAnimSpritePalette_PinkHeart2[]; +extern const u32 gBattleAnimSpritePalette_SapDrip[]; +extern const u32 gBattleAnimSpritePalette_SapDrip2[]; +extern const u32 gBattleAnimSpritePalette_Sparkle1[]; +extern const u32 gBattleAnimSpritePalette_Sparkle2[]; +extern const u32 gBattleAnimSpritePalette_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePalette_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePalette_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePalette_HitDuplicate[]; +extern const u32 gBattleAnimSpritePalette_YellowUnk[]; +extern const u32 gBattleAnimSpritePalette_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePalette_SlamHit[]; +extern const u32 gBattleAnimSpritePalette_Ring[]; +extern const u32 gBattleAnimSpritePalette_Rocks[]; +extern const u32 gBattleAnimSpritePalette_Z[]; +extern const u32 gBattleAnimSpritePalette_YellowUnk2[]; +extern const u32 gBattleAnimSpritePalette_AirSlash[]; +extern const u32 gBattleAnimSpritePalette_SpinningGreenOrbs[]; +extern const u32 gBattleAnimSpritePalette_Leaf[]; +extern const u32 gBattleAnimSpritePalette_Finger[]; +extern const u32 gBattleAnimSpritePalette_PoisonPowder[]; +extern const u32 gBattleAnimSpritePalette_BrownTriangle[]; +extern const u32 gBattleAnimSpritePalette_SleepPowder[]; +extern const u32 gBattleAnimSpritePalette_StunSpore[]; +extern const u32 gBattleAnimSpritePalette_PoisonPowder[]; +extern const u32 gBattleAnimSpritePalette_Sparkle3[]; +extern const u32 gBattleAnimSpritePalette_Sparkle3[]; +extern const u32 gBattleAnimSpritePalette_MusicNotes[]; +extern const u32 gBattleAnimSpritePalette_Duck[]; +extern const u32 gBattleAnimSpritePalette_MudSand[]; +extern const u32 gBattleAnimSpritePalette_Alert[]; +extern const u32 gBattleAnimSpritePalette_BlueFlames[]; +extern const u32 gBattleAnimSpritePalette_BlueFlames[]; +extern const u32 gBattleAnimSpritePalette_Shock4[]; +extern const u32 gBattleAnimSpritePalette_Shock4[]; +extern const u32 gBattleAnimSpritePalette_Bell2[]; +extern const u32 gBattleAnimSpritePalette_PinkGlove[]; +extern const u32 gBattleAnimSpritePalette_BlueLines[]; +extern const u32 gBattleAnimSpritePalette_Impact3[]; +extern const u32 gBattleAnimSpritePalette_Impact2[]; +extern const u32 gBattleAnimSpritePalette_Reticle[]; +extern const u32 gBattleAnimSpritePalette_Breath[]; +extern const u32 gBattleAnimSpritePalette_Anger[]; +extern const u32 gBattleAnimSpritePalette_Snowball[]; +extern const u32 gBattleAnimSpritePalette_Vine[]; +extern const u32 gBattleAnimSpritePalette_Sword2[]; +extern const u32 gBattleAnimSpritePalette_Clapping[]; +extern const u32 gBattleAnimSpritePalette_RedTube[]; +extern const u32 gBattleAnimSpritePalette_Amnesia[]; +extern const u32 gBattleAnimSpritePalette_String2[]; +extern const u32 gBattleAnimSpritePalette_Pencil2[]; +extern const u32 gBattleAnimSpritePalette_Petal[]; +extern const u32 gBattleAnimSpritePalette_BentSpoon[]; +extern const u32 gBattleAnimSpritePalette_String2[]; +extern const u32 gBattleAnimSpritePalette_MilkBottle[]; +extern const u32 gBattleAnimSpritePalette_Coin[]; +extern const u32 gBattleAnimSpritePalette_CrackedEgg[]; +extern const u32 gBattleAnimSpritePalette_CrackedEgg[]; +extern const u32 gBattleAnimSpritePalette_FreshEgg[]; +extern const u32 gBattleAnimSpritePalette_Fangs[]; +extern const u32 gBattleAnimSpritePalette_Explosion2[]; +extern const u32 gBattleAnimSpritePalette_Explosion2[]; +extern const u32 gBattleAnimSpritePalette_WaterDroplet[]; +extern const u32 gBattleAnimSpritePalette_WaterDroplet[]; +extern const u32 gBattleAnimSpritePalette_Seed2[]; +extern const u32 gBattleAnimSpritePalette_Seed2[]; +extern const u32 gBattleAnimSpritePalette_RedWand[]; +extern const u32 gBattleAnimSpritePalette_PurpleGreenUnk[]; +extern const u32 gBattleAnimSpritePalette_WaterColumn[]; +extern const u32 gBattleAnimSpritePalette_MudUnk[]; +extern const u32 gBattleAnimSpritePalette_RainDrops[]; +extern const u32 gBattleAnimSpritePalette_FurySwipes[]; +extern const u32 gBattleAnimSpritePalette_Vine2[]; +extern const u32 gBattleAnimSpritePalette_Teeth[]; +extern const u32 gBattleAnimSpritePalette_Bone2[]; +extern const u32 gBattleAnimSpritePalette_WhiteBag[]; +extern const u32 gBattleAnimSpritePalette_Unknown[]; +extern const u32 gBattleAnimSpritePalette_PurpleCoral[]; +extern const u32 gBattleAnimSpritePalette_PurpleCoral[]; +extern const u32 gBattleAnimSpritePalette_Shock2[]; +extern const u32 gBattleAnimSpritePalette_ClosingEye2[]; +extern const u32 gBattleAnimSpritePalette_MetalBall[]; +extern const u32 gBattleAnimSpritePalette_MonsterDoll[]; +extern const u32 gBattleAnimSpritePalette_Whirlwind[]; +extern const u32 gBattleAnimSpritePalette_Whirlwind[]; +extern const u32 gBattleAnimSpritePalette_Explosion4[]; +extern const u32 gBattleAnimSpritePalette_Explosion4[]; +extern const u32 gBattleAnimSpritePalette_Tongue[]; +extern const u32 gBattleAnimSpritePalette_Smoke[]; +extern const u32 gBattleAnimSpritePalette_Smoke[]; +extern const u32 gBattleAnimSpritePalette_Impact[]; +extern const u32 gBattleAnimSpritePalette_CircleImpact[]; +extern const u32 gBattleAnimSpritePalette_Impact[]; +extern const u32 gBattleAnimSpritePalette_Impact[]; +extern const u32 gBattleAnimSpritePalette_SharpTeeth[]; +extern const u32 gBattleAnimSpritePalette_RainbowRings[]; +extern const u32 gBattleAnimSpritePalette_IceCrystals[]; +extern const u32 gBattleAnimSpritePalette_IceCrystals[]; +extern const u32 gBattleAnimSpritePalette_HandsAndFeet[]; +extern const u32 gBattleAnimSpritePalette_MistCloud[]; +extern const u32 gBattleAnimSpritePalette_SharpTeeth[]; +extern const u32 gBattleAnimSpritePalette_RainDrops[]; +extern const u32 gBattleAnimSpritePalette_Orbs[]; +extern const u32 gBattleAnimSpritePalette_WaterImpact[]; +extern const u32 gBattleAnimSpritePalette_WaterImpact[]; +extern const u32 gBattleAnimSpritePalette_PoisonBubble[]; +extern const u32 gBattleAnimSpritePalette_PoisonBubble[]; +extern const u32 gBattleAnimSpritePalette_Spikes[]; +extern const u32 gBattleAnimSpritePalette_HornHit2[]; +extern const u32 gBattleAnimSpritePalette_AirWave2[]; +extern const u32 gBattleAnimSpritePalette_SmallBubbles[]; +extern const u32 gBattleAnimSpritePalette_RoundShadow[]; +extern const u32 gBattleAnimSpritePalette_Sunlight[]; +extern const u32 gBattleAnimSpritePalette_Spore[]; +extern const u32 gBattleAnimSpritePalette_Flower[]; +extern const u32 gBattleAnimSpritePalette_RazorLeaf[]; +extern const u32 gBattleAnimSpritePalette_Needle[]; +extern const u32 gBattleAnimSpritePalette_WhirlwindLines[]; +extern const u32 gBattleAnimSpritePalette_GoldRing[]; +extern const u32 gBattleAnimSpritePalette_PurpleRing[]; +extern const u32 gBattleAnimSpritePalette_BlueRing[]; +extern const u32 gBattleAnimSpritePalette_GreenLightWall[]; +extern const u32 gBattleAnimSpritePalette_BlueLightWall[]; +extern const u32 gBattleAnimSpritePalette_RedLightWall[]; +extern const u32 gBattleAnimSpritePalette_GrayLightWall[]; +extern const u32 gBattleAnimSpritePalette_OrangeLightWall[]; +extern const u32 gBattleAnimSpritePalette_BlackBall2[]; +extern const u32 gBattleAnimSpritePalette_PurpleGasCloud[]; +extern const u32 gBattleAnimSpritePalette_YellowStar[]; +extern const u32 gBattleAnimSpritePalette_LargeFreshEgg[]; +extern const u32 gBattleAnimSpritePalette_ShadowBall[]; +extern const u32 gBattleAnimSpritePalette_Lick[]; +extern const u32 gBattleAnimSpritePalette_VoidLines[]; +extern const u32 gBattleAnimSpritePalette_String[]; +extern const u32 gBattleAnimSpritePalette_Lightbulb[]; +extern const u32 gBattleAnimSpritePalette_Slash[]; +extern const u32 gBattleAnimSpritePalette_FocusEnergy[]; +extern const u32 gBattleAnimSpritePalette_SphereToCube[]; +extern const u32 gBattleAnimSpritePalette_Tendrils[]; +extern const u32 gBattleAnimSpritePalette_Eye[]; +extern const u32 gBattleAnimSpritePalette_WhiteShadow[]; +extern const u32 gBattleAnimSpritePalette_TealAlert[]; +extern const u32 gBattleAnimSpritePalette_OpeningEye[]; +extern const u32 gBattleAnimSpritePalette_RoundWhiteHalo[]; +extern const u32 gBattleAnimSpritePalette_FangAttack[]; +extern const u32 gBattleAnimSpritePalette_PurpleHandOutline[]; +extern const u32 gBattleAnimSpritePalette_Moon[]; +extern const u32 gBattleAnimSpritePalette_GreenSparkle[]; +extern const u32 gBattleAnimSpritePalette_Spiral[]; +extern const u32 gBattleAnimSpritePalette_SnoreZ[]; +extern const u32 gBattleAnimSpritePalette_Explosion[]; +extern const u32 gBattleAnimSpritePalette_Nail[]; +extern const u32 gBattleAnimSpritePalette_GhostlySpirit[]; +extern const u32 gBattleAnimSpritePalette_WarmRock[]; +extern const u32 gBattleAnimSpritePalette_BreakingEgg[]; +extern const u32 gBattleAnimSpritePalette_ThinRing[]; +extern const u32 gBattleAnimSpritePalette_PunchImpact[]; +extern const u32 gBattleAnimSpritePalette_Bell[]; +extern const u32 gBattleAnimSpritePalette_MusicNotes2[]; +extern const u32 gBattleAnimSpritePalette_SpeedDust[]; +extern const u32 gBattleAnimSpritePalette_ThoughtBubble[]; +extern const u32 gBattleAnimSpritePalette_MagentaHeart[]; +extern const u32 gBattleAnimSpritePalette_ElectricOrbs[]; +extern const u32 gBattleAnimSpritePalette_MovementWaves[]; extern const u32 gUnknown_08C249D0[]; extern const u32 gUnknown_08C249F8[]; -extern const u32 gBattleAnimSpritePalette_216[]; -extern const u32 gBattleAnimSpritePalette_217[]; -extern const u32 gBattleAnimSpritePalette_218[]; -extern const u32 gBattleAnimSpritePalette_219[]; +extern const u32 gBattleAnimSpritePalette_RedHeart[]; +extern const u32 gBattleAnimSpritePalette_RedOrb[]; +extern const u32 gBattleAnimSpritePalette_EyeSparkle[]; +extern const u32 gBattleAnimSpritePalette_PinkHeart[]; extern const u32 gUnknown_08C232E0; extern const u32 gUnknown_08C23D50; extern const u32 gUnknown_08C23D78; -extern const u32 gBattleAnimSpritePalette_220[]; -extern const u32 gBattleAnimSpritePalette_221[]; -extern const u32 gBattleAnimSpritePalette_222[]; -extern const u32 gBattleAnimSpritePalette_223[]; -extern const u32 gBattleAnimSpritePalette_224[]; -extern const u32 gBattleAnimSpritePalette_225[]; -extern const u32 gBattleAnimSpritePalette_226[]; -extern const u32 gBattleAnimSpritePalette_228[]; -extern const u32 gBattleAnimSpritePalette_229[]; -extern const u32 gBattleAnimSpritePalette_230[]; -extern const u32 gBattleAnimSpritePalette_231[]; -extern const u32 gBattleAnimSpritePalette_233[]; -extern const u32 gBattleAnimSpritePalette_234[]; -extern const u32 gBattleAnimSpritePalette_235[]; -extern const u32 gBattleAnimSpritePalette_236[]; -extern const u32 gBattleAnimSpritePalette_237[]; -extern const u32 gBattleAnimSpritePalette_238[]; -extern const u32 gBattleAnimSpritePalette_239[]; -extern const u32 gBattleAnimSpritePalette_240[]; -extern const u32 gBattleAnimSpritePalette_241[]; -extern const u32 gBattleAnimSpritePalette_242[]; -extern const u32 gBattleAnimSpritePalette_243[]; -extern const u32 gBattleAnimSpritePalette_244[]; +extern const u32 gBattleAnimSpritePalette_Angel[]; +extern const u32 gBattleAnimSpritePalette_Devil[]; +extern const u32 gBattleAnimSpritePalette_Swipe[]; +extern const u32 gBattleAnimSpritePalette_Roots[]; +extern const u32 gBattleAnimSpritePalette_ItemBag[]; +extern const u32 gBattleAnimSpritePalette_JaggedMusicNote[]; +extern const u32 gBattleAnimSpritePalette_Pokeball[]; +extern const u32 gBattleAnimSpritePalette_LetterZ[]; +extern const u32 gBattleAnimSpritePalette_RapidSpin[]; +extern const u32 gBattleAnimSpritePalette_TriForceTriangle[]; +extern const u32 gBattleAnimSpritePalette_WispOrb[]; +extern const u32 gBattleAnimSpritePalette_GoldStars[]; +extern const u32 gBattleAnimSpritePalette_EclipsingOrb[]; +extern const u32 gBattleAnimSpritePalette_GrayOrb[]; +extern const u32 gBattleAnimSpritePalette_BlueOrb[]; +extern const u32 gBattleAnimSpritePalette_RedOrb2[]; +extern const u32 gBattleAnimSpritePalette_PinkPetal[]; +extern const u32 gBattleAnimSpritePalette_PainSplit[]; +extern const u32 gBattleAnimSpritePalette_Confetti[]; +extern const u32 gBattleAnimSpritePalette_GreenStar[]; +extern const u32 gBattleAnimSpritePalette_PinkCloud[]; +extern const u32 gBattleAnimSpritePalette_SweatDrop[]; +extern const u32 gBattleAnimSpritePalette_GuardRing[]; extern const u32 gCureBubblesGfx[]; extern const u32 gCureBubblesPal[]; extern const u32 gCureBubblesTilemap[]; -extern const u32 gBattleAnimSpritePalette_245[]; -extern const u32 gBattleAnimSpritePalette_248[]; -extern const u32 gBattleAnimSpritePalette_249[]; -extern const u32 gBattleAnimSpritePalette_251[]; -extern const u32 gBattleAnimSpritePalette_252[]; -extern const u32 gBattleAnimSpritePalette_253[]; -extern const u32 gBattleAnimSpritePalette_254[]; -extern const u32 gBattleAnimSpritePalette_255[]; -extern const u32 gBattleAnimSpritePalette_256[]; -extern const u32 gBattleAnimSpritePalette_257[]; -extern const u32 gBattleAnimSpritePalette_258[]; -extern const u32 gBattleAnimSpritePalette_259[]; -extern const u32 gBattleAnimSpritePalette_260[]; -extern const u32 gBattleAnimSpritePalette_261[]; -extern const u32 gBattleAnimSpritePalette_262[]; -extern const u32 gBattleAnimSpritePalette_263[]; -extern const u32 gBattleAnimSpritePalette_264[]; -extern const u32 gBattleAnimSpritePalette_265[]; -extern const u32 gBattleAnimSpritePalette_266[]; -extern const u32 gBattleAnimSpritePalette_267[]; -extern const u32 gBattleAnimSpritePalette_268[]; -extern const u32 gBattleAnimSpritePalette_269[]; -extern const u32 gBattleAnimSpritePalette_270[]; -extern const u32 gBattleAnimSpritePalette_271[]; -extern const u32 gBattleAnimSpritePalette_272[]; -extern const u32 gBattleAnimSpritePalette_274[]; -extern const u32 gBattleAnimSpritePalette_277[]; -extern const u32 gBattleAnimSpritePalette_278[]; -extern const u32 gBattleAnimSpritePalette_279[]; -extern const u32 gBattleAnimSpritePalette_280[]; -extern const u32 gBattleAnimSpritePalette_281[]; -extern const u32 gBattleAnimSpritePalette_282[]; -extern const u32 gBattleAnimSpritePalette_283[]; -extern const u32 gBattleAnimSpritePalette_284[]; -extern const u32 gBattleAnimSpritePalette_285[]; -extern const u32 gBattleAnimSpritePalette_286[]; -extern const u32 gBattleAnimSpritePalette_287[]; -extern const u32 gBattleAnimSpritePalette_288[]; +extern const u32 gBattleAnimSpritePalette_PurpleScratch[]; +extern const u32 gBattleAnimSpritePalette_SmallRedEye[]; +extern const u32 gBattleAnimSpritePalette_HollowOrb[]; +extern const u32 gBattleAnimSpritePalette_BluegreenOrb[]; +extern const u32 gBattleAnimSpritePalette_PawPrint[]; +extern const u32 gBattleAnimSpritePalette_PurpleFlame[]; +extern const u32 gBattleAnimSpritePalette_RedBall[]; +extern const u32 gBattleAnimSpritePalette_SmellingsaltEffect[]; +extern const u32 gBattleAnimSpritePalette_Meteor[]; +extern const u32 gBattleAnimSpritePalette_FlatRock[]; +extern const u32 gBattleAnimSpritePalette_MagnifyingGlass[]; +extern const u32 gBattleAnimSpritePalette_BrownOrb[]; +extern const u32 gBattleAnimSpritePalette_MetalSoundWaves[]; +extern const u32 gBattleAnimSpritePalette_FlyingDirt[]; +extern const u32 gBattleAnimSpritePalette_IcicleSpear[]; +extern const u32 gBattleAnimSpritePalette_Hail[]; +extern const u32 gBattleAnimSpritePalette_GlowyRedOrb[]; +extern const u32 gBattleAnimSpritePalette_GlowyGreenOrb[]; +extern const u32 gBattleAnimSpritePalette_GreenSpike[]; +extern const u32 gBattleAnimSpritePalette_WhiteCircleOfLight[]; +extern const u32 gBattleAnimSpritePalette_GlowyBlueOrb[]; +extern const u32 gBattleAnimSpritePalette_RedBrick[]; +extern const u32 gBattleAnimSpritePalette_WhiteFeather[]; +extern const u32 gBattleAnimSpritePalette_Sparkle6[]; +extern const u32 gBattleAnimSpritePalette_Splash[]; +extern const u32 gBattleAnimSpritePalette_Gem1[]; +extern const u32 gBattleAnimSpritePalette_SlamHit2[]; +extern const u32 gBattleAnimSpritePalette_Recycle[]; +extern const u32 gBattleAnimSpritePalette_RedParticles[]; +extern const u32 gBattleAnimSpritePalette_Protect[]; +extern const u32 gBattleAnimSpritePalette_DirtMound[]; +extern const u32 gBattleAnimSpritePalette_Shock3[]; +extern const u32 gBattleAnimSpritePalette_WeatherBall[]; +extern const u32 gBattleAnimSpritePalette_Bird[]; +extern const u32 gBattleAnimSpritePalette_CrossImpact[]; +extern const u32 gBattleAnimSpritePalette_Slash2[]; +extern const u32 gBattleAnimSpritePalette_WhipHit[]; +extern const u32 gBattleAnimSpritePalette_BlueRing2[]; extern const u32 gBattleAnimBackgroundImage_00[]; extern const u32 gBattleAnimBackgroundImage_02[]; diff --git a/src/battle_anim.c b/src/battle_anim.c index b7fee6f2d6..fac07e02e4 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1126,589 +1126,588 @@ const struct OamData gUnknown_08524B3C = const struct CompressedSpriteSheet gBattleAnimPicTable[] = { - {gBattleAnimSpriteSheet_000, 0x0200, ANIM_TAG_BONE}, - {gBattleAnimSpriteSheet_001, 0x0300, ANIM_TAG_SPARK}, - {gBattleAnimSpriteSheet_002, 0x0200, ANIM_TAG_PENCIL}, - {gBattleAnimSpriteSheet_003, 0x0100, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpriteSheet_004, 0x0200, ANIM_TAG_ORB}, - {gBattleAnimSpriteSheet_005, 0x0400, ANIM_TAG_SWORD}, - {gBattleAnimSpriteSheet_006, 0x0180, ANIM_TAG_SEED}, - {gBattleAnimSpriteSheet_007, 0x0800, ANIM_TAG_EXPLOSION_6}, - {gBattleAnimSpriteSheet_008, 0x0020, ANIM_TAG_PINK_ORB}, - {gBattleAnimSpriteSheet_009, 0x0400, ANIM_TAG_GUST}, - {gBattleAnimSpriteSheet_010, 0x1200, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpriteSheet_011, 0x0180, ANIM_TAG_SPARK_2}, - {gBattleAnimSpriteSheet_012, 0x0080, ANIM_TAG_ORANGE}, - {gBattleAnimSpriteSheet_013, 0x0080, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpriteSheet_014, 0x0280, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpriteSheet_015, 0x0080, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpriteSheet_016, 0x0100, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpriteSheet_017, 0x0020, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpriteSheet_018, 0x0080, ANIM_TAG_CONVERSION}, - {gBattleAnimSpriteSheet_019, 0x0400, ANIM_TAG_GLASS}, - {gBattleAnimSpriteSheet_020, 0x0200, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_HIT}, - {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_HIT_2}, - {gBattleAnimSpriteSheet_023, 0x0380, ANIM_TAG_BLUE_SHARDS}, - {gBattleAnimSpriteSheet_024, 0x0300, ANIM_TAG_CLOSING_EYE}, - {gBattleAnimSpriteSheet_025, 0x0A00, ANIM_TAG_WAVING_HAND}, - {gBattleAnimSpriteSheet_026, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, - {gBattleAnimSpriteSheet_027, 0x0A00, ANIM_TAG_LEER}, - {gBattleAnimSpriteSheet_028, 0x0A00, ANIM_TAG_BLUE_BURST}, - {gBattleAnimSpriteSheet_029, 0x0A00, ANIM_TAG_SMALL_EMBER}, - {gBattleAnimSpriteSheet_030, 0x0A00, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpriteSheet_031, 0x0E00, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpriteSheet_032, 0x0380, ANIM_TAG_BUBBLE_BURST}, - {gBattleAnimSpriteSheet_033, 0x1000, ANIM_TAG_FIRE}, - {gBattleAnimSpriteSheet_034, 0x0800, ANIM_TAG_SPINNING_FIRE}, - {gBattleAnimSpriteSheet_035, 0x0A00, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpriteSheet_036, 0x0800, ANIM_TAG_LIGHTNING_2}, - {gBattleAnimSpriteSheet_037, 0x0A00, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpriteSheet_038, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, - {gBattleAnimSpriteSheet_039, 0x0A00, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpriteSheet_040, 0x0A00, ANIM_TAG_SCRATCH_3}, - {gBattleAnimSpriteSheet_041, 0x0A00, ANIM_TAG_SCRATCH_2}, - {gBattleAnimSpriteSheet_042, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, - {gBattleAnimSpriteSheet_043, 0x0A00, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpriteSheet_044, 0x0A00, ANIM_TAG_GLASS_2}, - {gBattleAnimSpriteSheet_045, 0x0A00, ANIM_TAG_PINK_HEART_2}, - {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_SAP_DRIP_2}, - {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpriteSheet_050, 0x0200, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpriteSheet_051, 0x0200, ANIM_TAG_MONSTER_FOOT}, - {gBattleAnimSpriteSheet_052, 0x0200, ANIM_TAG_HUMANOID_HAND}, - {gBattleAnimSpriteSheet_053, 0x0800, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpriteSheet_054, 0x0080, ANIM_TAG_YELLOW_UNK}, - {gBattleAnimSpriteSheet_055, 0x0200, ANIM_TAG_RED_FIST}, - {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpriteSheet_057, 0x0180, ANIM_TAG_RING}, - {gBattleAnimSpriteSheet_058, 0x0C00, ANIM_TAG_ROCKS}, - {gBattleAnimSpriteSheet_059, 0x0100, ANIM_TAG_Z}, - {gBattleAnimSpriteSheet_060, 0x0040, ANIM_TAG_YELLOW_UNK_2}, - {gBattleAnimSpriteSheet_061, 0x0180, ANIM_TAG_AIR_SLASH}, - {gBattleAnimSpriteSheet_062, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, - {gBattleAnimSpriteSheet_063, 0x0480, ANIM_TAG_LEAF}, - {gBattleAnimSpriteSheet_064, 0x0200, ANIM_TAG_FINGER}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpriteSheet_066, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_POWDER}, - {gBattleAnimSpriteSheet_070, 0x0200, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpriteSheet_071, 0x0A00, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpriteSheet_072, 0x0300, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpriteSheet_073, 0x0180, ANIM_TAG_DUCK}, - {gBattleAnimSpriteSheet_074, 0x00A0, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpriteSheet_075, 0x0700, ANIM_TAG_ALERT}, - {gBattleAnimSpriteSheet_076, 0x0400, ANIM_TAG_BLUE_FLAMES}, - {gBattleAnimSpriteSheet_077, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, - {gBattleAnimSpriteSheet_078, 0x0300, ANIM_TAG_SHOCK_4}, - {gBattleAnimSpriteSheet_079, 0x0C00, ANIM_TAG_SHOCK}, - {gBattleAnimSpriteSheet_080, 0x0A00, ANIM_TAG_BELL_2}, - {gBattleAnimSpriteSheet_081, 0x0080, ANIM_TAG_PINK_GLOVE}, - {gBattleAnimSpriteSheet_082, 0x0040, ANIM_TAG_BLUE_LINES}, - {gBattleAnimSpriteSheet_083, 0x0E00, ANIM_TAG_IMPACT_3}, - {gBattleAnimSpriteSheet_084, 0x0E00, ANIM_TAG_IMPACT_2}, - {gBattleAnimSpriteSheet_085, 0x0280, ANIM_TAG_RETICLE}, - {gBattleAnimSpriteSheet_086, 0x0200, ANIM_TAG_BREATH}, - {gBattleAnimSpriteSheet_087, 0x0080, ANIM_TAG_ANGER}, - {gBattleAnimSpriteSheet_088, 0x00C0, ANIM_TAG_SNOWBALL}, - {gBattleAnimSpriteSheet_089, 0x0A00, ANIM_TAG_VINE}, - {gBattleAnimSpriteSheet_090, 0x0200, ANIM_TAG_SWORD_2}, - {gBattleAnimSpriteSheet_091, 0x0180, ANIM_TAG_CLAPPING}, - {gBattleAnimSpriteSheet_092, 0x0080, ANIM_TAG_RED_TUBE}, - {gBattleAnimSpriteSheet_093, 0x1000, ANIM_TAG_AMNESIA}, - {gBattleAnimSpriteSheet_094, 0x0A00, ANIM_TAG_STRING_2}, - {gBattleAnimSpriteSheet_095, 0x0180, ANIM_TAG_PENCIL_2}, - {gBattleAnimSpriteSheet_096, 0x0380, ANIM_TAG_PETAL}, - {gBattleAnimSpriteSheet_097, 0x0C00, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpriteSheet_098, 0x0200, ANIM_TAG_WEB}, - {gBattleAnimSpriteSheet_099, 0x0200, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpriteSheet_100, 0x0200, ANIM_TAG_COIN}, - {gBattleAnimSpriteSheet_101, 0x0200, ANIM_TAG_CRACKED_EGG}, - {gBattleAnimSpriteSheet_102, 0x0400, ANIM_TAG_HATCHED_EGG}, - {gBattleAnimSpriteSheet_103, 0x0080, ANIM_TAG_FRESH_EGG}, - {gBattleAnimSpriteSheet_104, 0x0400, ANIM_TAG_FANGS}, - {gBattleAnimSpriteSheet_105, 0x0c00, ANIM_TAG_EXPLOSION_2}, - {gBattleAnimSpriteSheet_106, 0x0200, ANIM_TAG_EXPLOSION_3}, - {gBattleAnimSpriteSheet_107, 0x1000, ANIM_TAG_WATER_DROPLET}, - {gBattleAnimSpriteSheet_108, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, - {gBattleAnimSpriteSheet_109, 0x0020, ANIM_TAG_SEED_2}, - {gBattleAnimSpriteSheet_110, 0x0e00, ANIM_TAG_SPROUT}, - {gBattleAnimSpriteSheet_111, 0x0080, ANIM_TAG_RED_WAND}, - {gBattleAnimSpriteSheet_112, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, - {gBattleAnimSpriteSheet_113, 0x0400, ANIM_TAG_WATER_COLUMN}, - {gBattleAnimSpriteSheet_114, 0x0200, ANIM_TAG_MUD_UNK}, - {gBattleAnimSpriteSheet_115, 0x0700, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpriteSheet_116, 0x0800, ANIM_TAG_FURY_SWIPES}, - {gBattleAnimSpriteSheet_117, 0x0a00, ANIM_TAG_VINE_2}, - {gBattleAnimSpriteSheet_118, 0x0600, ANIM_TAG_TEETH}, - {gBattleAnimSpriteSheet_119, 0x0800, ANIM_TAG_BONE_2}, - {gBattleAnimSpriteSheet_120, 0x0200, ANIM_TAG_WHITE_BAG}, - {gBattleAnimSpriteSheet_121, 0x0040, ANIM_TAG_UNKNOWN}, - {gBattleAnimSpriteSheet_122, 0x0180, ANIM_TAG_PURPLE_CORAL}, - {gBattleAnimSpriteSheet_123, 0x0600, ANIM_TAG_PURPLE_DROPLET}, - {gBattleAnimSpriteSheet_124, 0x0600, ANIM_TAG_SHOCK_2}, - {gBattleAnimSpriteSheet_125, 0x0200, ANIM_TAG_CLOSING_EYE_2}, - {gBattleAnimSpriteSheet_126, 0x0080, ANIM_TAG_METAL_BALL}, - {gBattleAnimSpriteSheet_127, 0x0200, ANIM_TAG_MONSTER_DOLL}, - {gBattleAnimSpriteSheet_128, 0x0800, ANIM_TAG_WHIRLWIND}, - {gBattleAnimSpriteSheet_129, 0x0080, ANIM_TAG_WHIRLWIND_2}, - {gBattleAnimSpriteSheet_130, 0x0a00, ANIM_TAG_EXPLOSION_4}, - {gBattleAnimSpriteSheet_131, 0x0280, ANIM_TAG_EXPLOSION_5}, - {gBattleAnimSpriteSheet_132, 0x0280, ANIM_TAG_TONGUE}, - {gBattleAnimSpriteSheet_133, 0x0100, ANIM_TAG_SMOKE}, - {gBattleAnimSpriteSheet_134, 0x0200, ANIM_TAG_SMOKE_2}, - {gBattleAnimSpriteSheet_135, 0x0200, ANIM_TAG_IMPACT}, - {gBattleAnimSpriteSheet_136, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpriteSheet_137, 0x0a00, ANIM_TAG_SCRATCH}, - {gBattleAnimSpriteSheet_138, 0x0800, ANIM_TAG_CUT}, - {gBattleAnimSpriteSheet_139, 0x0800, ANIM_TAG_SHARP_TEETH}, - {gBattleAnimSpriteSheet_140, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpriteSheet_141, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpriteSheet_142, 0x0100, ANIM_TAG_ICE_SPIKES}, - {gBattleAnimSpriteSheet_143, 0x0800, ANIM_TAG_HANDS_AND_FEET}, - {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpriteSheet_145, 0x0800, ANIM_TAG_CLAMP}, - {gBattleAnimSpriteSheet_146, 0x0180, ANIM_TAG_BUBBLE}, - {gBattleAnimSpriteSheet_147, 0x0180, ANIM_TAG_ORBS}, - {gBattleAnimSpriteSheet_148, 0x0200, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpriteSheet_150, 0x0180, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpriteSheet_151, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, - {gBattleAnimSpriteSheet_152, 0x0080, ANIM_TAG_SPIKES}, - {gBattleAnimSpriteSheet_153, 0x0100, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpriteSheet_154, 0x0100, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpriteSheet_155, 0x0140, ANIM_TAG_SMALL_BUBBLES}, - {gBattleAnimSpriteSheet_156, 0x0800, ANIM_TAG_ROUND_SHADOW}, - {gBattleAnimSpriteSheet_157, 0x0200, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpriteSheet_158, 0x0100, ANIM_TAG_SPORE}, - {gBattleAnimSpriteSheet_159, 0x00a0, ANIM_TAG_FLOWER}, - {gBattleAnimSpriteSheet_160, 0x0100, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpriteSheet_161, 0x0080, ANIM_TAG_NEEDLE}, - {gBattleAnimSpriteSheet_162, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpriteSheet_171, 0x0080, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpriteSheet_173, 0x0200, ANIM_TAG_SPARK_H}, - {gBattleAnimSpriteSheet_174, 0x0200, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpriteSheet_175, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpriteSheet_176, 0x0200, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpriteSheet_177, 0x0500, ANIM_TAG_LICK}, - {gBattleAnimSpriteSheet_178, 0x0800, ANIM_TAG_VOID_LINES}, - {gBattleAnimSpriteSheet_179, 0x0400, ANIM_TAG_STRING}, - {gBattleAnimSpriteSheet_180, 0x0020, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpriteSheet_181, 0x0800, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpriteSheet_182, 0x0100, ANIM_TAG_LIGHTBULB}, - {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH}, - {gBattleAnimSpriteSheet_184, 0x0400, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpriteSheet_185, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpriteSheet_186, 0x1000, ANIM_TAG_TENDRILS}, - {gBattleAnimSpriteSheet_187, 0x0800, ANIM_TAG_EYE}, - {gBattleAnimSpriteSheet_188, 0x0400, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpriteSheet_189, 0x0200, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpriteSheet_190, 0x0800, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpriteSheet_191, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpriteSheet_192, 0x0800, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpriteSheet_193, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpriteSheet_194, 0x0800, ANIM_TAG_MOON}, - {gBattleAnimSpriteSheet_195, 0x0200, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpriteSheet_196, 0x0800, ANIM_TAG_SPIRAL}, - {gBattleAnimSpriteSheet_197, 0x0200, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpriteSheet_198, 0x0800, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpriteSheet_199, 0x0400, ANIM_TAG_NAIL}, - {gBattleAnimSpriteSheet_200, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpriteSheet_201, 0x0a80, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpriteSheet_202, 0x0600, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpriteSheet_203, 0x0800, ANIM_TAG_THIN_RING}, - {gBattleAnimSpriteSheet_204, 0x0200, ANIM_TAG_PUNCH_IMPACT}, - {gBattleAnimSpriteSheet_205, 0x0600, ANIM_TAG_BELL}, - {gBattleAnimSpriteSheet_206, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpriteSheet_207, 0x0180, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpriteSheet_208, 0x0800, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpriteSheet_209, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpriteSheet_211, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteSheet_213, 0x0800, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpriteSheet_214, 0x0600, ANIM_TAG_FINGER_2}, - {gBattleAnimSpriteSheet_215, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_RED_HEART}, - {gBattleAnimSpriteSheet_217, 0x0080, ANIM_TAG_RED_ORB}, - {gBattleAnimSpriteSheet_218, 0x0180, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpriteSheet_220, 0x0200, ANIM_TAG_ANGEL}, - {gBattleAnimSpriteSheet_221, 0x0400, ANIM_TAG_DEVIL}, - {gBattleAnimSpriteSheet_222, 0x0a00, ANIM_TAG_SWIPE}, - {gBattleAnimSpriteSheet_223, 0x0800, ANIM_TAG_ROOTS}, - {gBattleAnimSpriteSheet_224, 0x0200, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpriteSheet_225, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, - {gBattleAnimSpriteSheet_226, 0x0080, ANIM_TAG_POKEBALL}, - {gBattleAnimSpriteSheet_227, 0x0800, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpriteSheet_228, 0x0200, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpriteSheet_229, 0x0300, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpriteSheet_230, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, - {gBattleAnimSpriteSheet_231, 0x0380, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpriteSheet_232, 0x0800, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpriteSheet_233, 0x00c0, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpriteSheet_234, 0x0800, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpriteSheet_238, 0x0080, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpriteSheet_239, 0x0180, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpriteSheet_240, 0x0180, ANIM_TAG_CONFETTI}, - {gBattleAnimSpriteSheet_241, 0x0200, ANIM_TAG_GREEN_STAR}, - {gBattleAnimSpriteSheet_242, 0x0200, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpriteSheet_243, 0x0020, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpriteSheet_244, 0x0400, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpriteSheet_245, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpriteSheet_246, 0x1000, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpriteSheet_247, 0x0400, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpriteSheet_248, 0x0020, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpriteSheet_249, 0x0080, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpriteSheet_250, 0x0800, ANIM_TAG_X_SIGN}, - {gBattleAnimSpriteSheet_251, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpriteSheet_252, 0x0200, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpriteSheet_253, 0x0400, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpriteSheet_254, 0x0200, ANIM_TAG_RED_BALL}, - {gBattleAnimSpriteSheet_255, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpriteSheet_256, 0x0800, ANIM_TAG_METEOR}, - {gBattleAnimSpriteSheet_257, 0x0280, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpriteSheet_258, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpriteSheet_260, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpriteSheet_261, 0x0200, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpriteSheet_262, 0x0200, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpriteSheet_263, 0x0080, ANIM_TAG_HAIL}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpriteSheet_266, 0x0080, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpriteSheet_269, 0x0080, ANIM_TAG_RED_BRICK}, - {gBattleAnimSpriteSheet_270, 0x0400, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpriteSheet_271, 0x0080, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpriteSheet_272, 0x0800, ANIM_TAG_SPLASH}, - {gBattleAnimSpriteSheet_273, 0x0020, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpriteSheet_274, 0x0800, ANIM_TAG_GEM_1}, - {gBattleAnimSpriteSheet_275, 0x0800, ANIM_TAG_GEM_2}, - {gBattleAnimSpriteSheet_276, 0x0800, ANIM_TAG_GEM_3}, - {gBattleAnimSpriteSheet_277, 0x1000, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpriteSheet_278, 0x0800, ANIM_TAG_RECYCLE}, - {gBattleAnimSpriteSheet_279, 0x00a0, ANIM_TAG_RED_PARTICLES}, - {gBattleAnimSpriteSheet_280, 0x0800, ANIM_TAG_PROTECT}, - {gBattleAnimSpriteSheet_281, 0x0200, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpriteSheet_282, 0x0600, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpriteSheet_283, 0x0200, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpriteSheet_284, 0x0800, ANIM_TAG_BIRD}, - {gBattleAnimSpriteSheet_285, 0x0200, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH_2}, - {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpriteSheet_Bone, 0x0200, ANIM_TAG_BONE}, + {gBattleAnimSpriteSheet_Spark, 0x0300, ANIM_TAG_SPARK}, + {gBattleAnimSpriteSheet_Pencil, 0x0200, ANIM_TAG_PENCIL}, + {gBattleAnimSpriteSheet_AirWave, 0x0100, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpriteSheet_Orb, 0x0200, ANIM_TAG_ORB}, + {gBattleAnimSpriteSheet_Sword, 0x0400, ANIM_TAG_SWORD}, + {gBattleAnimSpriteSheet_Seed, 0x0180, ANIM_TAG_SEED}, + {gBattleAnimSpriteSheet_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpriteSheet_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpriteSheet_Gust, 0x0400, ANIM_TAG_GUST}, + {gBattleAnimSpriteSheet_IceCube, 0x1200, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpriteSheet_Spark2, 0x0180, ANIM_TAG_SPARK_2}, + {gBattleAnimSpriteSheet_Orange, 0x0080, ANIM_TAG_ORANGE}, + {gBattleAnimSpriteSheet_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpriteSheet_LockOn, 0x0280, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpriteSheet_TiedBag, 0x0080, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpriteSheet_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpriteSheet_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpriteSheet_Conversion, 0x0080, ANIM_TAG_CONVERSION}, + {gBattleAnimSpriteSheet_Glass, 0x0400, ANIM_TAG_GLASS}, + {gBattleAnimSpriteSheet_HornHit, 0x0200, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpriteSheet_Hit, 0x0A00, ANIM_TAG_HIT}, + {gBattleAnimSpriteSheet_Hit, 0x0A00, ANIM_TAG_HIT_2}, + {gBattleAnimSpriteSheet_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpriteSheet_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpriteSheet_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpriteSheet_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpriteSheet_Leer, 0x0A00, ANIM_TAG_LEER}, + {gBattleAnimSpriteSheet_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST}, + {gBattleAnimSpriteSheet_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER}, + {gBattleAnimSpriteSheet_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpriteSheet_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpriteSheet_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpriteSheet_Fire, 0x1000, ANIM_TAG_FIRE}, + {gBattleAnimSpriteSheet_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpriteSheet_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpriteSheet_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpriteSheet_Lightning, 0x0A00, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpriteSheet_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpriteSheet_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpriteSheet_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpriteSheet_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpriteSheet_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpriteSheet_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpriteSheet_Glass2, 0x0A00, ANIM_TAG_GLASS_2}, + {gBattleAnimSpriteSheet_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpriteSheet_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpriteSheet_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2}, + {gBattleAnimSpriteSheet_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpriteSheet_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpriteSheet_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpriteSheet_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpriteSheet_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpriteSheet_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpriteSheet_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpriteSheet_RedFist, 0x0200, ANIM_TAG_RED_FIST}, + {gBattleAnimSpriteSheet_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpriteSheet_Ring, 0x0180, ANIM_TAG_RING}, + {gBattleAnimSpriteSheet_Rocks, 0x0C00, ANIM_TAG_ROCKS}, + {gBattleAnimSpriteSheet_Z, 0x0100, ANIM_TAG_Z}, + {gBattleAnimSpriteSheet_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpriteSheet_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpriteSheet_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, + {gBattleAnimSpriteSheet_Leaf, 0x0480, ANIM_TAG_LEAF}, + {gBattleAnimSpriteSheet_Finger, 0x0200, ANIM_TAG_FINGER}, + {gBattleAnimSpriteSheet_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpriteSheet_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpriteSheet_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpriteSheet_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpriteSheet_PoisonPowder, 0x0200, ANIM_TAG_POWDER}, + {gBattleAnimSpriteSheet_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpriteSheet_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpriteSheet_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpriteSheet_Duck, 0x0180, ANIM_TAG_DUCK}, + {gBattleAnimSpriteSheet_MudSand, 0x00A0, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpriteSheet_Alert, 0x0700, ANIM_TAG_ALERT}, + {gBattleAnimSpriteSheet_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpriteSheet_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpriteSheet_Shock4, 0x0300, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpriteSheet_Shock, 0x0C00, ANIM_TAG_SHOCK}, + {gBattleAnimSpriteSheet_Bell2, 0x0A00, ANIM_TAG_BELL_2}, + {gBattleAnimSpriteSheet_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpriteSheet_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpriteSheet_Impact3, 0x0E00, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpriteSheet_Impact2, 0x0E00, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpriteSheet_Reticle, 0x0280, ANIM_TAG_RETICLE}, + {gBattleAnimSpriteSheet_Breath, 0x0200, ANIM_TAG_BREATH}, + {gBattleAnimSpriteSheet_Anger, 0x0080, ANIM_TAG_ANGER}, + {gBattleAnimSpriteSheet_Snowball, 0x00C0, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpriteSheet_Vine, 0x0A00, ANIM_TAG_VINE}, + {gBattleAnimSpriteSheet_Sword2, 0x0200, ANIM_TAG_SWORD_2}, + {gBattleAnimSpriteSheet_Clapping, 0x0180, ANIM_TAG_CLAPPING}, + {gBattleAnimSpriteSheet_RedTube, 0x0080, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpriteSheet_Amnesia, 0x1000, ANIM_TAG_AMNESIA}, + {gBattleAnimSpriteSheet_String2, 0x0A00, ANIM_TAG_STRING_2}, + {gBattleAnimSpriteSheet_Pencil2, 0x0180, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpriteSheet_Petal, 0x0380, ANIM_TAG_PETAL}, + {gBattleAnimSpriteSheet_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpriteSheet_Web, 0x0200, ANIM_TAG_WEB}, + {gBattleAnimSpriteSheet_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpriteSheet_Coin, 0x0200, ANIM_TAG_COIN}, + {gBattleAnimSpriteSheet_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpriteSheet_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpriteSheet_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpriteSheet_Fangs, 0x0400, ANIM_TAG_FANGS}, + {gBattleAnimSpriteSheet_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpriteSheet_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpriteSheet_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpriteSheet_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpriteSheet_Seed2, 0x0020, ANIM_TAG_SEED_2}, + {gBattleAnimSpriteSheet_Sprout, 0x0e00, ANIM_TAG_SPROUT}, + {gBattleAnimSpriteSheet_RedWand, 0x0080, ANIM_TAG_RED_WAND}, + {gBattleAnimSpriteSheet_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpriteSheet_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpriteSheet_MudUnk, 0x0200, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpriteSheet_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpriteSheet_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpriteSheet_Vine2, 0x0a00, ANIM_TAG_VINE_2}, + {gBattleAnimSpriteSheet_Teeth, 0x0600, ANIM_TAG_TEETH}, + {gBattleAnimSpriteSheet_Bone2, 0x0800, ANIM_TAG_BONE_2}, + {gBattleAnimSpriteSheet_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpriteSheet_Unknown, 0x0040, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpriteSheet_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpriteSheet_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpriteSheet_Shock2, 0x0600, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpriteSheet_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpriteSheet_MetalBall, 0x0080, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpriteSheet_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpriteSheet_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpriteSheet_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpriteSheet_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpriteSheet_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpriteSheet_Tongue, 0x0280, ANIM_TAG_TONGUE}, + {gBattleAnimSpriteSheet_Smoke, 0x0100, ANIM_TAG_SMOKE}, + {gBattleAnimSpriteSheet_Smoke2, 0x0200, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpriteSheet_Impact, 0x0200, ANIM_TAG_IMPACT}, + {gBattleAnimSpriteSheet_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpriteSheet_Scratch, 0x0a00, ANIM_TAG_SCRATCH}, + {gBattleAnimSpriteSheet_Cut, 0x0800, ANIM_TAG_CUT}, + {gBattleAnimSpriteSheet_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, + {gBattleAnimSpriteSheet_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpriteSheet_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpriteSheet_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES}, + {gBattleAnimSpriteSheet_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, + {gBattleAnimSpriteSheet_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpriteSheet_Clamp, 0x0800, ANIM_TAG_CLAMP}, + {gBattleAnimSpriteSheet_Bubble, 0x0180, ANIM_TAG_BUBBLE}, + {gBattleAnimSpriteSheet_Orbs, 0x0180, ANIM_TAG_ORBS}, + {gBattleAnimSpriteSheet_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpriteSheet_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpriteSheet_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpriteSheet_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, + {gBattleAnimSpriteSheet_Spikes, 0x0080, ANIM_TAG_SPIKES}, + {gBattleAnimSpriteSheet_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpriteSheet_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpriteSheet_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES}, + {gBattleAnimSpriteSheet_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW}, + {gBattleAnimSpriteSheet_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpriteSheet_Spore, 0x0100, ANIM_TAG_SPORE}, + {gBattleAnimSpriteSheet_Flower, 0x00a0, ANIM_TAG_FLOWER}, + {gBattleAnimSpriteSheet_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpriteSheet_Needle, 0x0080, ANIM_TAG_NEEDLE}, + {gBattleAnimSpriteSheet_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpriteSheet_GoldRing, 0x0100, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpriteSheet_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpriteSheet_GoldRing, 0x0100, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpriteSheet_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpriteSheet_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpriteSheet_SparkH, 0x0200, ANIM_TAG_SPARK_H}, + {gBattleAnimSpriteSheet_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpriteSheet_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpriteSheet_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpriteSheet_Lick, 0x0500, ANIM_TAG_LICK}, + {gBattleAnimSpriteSheet_VoidLines, 0x0800, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpriteSheet_String, 0x0400, ANIM_TAG_STRING}, + {gBattleAnimSpriteSheet_WebThread, 0x0020, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpriteSheet_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpriteSheet_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpriteSheet_Slash, 0x0800, ANIM_TAG_SLASH}, + {gBattleAnimSpriteSheet_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpriteSheet_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpriteSheet_Tendrils, 0x1000, ANIM_TAG_TENDRILS}, + {gBattleAnimSpriteSheet_Eye, 0x0800, ANIM_TAG_EYE}, + {gBattleAnimSpriteSheet_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpriteSheet_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpriteSheet_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpriteSheet_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpriteSheet_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpriteSheet_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpriteSheet_Moon, 0x0800, ANIM_TAG_MOON}, + {gBattleAnimSpriteSheet_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpriteSheet_Spiral, 0x0800, ANIM_TAG_SPIRAL}, + {gBattleAnimSpriteSheet_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpriteSheet_Explosion, 0x0800, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpriteSheet_Nail, 0x0400, ANIM_TAG_NAIL}, + {gBattleAnimSpriteSheet_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpriteSheet_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpriteSheet_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpriteSheet_ThinRing, 0x0800, ANIM_TAG_THIN_RING}, + {gBattleAnimSpriteSheet_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpriteSheet_Bell, 0x0600, ANIM_TAG_BELL}, + {gBattleAnimSpriteSheet_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpriteSheet_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpriteSheet_TornMetal, 0x0800, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpriteSheet_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpriteSheet_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpriteSheet_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpriteSheet_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteSheet_Electricity, 0x0800, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpriteSheet_Finger2, 0x0600, ANIM_TAG_FINGER_2}, + {gBattleAnimSpriteSheet_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpriteSheet_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART}, + {gBattleAnimSpriteSheet_RedOrb, 0x0080, ANIM_TAG_RED_ORB}, + {gBattleAnimSpriteSheet_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpriteSheet_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpriteSheet_Angel, 0x0200, ANIM_TAG_ANGEL}, + {gBattleAnimSpriteSheet_Devil, 0x0400, ANIM_TAG_DEVIL}, + {gBattleAnimSpriteSheet_Swipe, 0x0a00, ANIM_TAG_SWIPE}, + {gBattleAnimSpriteSheet_Roots, 0x0800, ANIM_TAG_ROOTS}, + {gBattleAnimSpriteSheet_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpriteSheet_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, + {gBattleAnimSpriteSheet_Pokeball, 0x0080, ANIM_TAG_POKEBALL}, + {gBattleAnimSpriteSheet_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpriteSheet_LetterZ, 0x0200, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpriteSheet_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpriteSheet_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpriteSheet_WispOrb, 0x0380, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpriteSheet_WispFire, 0x0800, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpriteSheet_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpriteSheet_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpriteSheet_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpriteSheet_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpriteSheet_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpriteSheet_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpriteSheet_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpriteSheet_Confetti, 0x0180, ANIM_TAG_CONFETTI}, + {gBattleAnimSpriteSheet_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, + {gBattleAnimSpriteSheet_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpriteSheet_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpriteSheet_GuardRing, 0x0400, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpriteSheet_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpriteSheet_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpriteSheet_TagHand, 0x0400, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpriteSheet_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpriteSheet_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpriteSheet_XSign, 0x0800, ANIM_TAG_X_SIGN}, + {gBattleAnimSpriteSheet_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpriteSheet_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpriteSheet_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpriteSheet_RedBall, 0x0200, ANIM_TAG_RED_BALL}, + {gBattleAnimSpriteSheet_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpriteSheet_Meteor, 0x0800, ANIM_TAG_METEOR}, + {gBattleAnimSpriteSheet_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpriteSheet_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpriteSheet_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpriteSheet_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpriteSheet_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpriteSheet_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpriteSheet_Hail, 0x0080, ANIM_TAG_HAIL}, + {gBattleAnimSpriteSheet_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpriteSheet_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpriteSheet_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpriteSheet_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteSheet_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpriteSheet_RedBrick, 0x0080, ANIM_TAG_RED_BRICK}, + {gBattleAnimSpriteSheet_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpriteSheet_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpriteSheet_Splash, 0x0800, ANIM_TAG_SPLASH}, + {gBattleAnimSpriteSheet_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpriteSheet_Gem1, 0x0800, ANIM_TAG_GEM_1}, + {gBattleAnimSpriteSheet_Gem2, 0x0800, ANIM_TAG_GEM_2}, + {gBattleAnimSpriteSheet_Gem3, 0x0800, ANIM_TAG_GEM_3}, + {gBattleAnimSpriteSheet_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpriteSheet_Recycle, 0x0800, ANIM_TAG_RECYCLE}, + {gBattleAnimSpriteSheet_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpriteSheet_Protect, 0x0800, ANIM_TAG_PROTECT}, + {gBattleAnimSpriteSheet_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpriteSheet_Shock3, 0x0600, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpriteSheet_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpriteSheet_Bird, 0x0800, ANIM_TAG_BIRD}, + {gBattleAnimSpriteSheet_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpriteSheet_Slash, 0x0800, ANIM_TAG_SLASH_2}, + {gBattleAnimSpriteSheet_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpriteSheet_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2}, }; - const struct CompressedSpritePalette gBattleAnimPaletteTable[] = { - {gBattleAnimSpritePalette_000, ANIM_TAG_BONE}, - {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK}, - {gBattleAnimSpritePalette_002, ANIM_TAG_PENCIL}, - {gBattleAnimSpritePalette_003, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpritePalette_004, ANIM_TAG_ORB}, - {gBattleAnimSpritePalette_005, ANIM_TAG_SWORD}, - {gBattleAnimSpritePalette_006, ANIM_TAG_SEED}, - {gBattleAnimSpritePalette_007, ANIM_TAG_EXPLOSION_6}, - {gBattleAnimSpritePalette_008, ANIM_TAG_PINK_ORB}, - {gBattleAnimSpritePalette_009, ANIM_TAG_GUST}, - {gBattleAnimSpritePalette_010, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpritePalette_011, ANIM_TAG_SPARK_2}, - {gBattleAnimSpritePalette_012, ANIM_TAG_ORANGE}, - {gBattleAnimSpritePalette_013, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpritePalette_014, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpritePalette_015, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpritePalette_018, ANIM_TAG_CONVERSION}, - {gBattleAnimSpritePalette_019, ANIM_TAG_GLASS}, - {gBattleAnimSpritePalette_020, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpritePalette_021, ANIM_TAG_HIT}, - {gBattleAnimSpritePalette_022, ANIM_TAG_HIT_2}, - {gBattleAnimSpritePalette_023, ANIM_TAG_BLUE_SHARDS}, - {gBattleAnimSpritePalette_024, ANIM_TAG_CLOSING_EYE}, - {gBattleAnimSpritePalette_025, ANIM_TAG_WAVING_HAND}, - {gBattleAnimSpritePalette_026, ANIM_TAG_HIT_DUPLICATE}, - {gBattleAnimSpritePalette_027, ANIM_TAG_LEER}, - {gBattleAnimSpritePalette_028, ANIM_TAG_BLUE_BURST}, - {gBattleAnimSpritePalette_029, ANIM_TAG_SMALL_EMBER}, - {gBattleAnimSpritePalette_030, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpritePalette_031, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpritePalette_032, ANIM_TAG_BUBBLE_BURST}, - {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE}, - {gBattleAnimSpritePalette_033, ANIM_TAG_SPINNING_FIRE}, - {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpritePalette_036, ANIM_TAG_LIGHTNING_2}, - {gBattleAnimSpritePalette_036, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpritePalette_038, ANIM_TAG_CLAW_SLASH_2}, - {gBattleAnimSpritePalette_039, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpritePalette_038, ANIM_TAG_SCRATCH_3}, - {gBattleAnimSpritePalette_038, ANIM_TAG_SCRATCH_2}, - {gBattleAnimSpritePalette_042, ANIM_TAG_BUBBLE_BURST_2}, - {gBattleAnimSpritePalette_043, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpritePalette_044, ANIM_TAG_GLASS_2}, - {gBattleAnimSpritePalette_045, ANIM_TAG_PINK_HEART_2}, - {gBattleAnimSpritePalette_046, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpritePalette_047, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpritePalette_048, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpritePalette_049, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpritePalette_050, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpritePalette_050, ANIM_TAG_MONSTER_FOOT}, - {gBattleAnimSpritePalette_050, ANIM_TAG_HUMANOID_HAND}, - {gBattleAnimSpritePalette_026, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpritePalette_054, ANIM_TAG_YELLOW_UNK}, - {gBattleAnimSpritePalette_050, ANIM_TAG_RED_FIST}, - {gBattleAnimSpritePalette_056, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpritePalette_057, ANIM_TAG_RING}, - {gBattleAnimSpritePalette_058, ANIM_TAG_ROCKS}, - {gBattleAnimSpritePalette_059, ANIM_TAG_Z}, - {gBattleAnimSpritePalette_060, ANIM_TAG_YELLOW_UNK_2}, - {gBattleAnimSpritePalette_061, ANIM_TAG_AIR_SLASH}, - {gBattleAnimSpritePalette_062, ANIM_TAG_SPINNING_GREEN_ORBS}, - {gBattleAnimSpritePalette_063, ANIM_TAG_LEAF}, - {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER}, - {gBattleAnimSpritePalette_065, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpritePalette_066, ANIM_TAG_BROWN_TRIANGLE}, - {gBattleAnimSpritePalette_067, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpritePalette_068, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpritePalette_065, ANIM_TAG_POWDER}, - {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpritePalette_072, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpritePalette_073, ANIM_TAG_DUCK}, - {gBattleAnimSpritePalette_074, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpritePalette_075, ANIM_TAG_ALERT}, - {gBattleAnimSpritePalette_076, ANIM_TAG_BLUE_FLAMES}, - {gBattleAnimSpritePalette_076, ANIM_TAG_BLUE_FLAMES_2}, - {gBattleAnimSpritePalette_078, ANIM_TAG_SHOCK_4}, - {gBattleAnimSpritePalette_078, ANIM_TAG_SHOCK}, - {gBattleAnimSpritePalette_080, ANIM_TAG_BELL_2}, - {gBattleAnimSpritePalette_081, ANIM_TAG_PINK_GLOVE}, - {gBattleAnimSpritePalette_082, ANIM_TAG_BLUE_LINES}, - {gBattleAnimSpritePalette_083, ANIM_TAG_IMPACT_3}, - {gBattleAnimSpritePalette_084, ANIM_TAG_IMPACT_2}, - {gBattleAnimSpritePalette_085, ANIM_TAG_RETICLE}, - {gBattleAnimSpritePalette_086, ANIM_TAG_BREATH}, - {gBattleAnimSpritePalette_087, ANIM_TAG_ANGER}, - {gBattleAnimSpritePalette_088, ANIM_TAG_SNOWBALL}, - {gBattleAnimSpritePalette_089, ANIM_TAG_VINE}, - {gBattleAnimSpritePalette_090, ANIM_TAG_SWORD_2}, - {gBattleAnimSpritePalette_091, ANIM_TAG_CLAPPING}, - {gBattleAnimSpritePalette_092, ANIM_TAG_RED_TUBE}, - {gBattleAnimSpritePalette_093, ANIM_TAG_AMNESIA}, - {gBattleAnimSpritePalette_094, ANIM_TAG_STRING_2}, - {gBattleAnimSpritePalette_095, ANIM_TAG_PENCIL_2}, - {gBattleAnimSpritePalette_096, ANIM_TAG_PETAL}, - {gBattleAnimSpritePalette_097, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpritePalette_094, ANIM_TAG_WEB}, - {gBattleAnimSpritePalette_099, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpritePalette_100, ANIM_TAG_COIN}, - {gBattleAnimSpritePalette_101, ANIM_TAG_CRACKED_EGG}, - {gBattleAnimSpritePalette_101, ANIM_TAG_HATCHED_EGG}, - {gBattleAnimSpritePalette_103, ANIM_TAG_FRESH_EGG}, - {gBattleAnimSpritePalette_104, ANIM_TAG_FANGS}, - {gBattleAnimSpritePalette_105, ANIM_TAG_EXPLOSION_2}, - {gBattleAnimSpritePalette_105, ANIM_TAG_EXPLOSION_3}, - {gBattleAnimSpritePalette_107, ANIM_TAG_WATER_DROPLET}, - {gBattleAnimSpritePalette_107, ANIM_TAG_WATER_DROPLET_2}, - {gBattleAnimSpritePalette_109, ANIM_TAG_SEED_2}, - {gBattleAnimSpritePalette_109, ANIM_TAG_SPROUT}, - {gBattleAnimSpritePalette_111, ANIM_TAG_RED_WAND}, - {gBattleAnimSpritePalette_112, ANIM_TAG_PURPLE_GREEN_UNK}, - {gBattleAnimSpritePalette_113, ANIM_TAG_WATER_COLUMN}, - {gBattleAnimSpritePalette_114, ANIM_TAG_MUD_UNK}, - {gBattleAnimSpritePalette_115, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpritePalette_116, ANIM_TAG_FURY_SWIPES}, - {gBattleAnimSpritePalette_117, ANIM_TAG_VINE_2}, - {gBattleAnimSpritePalette_118, ANIM_TAG_TEETH}, - {gBattleAnimSpritePalette_119, ANIM_TAG_BONE_2}, - {gBattleAnimSpritePalette_120, ANIM_TAG_WHITE_BAG}, - {gBattleAnimSpritePalette_121, ANIM_TAG_UNKNOWN}, - {gBattleAnimSpritePalette_122, ANIM_TAG_PURPLE_CORAL}, - {gBattleAnimSpritePalette_122, ANIM_TAG_PURPLE_DROPLET}, - {gBattleAnimSpritePalette_124, ANIM_TAG_SHOCK_2}, - {gBattleAnimSpritePalette_125, ANIM_TAG_CLOSING_EYE_2}, - {gBattleAnimSpritePalette_126, ANIM_TAG_METAL_BALL}, - {gBattleAnimSpritePalette_127, ANIM_TAG_MONSTER_DOLL}, - {gBattleAnimSpritePalette_128, ANIM_TAG_WHIRLWIND}, - {gBattleAnimSpritePalette_128, ANIM_TAG_WHIRLWIND_2}, - {gBattleAnimSpritePalette_130, ANIM_TAG_EXPLOSION_4}, - {gBattleAnimSpritePalette_130, ANIM_TAG_EXPLOSION_5}, - {gBattleAnimSpritePalette_132, ANIM_TAG_TONGUE}, - {gBattleAnimSpritePalette_133, ANIM_TAG_SMOKE}, - {gBattleAnimSpritePalette_133, ANIM_TAG_SMOKE_2}, - {gBattleAnimSpritePalette_135, ANIM_TAG_IMPACT}, - {gBattleAnimSpritePalette_136, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpritePalette_135, ANIM_TAG_SCRATCH}, - {gBattleAnimSpritePalette_135, ANIM_TAG_CUT}, - {gBattleAnimSpritePalette_139, ANIM_TAG_SHARP_TEETH}, - {gBattleAnimSpritePalette_140, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_SPIKES}, - {gBattleAnimSpritePalette_143, ANIM_TAG_HANDS_AND_FEET}, - {gBattleAnimSpritePalette_144, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpritePalette_139, ANIM_TAG_CLAMP}, - {gBattleAnimSpritePalette_115, ANIM_TAG_BUBBLE}, - {gBattleAnimSpritePalette_147, ANIM_TAG_ORBS}, - {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpritePalette_150, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpritePalette_150, ANIM_TAG_TOXIC_BUBBLE}, - {gBattleAnimSpritePalette_152, ANIM_TAG_SPIKES}, - {gBattleAnimSpritePalette_153, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpritePalette_154, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpritePalette_155, ANIM_TAG_SMALL_BUBBLES}, - {gBattleAnimSpritePalette_156, ANIM_TAG_ROUND_SHADOW}, - {gBattleAnimSpritePalette_157, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpritePalette_158, ANIM_TAG_SPORE}, - {gBattleAnimSpritePalette_159, ANIM_TAG_FLOWER}, - {gBattleAnimSpritePalette_160, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpritePalette_161, ANIM_TAG_NEEDLE}, - {gBattleAnimSpritePalette_162, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpritePalette_163, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpritePalette_164, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpritePalette_165, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpritePalette_166, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpritePalette_167, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpritePalette_168, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpritePalette_169, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpritePalette_170, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpritePalette_171, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpritePalette_172, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK_H}, - {gBattleAnimSpritePalette_174, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpritePalette_175, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpritePalette_176, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpritePalette_177, ANIM_TAG_LICK}, - {gBattleAnimSpritePalette_178, ANIM_TAG_VOID_LINES}, - {gBattleAnimSpritePalette_179, ANIM_TAG_STRING}, - {gBattleAnimSpritePalette_179, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpritePalette_179, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpritePalette_182, ANIM_TAG_LIGHTBULB}, - {gBattleAnimSpritePalette_183, ANIM_TAG_SLASH}, - {gBattleAnimSpritePalette_184, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpritePalette_185, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpritePalette_186, ANIM_TAG_TENDRILS}, - {gBattleAnimSpritePalette_187, ANIM_TAG_EYE}, - {gBattleAnimSpritePalette_188, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpritePalette_189, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpritePalette_190, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpritePalette_191, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpritePalette_192, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpritePalette_193, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpritePalette_194, ANIM_TAG_MOON}, - {gBattleAnimSpritePalette_195, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpritePalette_196, ANIM_TAG_SPIRAL}, - {gBattleAnimSpritePalette_197, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpritePalette_198, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpritePalette_199, ANIM_TAG_NAIL}, - {gBattleAnimSpritePalette_200, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpritePalette_201, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpritePalette_202, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpritePalette_203, ANIM_TAG_THIN_RING}, - {gBattleAnimSpritePalette_204, ANIM_TAG_PUNCH_IMPACT}, - {gBattleAnimSpritePalette_205, ANIM_TAG_BELL}, - {gBattleAnimSpritePalette_206, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpritePalette_207, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpritePalette_167, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpritePalette_209, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpritePalette_210, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpritePalette_211, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER_2}, - {gBattleAnimSpritePalette_215, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpritePalette_216, ANIM_TAG_RED_HEART}, - {gBattleAnimSpritePalette_217, ANIM_TAG_RED_ORB}, - {gBattleAnimSpritePalette_218, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpritePalette_219, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpritePalette_220, ANIM_TAG_ANGEL}, - {gBattleAnimSpritePalette_221, ANIM_TAG_DEVIL}, - {gBattleAnimSpritePalette_222, ANIM_TAG_SWIPE}, - {gBattleAnimSpritePalette_223, ANIM_TAG_ROOTS}, - {gBattleAnimSpritePalette_224, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpritePalette_225, ANIM_TAG_JAGGED_MUSIC_NOTE}, - {gBattleAnimSpritePalette_226, ANIM_TAG_POKEBALL}, - {gBattleAnimSpritePalette_226, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpritePalette_228, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpritePalette_229, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpritePalette_230, ANIM_TAG_TRI_FORCE_TRIANGLE}, - {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpritePalette_233, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpritePalette_234, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpritePalette_235, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpritePalette_236, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpritePalette_237, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpritePalette_238, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpritePalette_239, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpritePalette_240, ANIM_TAG_CONFETTI}, - {gBattleAnimSpritePalette_241, ANIM_TAG_GREEN_STAR}, - {gBattleAnimSpritePalette_242, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpritePalette_243, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpritePalette_244, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpritePalette_064, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpritePalette_248, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpritePalette_249, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpritePalette_249, ANIM_TAG_X_SIGN}, - {gBattleAnimSpritePalette_251, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpritePalette_252, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpritePalette_253, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpritePalette_254, ANIM_TAG_RED_BALL}, - {gBattleAnimSpritePalette_255, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpritePalette_256, ANIM_TAG_METEOR}, - {gBattleAnimSpritePalette_257, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpritePalette_258, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpritePalette_259, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpritePalette_260, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpritePalette_261, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpritePalette_262, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpritePalette_263, ANIM_TAG_HAIL}, - {gBattleAnimSpritePalette_264, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpritePalette_265, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpritePalette_266, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpritePalette_267, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePalette_268, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpritePalette_269, ANIM_TAG_RED_BRICK}, - {gBattleAnimSpritePalette_270, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpritePalette_271, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpritePalette_272, ANIM_TAG_SPLASH}, - {gBattleAnimSpritePalette_272, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpritePalette_274, ANIM_TAG_GEM_1}, - {gBattleAnimSpritePalette_274, ANIM_TAG_GEM_2}, - {gBattleAnimSpritePalette_274, ANIM_TAG_GEM_3}, - {gBattleAnimSpritePalette_277, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpritePalette_278, ANIM_TAG_RECYCLE}, - {gBattleAnimSpritePalette_279, ANIM_TAG_RED_PARTICLES}, - {gBattleAnimSpritePalette_280, ANIM_TAG_PROTECT}, - {gBattleAnimSpritePalette_281, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpritePalette_282, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpritePalette_283, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpritePalette_284, ANIM_TAG_BIRD}, - {gBattleAnimSpritePalette_285, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpritePalette_286, ANIM_TAG_SLASH_2}, - {gBattleAnimSpritePalette_287, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpritePalette_288, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpritePalette_Bone, ANIM_TAG_BONE}, + {gBattleAnimSpritePalette_Spark, ANIM_TAG_SPARK}, + {gBattleAnimSpritePalette_Pencil, ANIM_TAG_PENCIL}, + {gBattleAnimSpritePalette_AirWave, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpritePalette_Orb, ANIM_TAG_ORB}, + {gBattleAnimSpritePalette_Sword, ANIM_TAG_SWORD}, + {gBattleAnimSpritePalette_Seed, ANIM_TAG_SEED}, + {gBattleAnimSpritePalette_Explosion6, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpritePalette_PinkOrb, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpritePalette_Gust, ANIM_TAG_GUST}, + {gBattleAnimSpritePalette_IceCube, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpritePalette_Spark2, ANIM_TAG_SPARK_2}, + {gBattleAnimSpritePalette_Orange, ANIM_TAG_ORANGE}, + {gBattleAnimSpritePalette_YellowBall, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpritePalette_LockOn, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpritePalette_TiedBag, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpritePalette_BlackSmoke, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpritePalette_BlackSmoke, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpritePalette_Conversion, ANIM_TAG_CONVERSION}, + {gBattleAnimSpritePalette_Glass, ANIM_TAG_GLASS}, + {gBattleAnimSpritePalette_HornHit, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpritePalette_Hit, ANIM_TAG_HIT}, + {gBattleAnimSpritePalette_Hit2, ANIM_TAG_HIT_2}, + {gBattleAnimSpritePalette_BlueShards, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpritePalette_ClosingEye, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpritePalette_WavingHand, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpritePalette_HitDuplicate, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpritePalette_Leer, ANIM_TAG_LEER}, + {gBattleAnimSpritePalette_BlueBurst, ANIM_TAG_BLUE_BURST}, + {gBattleAnimSpritePalette_SmallEmber, ANIM_TAG_SMALL_EMBER}, + {gBattleAnimSpritePalette_GraySmoke, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpritePalette_BlueStar, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpritePalette_BubbleBurst, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpritePalette_Fire, ANIM_TAG_FIRE}, + {gBattleAnimSpritePalette_Fire, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpritePalette_Fire, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpritePalette_Lightning2, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpritePalette_Lightning2, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpritePalette_ClawSlash2, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpritePalette_ClawSlash, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpritePalette_ClawSlash2, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpritePalette_ClawSlash2, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpritePalette_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpritePalette_IceChunk, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpritePalette_Glass2, ANIM_TAG_GLASS_2}, + {gBattleAnimSpritePalette_PinkHeart2, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpritePalette_SapDrip, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePalette_SapDrip2, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePalette_Sparkle1, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpritePalette_Sparkle2, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpritePalette_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpritePalette_HumanoidFoot, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpritePalette_HumanoidFoot, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpritePalette_HitDuplicate, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpritePalette_YellowUnk, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpritePalette_HumanoidFoot, ANIM_TAG_RED_FIST}, + {gBattleAnimSpritePalette_SlamHit, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpritePalette_Ring, ANIM_TAG_RING}, + {gBattleAnimSpritePalette_Rocks, ANIM_TAG_ROCKS}, + {gBattleAnimSpritePalette_Z, ANIM_TAG_Z}, + {gBattleAnimSpritePalette_YellowUnk2, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpritePalette_AirSlash, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpritePalette_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS}, + {gBattleAnimSpritePalette_Leaf, ANIM_TAG_LEAF}, + {gBattleAnimSpritePalette_Finger, ANIM_TAG_FINGER}, + {gBattleAnimSpritePalette_PoisonPowder, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpritePalette_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpritePalette_SleepPowder, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpritePalette_StunSpore, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpritePalette_PoisonPowder, ANIM_TAG_POWDER}, + {gBattleAnimSpritePalette_Sparkle3, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpritePalette_Sparkle3, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpritePalette_MusicNotes, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpritePalette_Duck, ANIM_TAG_DUCK}, + {gBattleAnimSpritePalette_MudSand, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpritePalette_Alert, ANIM_TAG_ALERT}, + {gBattleAnimSpritePalette_BlueFlames, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpritePalette_BlueFlames, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpritePalette_Shock4, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpritePalette_Shock4, ANIM_TAG_SHOCK}, + {gBattleAnimSpritePalette_Bell2, ANIM_TAG_BELL_2}, + {gBattleAnimSpritePalette_PinkGlove, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpritePalette_BlueLines, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpritePalette_Impact3, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpritePalette_Impact2, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpritePalette_Reticle, ANIM_TAG_RETICLE}, + {gBattleAnimSpritePalette_Breath, ANIM_TAG_BREATH}, + {gBattleAnimSpritePalette_Anger, ANIM_TAG_ANGER}, + {gBattleAnimSpritePalette_Snowball, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpritePalette_Vine, ANIM_TAG_VINE}, + {gBattleAnimSpritePalette_Sword2, ANIM_TAG_SWORD_2}, + {gBattleAnimSpritePalette_Clapping, ANIM_TAG_CLAPPING}, + {gBattleAnimSpritePalette_RedTube, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpritePalette_Amnesia, ANIM_TAG_AMNESIA}, + {gBattleAnimSpritePalette_String2, ANIM_TAG_STRING_2}, + {gBattleAnimSpritePalette_Pencil2, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpritePalette_Petal, ANIM_TAG_PETAL}, + {gBattleAnimSpritePalette_BentSpoon, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpritePalette_String2, ANIM_TAG_WEB}, + {gBattleAnimSpritePalette_MilkBottle, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpritePalette_Coin, ANIM_TAG_COIN}, + {gBattleAnimSpritePalette_CrackedEgg, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpritePalette_CrackedEgg, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpritePalette_FreshEgg, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpritePalette_Fangs, ANIM_TAG_FANGS}, + {gBattleAnimSpritePalette_Explosion2, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpritePalette_Explosion2, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpritePalette_WaterDroplet, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpritePalette_WaterDroplet, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpritePalette_Seed2, ANIM_TAG_SEED_2}, + {gBattleAnimSpritePalette_Seed2, ANIM_TAG_SPROUT}, + {gBattleAnimSpritePalette_RedWand, ANIM_TAG_RED_WAND}, + {gBattleAnimSpritePalette_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpritePalette_WaterColumn, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpritePalette_MudUnk, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpritePalette_RainDrops, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpritePalette_FurySwipes, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpritePalette_Vine2, ANIM_TAG_VINE_2}, + {gBattleAnimSpritePalette_Teeth, ANIM_TAG_TEETH}, + {gBattleAnimSpritePalette_Bone2, ANIM_TAG_BONE_2}, + {gBattleAnimSpritePalette_WhiteBag, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpritePalette_Unknown, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpritePalette_PurpleCoral, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpritePalette_PurpleCoral, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpritePalette_Shock2, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpritePalette_ClosingEye2, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpritePalette_MetalBall, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpritePalette_MonsterDoll, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpritePalette_Whirlwind, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpritePalette_Whirlwind, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpritePalette_Explosion4, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpritePalette_Explosion4, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpritePalette_Tongue, ANIM_TAG_TONGUE}, + {gBattleAnimSpritePalette_Smoke, ANIM_TAG_SMOKE}, + {gBattleAnimSpritePalette_Smoke, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpritePalette_Impact, ANIM_TAG_IMPACT}, + {gBattleAnimSpritePalette_CircleImpact, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpritePalette_Impact, ANIM_TAG_SCRATCH}, + {gBattleAnimSpritePalette_Impact, ANIM_TAG_CUT}, + {gBattleAnimSpritePalette_SharpTeeth, ANIM_TAG_SHARP_TEETH}, + {gBattleAnimSpritePalette_RainbowRings, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpritePalette_IceCrystals, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpritePalette_IceCrystals, ANIM_TAG_ICE_SPIKES}, + {gBattleAnimSpritePalette_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, + {gBattleAnimSpritePalette_MistCloud, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpritePalette_SharpTeeth, ANIM_TAG_CLAMP}, + {gBattleAnimSpritePalette_RainDrops, ANIM_TAG_BUBBLE}, + {gBattleAnimSpritePalette_Orbs, ANIM_TAG_ORBS}, + {gBattleAnimSpritePalette_WaterImpact, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpritePalette_WaterImpact, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpritePalette_PoisonBubble, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpritePalette_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE}, + {gBattleAnimSpritePalette_Spikes, ANIM_TAG_SPIKES}, + {gBattleAnimSpritePalette_HornHit2, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpritePalette_AirWave2, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpritePalette_SmallBubbles, ANIM_TAG_SMALL_BUBBLES}, + {gBattleAnimSpritePalette_RoundShadow, ANIM_TAG_ROUND_SHADOW}, + {gBattleAnimSpritePalette_Sunlight, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpritePalette_Spore, ANIM_TAG_SPORE}, + {gBattleAnimSpritePalette_Flower, ANIM_TAG_FLOWER}, + {gBattleAnimSpritePalette_RazorLeaf, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpritePalette_Needle, ANIM_TAG_NEEDLE}, + {gBattleAnimSpritePalette_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpritePalette_GoldRing, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpritePalette_PurpleRing, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpritePalette_BlueRing, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpritePalette_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpritePalette_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpritePalette_RedLightWall, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpritePalette_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpritePalette_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpritePalette_BlackBall2, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpritePalette_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpritePalette_Spark, ANIM_TAG_SPARK_H}, + {gBattleAnimSpritePalette_YellowStar, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpritePalette_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpritePalette_ShadowBall, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpritePalette_Lick, ANIM_TAG_LICK}, + {gBattleAnimSpritePalette_VoidLines, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpritePalette_String, ANIM_TAG_STRING}, + {gBattleAnimSpritePalette_String, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpritePalette_String, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpritePalette_Lightbulb, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpritePalette_Slash, ANIM_TAG_SLASH}, + {gBattleAnimSpritePalette_FocusEnergy, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpritePalette_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpritePalette_Tendrils, ANIM_TAG_TENDRILS}, + {gBattleAnimSpritePalette_Eye, ANIM_TAG_EYE}, + {gBattleAnimSpritePalette_WhiteShadow, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpritePalette_TealAlert, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpritePalette_OpeningEye, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpritePalette_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpritePalette_FangAttack, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpritePalette_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpritePalette_Moon, ANIM_TAG_MOON}, + {gBattleAnimSpritePalette_GreenSparkle, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpritePalette_Spiral, ANIM_TAG_SPIRAL}, + {gBattleAnimSpritePalette_SnoreZ, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpritePalette_Explosion, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpritePalette_Nail, ANIM_TAG_NAIL}, + {gBattleAnimSpritePalette_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpritePalette_WarmRock, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpritePalette_BreakingEgg, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpritePalette_ThinRing, ANIM_TAG_THIN_RING}, + {gBattleAnimSpritePalette_PunchImpact, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpritePalette_Bell, ANIM_TAG_BELL}, + {gBattleAnimSpritePalette_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpritePalette_SpeedDust, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpritePalette_BlueLightWall, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpritePalette_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpritePalette_MagentaHeart, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpritePalette_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpritePalette_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePalette_ElectricOrbs, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpritePalette_Finger, ANIM_TAG_FINGER_2}, + {gBattleAnimSpritePalette_MovementWaves, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpritePalette_RedHeart, ANIM_TAG_RED_HEART}, + {gBattleAnimSpritePalette_RedOrb, ANIM_TAG_RED_ORB}, + {gBattleAnimSpritePalette_EyeSparkle, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpritePalette_PinkHeart, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpritePalette_Angel, ANIM_TAG_ANGEL}, + {gBattleAnimSpritePalette_Devil, ANIM_TAG_DEVIL}, + {gBattleAnimSpritePalette_Swipe, ANIM_TAG_SWIPE}, + {gBattleAnimSpritePalette_Roots, ANIM_TAG_ROOTS}, + {gBattleAnimSpritePalette_ItemBag, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpritePalette_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE}, + {gBattleAnimSpritePalette_Pokeball, ANIM_TAG_POKEBALL}, + {gBattleAnimSpritePalette_Pokeball, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpritePalette_LetterZ, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpritePalette_RapidSpin, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpritePalette_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpritePalette_WispOrb, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpritePalette_WispOrb, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpritePalette_GoldStars, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpritePalette_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpritePalette_GrayOrb, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpritePalette_BlueOrb, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpritePalette_RedOrb2, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpritePalette_PinkPetal, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpritePalette_PainSplit, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpritePalette_Confetti, ANIM_TAG_CONFETTI}, + {gBattleAnimSpritePalette_GreenStar, ANIM_TAG_GREEN_STAR}, + {gBattleAnimSpritePalette_PinkCloud, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpritePalette_SweatDrop, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpritePalette_GuardRing, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpritePalette_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpritePalette_PurpleScratch, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpritePalette_Finger, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpritePalette_SmallRedEye, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpritePalette_HollowOrb, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpritePalette_HollowOrb, ANIM_TAG_X_SIGN}, + {gBattleAnimSpritePalette_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpritePalette_PawPrint, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpritePalette_PurpleFlame, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpritePalette_RedBall, ANIM_TAG_RED_BALL}, + {gBattleAnimSpritePalette_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpritePalette_Meteor, ANIM_TAG_METEOR}, + {gBattleAnimSpritePalette_FlatRock, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpritePalette_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpritePalette_BrownOrb, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpritePalette_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpritePalette_FlyingDirt, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpritePalette_IcicleSpear, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpritePalette_Hail, ANIM_TAG_HAIL}, + {gBattleAnimSpritePalette_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpritePalette_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpritePalette_GreenSpike, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpritePalette_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePalette_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpritePalette_RedBrick, ANIM_TAG_RED_BRICK}, + {gBattleAnimSpritePalette_WhiteFeather, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpritePalette_Sparkle6, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpritePalette_Splash, ANIM_TAG_SPLASH}, + {gBattleAnimSpritePalette_Splash, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpritePalette_Gem1, ANIM_TAG_GEM_1}, + {gBattleAnimSpritePalette_Gem1, ANIM_TAG_GEM_2}, + {gBattleAnimSpritePalette_Gem1, ANIM_TAG_GEM_3}, + {gBattleAnimSpritePalette_SlamHit2, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpritePalette_Recycle, ANIM_TAG_RECYCLE}, + {gBattleAnimSpritePalette_RedParticles, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpritePalette_Protect, ANIM_TAG_PROTECT}, + {gBattleAnimSpritePalette_DirtMound, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpritePalette_Shock3, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpritePalette_WeatherBall, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpritePalette_Bird, ANIM_TAG_BIRD}, + {gBattleAnimSpritePalette_CrossImpact, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpritePalette_Slash2, ANIM_TAG_SLASH_2}, + {gBattleAnimSpritePalette_WhipHit, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpritePalette_BlueRing2, ANIM_TAG_BLUE_RING_2}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = @@ -3448,5 +3447,3 @@ static void ScriptCmd_stopsound(void) m4aMPlayStop(&gMPlayInfo_SE2); sBattleAnimScriptPtr++; } - - diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index af4bc19ec0..49bb0216bc 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -1121,8 +1121,8 @@ const union AnimCmd *const gUnknown_08592918[] = const struct SpriteTemplate gUnknown_0859291C = { - .tileTag = ANIM_TAG_UNUSED_HIT, - .paletteTag = ANIM_TAG_UNUSED_HIT, + .tileTag = ANIM_TAG_HIT, + .paletteTag = ANIM_TAG_HIT, .oam = &gUnknown_08524914, .anims = gUnknown_08592918, .images = NULL, @@ -1132,8 +1132,8 @@ const struct SpriteTemplate gUnknown_0859291C = const struct SpriteTemplate gUnknown_08592934 = { - .tileTag = ANIM_TAG_UNUSED_HIT_2, - .paletteTag = ANIM_TAG_UNUSED_HIT_2, + .tileTag = ANIM_TAG_HIT_2, + .paletteTag = ANIM_TAG_HIT_2, .oam = &gUnknown_08524914, .anims = gUnknown_08592918, .images = NULL, @@ -1442,8 +1442,8 @@ const union AnimCmd *const gUnknown_08592BF4[] = const struct SpriteTemplate gUnknown_08592BFC = { - .tileTag = ANIM_TAG_UNUSED_BUBBLE_BURST, - .paletteTag = ANIM_TAG_UNUSED_BUBBLE_BURST, + .tileTag = ANIM_TAG_BUBBLE_BURST, + .paletteTag = ANIM_TAG_BUBBLE_BURST, .oam = &gUnknown_0852490C, .anims = gUnknown_08592BF4, .images = NULL, diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index e3295acb87..09a4422219 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -189,8 +189,8 @@ const union AffineAnimCmd *const gUnknown_08593300[] = const struct SpriteTemplate gUnknown_08593304 = { - .tileTag = ANIM_TAG_UNUSED_EXPLOSION, - .paletteTag = ANIM_TAG_UNUSED_EXPLOSION, + .tileTag = ANIM_TAG_EXPLOSION_6, + .paletteTag = ANIM_TAG_EXPLOSION_6, .oam = &gUnknown_08524974, .anims = gUnknown_085932E4, .images = NULL, @@ -359,8 +359,8 @@ const struct SpriteTemplate gUnknown_08593488 = const struct SpriteTemplate gUnknown_085934A0 = { - .tileTag = ANIM_TAG_UNUSED_VOID_LINES, - .paletteTag = ANIM_TAG_UNUSED_VOID_LINES, + .tileTag = ANIM_TAG_VOID_LINES, + .paletteTag = ANIM_TAG_VOID_LINES, .oam = &gUnknown_08524A3C, .anims = gDummySpriteAnimTable, .images = NULL, @@ -3067,7 +3067,7 @@ void sub_8105CB4(u8 taskId) paletteNums[i] = AllocSpritePalette(ANIM_SPRITES_START - i); gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); - LZDecompressWram(gBattleAnimSpritePalette_206, gMonSpritesGfxPtr->field_17C); + LZDecompressWram(gBattleAnimSpritePalette_MusicNotes2, gMonSpritesGfxPtr->field_17C); for (i = 0; i < 3; i++) LoadPalette(&gMonSpritesGfxPtr->field_17C[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 92874fe092..8583276ee4 100755 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -121,18 +121,18 @@ const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] = const struct CompressedSpritePalette gBallOpenParticlePalettes[] = { - {gBattleAnimSpritePalette_136, 0xD6EC}, - {gBattleAnimSpritePalette_136, 0xD6ED}, - {gBattleAnimSpritePalette_136, 0xD6EE}, - {gBattleAnimSpritePalette_136, 0xD6EF}, - {gBattleAnimSpritePalette_136, 0xD6F0}, - {gBattleAnimSpritePalette_136, 0xD6F1}, - {gBattleAnimSpritePalette_136, 0xD6F2}, - {gBattleAnimSpritePalette_136, 0xD6F3}, - {gBattleAnimSpritePalette_136, 0xD6F4}, - {gBattleAnimSpritePalette_136, 0xD6F5}, - {gBattleAnimSpritePalette_136, 0xD6F6}, - {gBattleAnimSpritePalette_136, 0xD6F7}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6EC}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6ED}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6EE}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6EF}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6F0}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6F1}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6F2}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6F3}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6F4}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6F5}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6F6}, + {gBattleAnimSpritePalette_CircleImpact, 0xD6F7}, }; const union AnimCmd gUnknown_085E5154[] = @@ -357,8 +357,8 @@ const u16 gUnknown_085E5310[] = const struct SpriteTemplate gBattleAnimSpriteTemplate_85E5338 = { - .tileTag = ANIM_TAG_UNUSED_RED_BRICK, - .paletteTag = ANIM_TAG_UNUSED_RED_BRICK, + .tileTag = ANIM_TAG_RED_BRICK, + .paletteTag = ANIM_TAG_RED_BRICK, .oam = &gUnknown_0852490C, .anims = gDummySpriteAnimTable, .images = NULL, @@ -1314,7 +1314,7 @@ static void sub_8171BAC(struct Sprite *sprite) if (sprite->animEnded) sprite->invisible = 1; - + if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded) { StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 0); @@ -1323,7 +1323,7 @@ static void sub_8171BAC(struct Sprite *sprite) else { gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] -= 288; - gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8; } if (sprite->animEnded && next) @@ -1907,7 +1907,7 @@ void sub_8172BF0(u8 taskId) u8 spriteId; u32 x; u32 done; - + done = FALSE; spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; switch (gTasks[taskId].data[10]) @@ -2063,7 +2063,7 @@ static void sub_8172FEC(u8 taskId) gTasks[taskId].data[13]++; return; } - + if (gBattleSpritesDataPtr->animationData->field_A) return; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 1271680e02..7ed78ea9a0 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -44,8 +44,8 @@ static const union AnimCmd *const sSpriteAnimTable_853EDF8[] = const struct SpriteTemplate gUnknown_0853EDFC = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_0852490C, .anims = sSpriteAnimTable_853EDF8, .images = NULL, @@ -55,8 +55,8 @@ const struct SpriteTemplate gUnknown_0853EDFC = const struct SpriteTemplate gUnknown_0853EE14 = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_0852490C, .anims = sSpriteAnimTable_853EDF8, .images = NULL, @@ -125,8 +125,8 @@ const struct SpriteTemplate gUnknown_0853EE84 = const struct SpriteTemplate gUnknown_0853EE9C = { - .tileTag = ANIM_TAG_UNUSED_MONSTER_FOOT, - .paletteTag = ANIM_TAG_UNUSED_MONSTER_FOOT, + .tileTag = ANIM_TAG_MONSTER_FOOT, + .paletteTag = ANIM_TAG_MONSTER_FOOT, .oam = &gUnknown_08524914, .anims = gDummySpriteAnimTable, .images = NULL, @@ -195,8 +195,8 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_853EEF8[] = const struct SpriteTemplate gUnknown_0853EF18 = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_085249CC, .anims = sSpriteAnimTable_853EEF8, .images = NULL, diff --git a/src/graphics.c b/src/graphics.c index c243c64a54..f585a3feb0 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -21,112 +21,112 @@ const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprite const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz"); // Battle anims -const u32 gBattleAnimSpriteSheet_146[] = INCBIN_U32("graphics/battle_anims/sprites/146.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.4bpp.lz"); -const u32 gBattleAnimSpritePalette_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.gbapal.lz"); -const u32 gBattleAnimSpritePalette_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.gbapal.lz"); -const u32 gBattleAnimSpritePalette_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.gbapal.lz"); -const u32 gBattleAnimSpritePalette_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.gbapal.lz"); -const u32 gBattleAnimSpritePalette_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.gbapal.lz"); -const u32 gBattleAnimSpritePalette_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.gbapal.lz"); +const u32 gBattleAnimSpritePalette_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.gbapal.lz"); +const u32 gBattleAnimSpritePalette_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.4bpp.lz"); -const u32 gBattleAnimSpritePalette_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.4bpp.lz"); -const u32 gBattleAnimSpritePalette_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.4bpp.lz"); -const u32 gBattleAnimSpritePalette_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.4bpp.lz"); +const u32 gBattleAnimSpritePalette_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.4bpp.lz"); -const u32 gBattleAnimSpritePalette_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.4bpp.lz"); -const u32 gBattleAnimSpritePalette_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.4bpp.lz"); -const u32 gBattleAnimSpritePalette_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.4bpp.lz"); -const u32 gBattleAnimSpritePalette_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.4bpp.lz"); -const u32 gBattleAnimSpritePalette_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePalette_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.4bpp.lz"); -const u32 gBattleAnimSpritePalette_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.4bpp.lz"); +const u32 gBattleAnimSpritePalette_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.4bpp.lz"); -const u32 gBattleAnimSpritePalette_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_017[] = INCBIN_U32("graphics/battle_anims/sprites/017.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_BlackBall[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball.4bpp.lz"); const u32 gUnknownGfx_C035B8[] = INCBIN_U32("graphics/unknown/unknown_C035B8.4bpp.lz"); -const u32 gBattleAnimSpritePalette_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.4bpp.lz"); -const u32 gBattleAnimSpritePalette_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.4bpp.lz"); +const u32 gBattleAnimSpritePalette_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.gbapal.lz"); -const u32 gBattleAnimSpritePalette_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.4bpp.lz"); const u32 gUnused_BattleSpritePalette_023[] = INCBIN_U32("graphics/unused/battle_anim_023.gbapal.lz"); const u32 gUnusedGfx_MusicNotes[] = INCBIN_U32("graphics/unused/music_notes.4bpp.lz"); -const u32 gBattleAnimSpritePalette_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.4bpp.lz"); -const u32 gBattleAnimSpritePalette_022[] = INCBIN_U32("graphics/battle_anims/sprites/022.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Hit2[] = INCBIN_U32("graphics/battle_anims/sprites/hit_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.4bpp.lz"); -const u32 gBattleAnimSpritePalette_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.4bpp.lz"); +const u32 gBattleAnimSpritePalette_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.4bpp.lz"); -const u32 gBattleAnimSpritePalette_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.gbapal.lz"); -const u32 gBattleAnimSpritePalette_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.4bpp.lz"); -const u32 gBattleAnimSpritePalette_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.4bpp.lz"); +const u32 gBattleAnimSpritePalette_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.gbapal.lz"); -const u32 gBattleAnimSpritePalette_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.4bpp.lz"); -const u32 gBattleAnimSpritePalette_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.4bpp.lz"); -const u32 gBattleAnimSpritePalette_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.4bpp.lz"); -const u32 gBattleAnimSpritePalette_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.gbapal.lz"); -const u32 gBattleAnimSpritePalette_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_034[] = INCBIN_U32("graphics/battle_anims/sprites/034.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_035[] = INCBIN_U32("graphics/battle_anims/sprites/035.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_SpinningFire[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_fire.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_FirePlume[] = INCBIN_U32("graphics/battle_anims/sprites/fire_plume.4bpp.lz"); -const u32 gBattleAnimSpritePalette_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_037[] = INCBIN_U32("graphics/battle_anims/sprites/037.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Lightning[] = INCBIN_U32("graphics/battle_anims/sprites/lightning.4bpp.lz"); const u32 gUnknownGfx_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.4bpp.lz"); const u32 gUnknownPal_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.gbapal.lz"); @@ -141,118 +141,118 @@ const u32 gOldBattleInterfacePal_5_6_7[] = INCBIN_U32("graphics/unused/obi_palpa const u32 gOldBattleInterfaceGfx2[] = INCBIN_U32("graphics/unused/obi2.4bpp.lz"); const u32 gOldBattleInterfaceTilemap[] = INCBIN_U32("graphics/unused/old_battle_interface_tilemap.bin.lz"); -const u32 gBattleAnimSpritePalette_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.gbapal.lz"); -const u32 gBattleAnimSpritePalette_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.gbapal.lz"); +const u32 gBattleAnimSpritePalette_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.gbapal.lz"); +const u32 gBattleAnimSpritePalette_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_040[] = INCBIN_U32("graphics/battle_anims/sprites/040.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_041[] = INCBIN_U32("graphics/battle_anims/sprites/041.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz"); const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.gbapal.lz"); +const u32 gBattleAnimSpritePalette_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.4bpp.lz"); -const u32 gBattleAnimSpritePalette_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.4bpp.lz"); +const u32 gBattleAnimSpritePalette_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.gbapal.lz"); -const u32 gBattleAnimSpritePalette_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.4bpp.lz"); const u32 gUnknown_08C08F0C[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz"); const u32 gUnknown_08C093C8[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz"); const u32 gUnknown_08C093F0[] = INCBIN_U32("graphics/interface/hp_numbers.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.4bpp.lz"); -const u32 gBattleAnimSpritePalette_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz"); -const u32 gBattleAnimSpritePalette_047[] = INCBIN_U32("graphics/battle_anims/sprites/047.gbapal.lz"); +const u32 gBattleAnimSpritePalette_SapDrip2[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip_2.gbapal.lz"); const u32 gUnusedGfx_Window2[] = INCBIN_U32("graphics/battle_interface/unused_window2.4bpp.lz"); const u32 gUnusedGfx_Window2Bar[] = INCBIN_U32("graphics/battle_interface/unused_window2bar.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.4bpp.lz"); -const u32 gBattleAnimSpritePalette_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.gbapal.lz"); -const u32 gBattleAnimSpritePalette_049[] = INCBIN_U32("graphics/battle_anims/sprites/049.gbapal.lz"); -const u32 gBattleAnimSpritePalette_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Sparkle2[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_2.gbapal.lz"); +const u32 gBattleAnimSpritePalette_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_051[] = INCBIN_U32("graphics/battle_anims/sprites/051.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_052[] = INCBIN_U32("graphics/battle_anims/sprites/052.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_MonsterFoot[] = INCBIN_U32("graphics/battle_anims/sprites/monster_foot.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_HumanoidHand[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_hand.4bpp.lz"); const u32 gUnusedGfx_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.4bpp.lz"); const u32 gUnusedPal_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.4bpp.lz"); -const u32 gBattleAnimSpritePalette_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.4bpp.lz"); +const u32 gBattleAnimSpritePalette_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.4bpp.lz"); -const u32 gBattleAnimSpritePalette_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_055[] = INCBIN_U32("graphics/battle_anims/sprites/055.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_RedFist[] = INCBIN_U32("graphics/battle_anims/sprites/red_fist.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.4bpp.lz"); -const u32 gBattleAnimSpritePalette_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.4bpp.lz"); -const u32 gBattleAnimSpritePalette_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.4bpp.lz"); -const u32 gBattleAnimSpritePalette_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.4bpp.lz"); -const u32 gBattleAnimSpritePalette_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.4bpp.lz"); -const u32 gBattleAnimSpritePalette_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.4bpp.lz"); +const u32 gBattleAnimSpritePalette_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.4bpp.lz"); -const u32 gBattleAnimSpritePalette_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.4bpp.lz"); -const u32 gBattleAnimSpritePalette_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.gbapal.lz"); const u32 gUnusedGfx_Metronome[] = INCBIN_U32("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point -const u32 gBattleAnimSpritePalette_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.4bpp.lz"); -const u32 gBattleAnimSpritePalette_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.4bpp.lz"); -const u32 gBattleAnimSpritePalette_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.4bpp.lz"); -const u32 gBattleAnimSpritePalette_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_071[] = INCBIN_U32("graphics/battle_anims/sprites/071.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Sparkle4[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_4.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.4bpp.lz"); -const u32 gBattleAnimSpritePalette_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.4bpp.lz"); -const u32 gBattleAnimSpritePalette_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.4bpp.lz"); -const u32 gBattleAnimSpritePalette_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.4bpp.lz"); -const u32 gBattleAnimSpritePalette_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_079[] = INCBIN_U32("graphics/battle_anims/sprites/079.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Shock[] = INCBIN_U32("graphics/battle_anims/sprites/shock.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.4bpp.lz"); -const u32 gBattleAnimSpritePalette_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.4bpp.lz"); -const u32 gBattleAnimSpritePalette_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.gbapal.lz"); const u16 gUnknown_C0CA1C[] = INCBIN_U16("graphics/unknown/unknown_C0CA1C.bin"); const u16 gUnknown_C0CA40[] = INCBIN_U16("graphics/unknown/unknown_C0CA40.bin"); @@ -261,85 +261,85 @@ const u32 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch const u16 gUnknown_C0CAE0[] = INCBIN_U16("graphics/unknown/unknown_C0CAE0.bin"); const u32 gUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.bin.lz"); -const u32 gBattleAnimSpriteSheet_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.4bpp.lz"); -const u32 gBattleAnimSpritePalette_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.gbapal.lz"); -const u32 gBattleAnimSpritePalette_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.gbapal.lz"); -const u32 gBattleAnimSpritePalette_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.gbapal.lz"); -const u32 gBattleAnimSpritePalette_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.gbapal.lz"); -const u32 gBattleAnimSpritePalette_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.gbapal.lz"); -const u32 gBattleAnimSpritePalette_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.gbapal.lz"); -const u32 gBattleAnimSpritePalette_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.gbapal.lz"); -const u32 gBattleAnimSpritePalette_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.gbapal.lz"); -const u32 gBattleAnimSpritePalette_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.gbapal.lz"); -const u32 gBattleAnimSpritePalette_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.gbapal.lz"); -const u32 gBattleAnimSpritePalette_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.gbapal.lz"); +const u32 gBattleAnimSpritePalette_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.gbapal.lz"); +const u32 gBattleAnimSpritePalette_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.gbapal.lz"); const u32 gUnknown_D0D2B4[] = INCBIN_U32("graphics/unknown/unknown_D0D2B4.bin.lz"); -const u32 gBattleAnimSpritePalette_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.gbapal.lz"); -const u32 gBattleAnimSpritePalette_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.gbapal.lz"); -const u32 gBattleAnimSpritePalette_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.gbapal.lz"); -const u32 gBattleAnimSpritePalette_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.gbapal.lz"); -const u32 gBattleAnimSpritePalette_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.gbapal.lz"); -const u32 gBattleAnimSpritePalette_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.gbapal.lz"); +const u32 gBattleAnimSpritePalette_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.gbapal.lz"); +const u32 gBattleAnimSpritePalette_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.gbapal.lz"); +const u32 gBattleAnimSpritePalette_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_098[] = INCBIN_U32("graphics/battle_anims/sprites/098.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_102[] = INCBIN_U32("graphics/battle_anims/sprites/102.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Web[] = INCBIN_U32("graphics/battle_anims/sprites/web.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_HatchedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/hatched_egg.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.4bpp.lz"); -const u32 gBattleAnimSpritePalette_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.4bpp.lz"); -const u32 gBattleAnimSpritePalette_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_106[] = INCBIN_U32("graphics/battle_anims/sprites/106.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Explosion3[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_3.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.4bpp.lz"); -const u32 gBattleAnimSpritePalette_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_108[] = INCBIN_U32("graphics/battle_anims/sprites/108.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_WaterDroplet2[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.4bpp.lz"); -const u32 gBattleAnimSpritePalette_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_110[] = INCBIN_U32("graphics/battle_anims/sprites/110.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Sprout[] = INCBIN_U32("graphics/battle_anims/sprites/sprout.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.4bpp.lz"); -const u32 gBattleAnimSpritePalette_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.4bpp.lz"); -const u32 gBattleAnimSpritePalette_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.4bpp.lz"); -const u32 gBattleAnimSpritePalette_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.4bpp.lz"); -const u32 gBattleAnimSpritePalette_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.gbapal.lz"); const u32 gUnusedTilemap_BlueFrame[] = INCBIN_U32("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps? const u32 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U32("graphics/unused/redyellowgreen_frame.bin.lz"); const u32 gUnusedGfx_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.4bpp.lz"); const u32 gUnusedPal_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.4bpp.lz"); const u32 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U32("graphics/unused/water_splash.8bpp.lz"); const u32 gUnusedTilemap_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.bin.lz"); @@ -379,63 +379,63 @@ const u8 gUnknown_D1300C[] = INCBIN_U8("graphics/unknown/unknown_D1300C.4bpp"); const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.4bpp.lz"); -const u32 gBattleAnimSpritePalette_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.4bpp.lz"); +const u32 gBattleAnimSpritePalette_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.4bpp.lz"); -const u32 gBattleAnimSpritePalette_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.4bpp.lz"); -const u32 gBattleAnimSpritePalette_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.4bpp.lz"); -const u32 gBattleAnimSpritePalette_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.4bpp.lz"); -const u32 gBattleAnimSpritePalette_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.4bpp.lz"); -const u32 gBattleAnimSpritePalette_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.4bpp.lz"); -const u32 gBattleAnimSpritePalette_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_123[] = INCBIN_U32("graphics/battle_anims/sprites/123.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_PurpleDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/purple_droplet.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.4bpp.lz"); -const u32 gBattleAnimSpritePalette_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.4bpp.lz"); -const u32 gBattleAnimSpritePalette_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.4bpp.lz"); -const u32 gBattleAnimSpritePalette_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.4bpp.lz"); -const u32 gBattleAnimSpritePalette_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.4bpp.lz"); -const u32 gBattleAnimSpritePalette_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_129[] = INCBIN_U32("graphics/battle_anims/sprites/129.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Whirlwind2[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.4bpp.lz"); -const u32 gBattleAnimSpritePalette_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_131[] = INCBIN_U32("graphics/battle_anims/sprites/131.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Explosion5[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_5.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.4bpp.lz"); -const u32 gBattleAnimSpritePalette_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.4bpp.lz"); -const u32 gBattleAnimSpritePalette_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_134[] = INCBIN_U32("graphics/battle_anims/sprites/134.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Smoke2[] = INCBIN_U32("graphics/battle_anims/sprites/smoke_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.4bpp.lz"); -const u32 gBattleAnimSpritePalette_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_077[] = INCBIN_U32("graphics/battle_anims/sprites/077.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_BlueFlames2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames_2.4bpp.lz"); // Contest @@ -479,114 +479,114 @@ const u32 gUnknown_08C1A12C[] = INCBIN_U32("graphics/contest/misc_2_tilemap_3.bi const u32 gUnknown_08C1A2B4[] = INCBIN_U32("graphics/contest/misc_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.4bpp.lz"); -const u32 gBattleAnimSpritePalette_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.gbapal.lz"); const u32 gBattleAnimSpriteSheet_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.4bpp.lz"); -const u32 gBattleAnimSpritePalette_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.4bpp.lz"); +const u32 gBattleAnimSpritePalette_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_137[] = INCBIN_U32("graphics/battle_anims/sprites/137.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Scratch[] = INCBIN_U32("graphics/battle_anims/sprites/scratch.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.4bpp.lz"); -const u32 gBattleAnimSpritePalette_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_145[] = INCBIN_U32("graphics/battle_anims/sprites/145.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Clamp[] = INCBIN_U32("graphics/battle_anims/sprites/clamp.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_138[] = INCBIN_U32("graphics/battle_anims/sprites/138.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Cut[] = INCBIN_U32("graphics/battle_anims/sprites/cut.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.4bpp.lz"); -const u32 gBattleAnimSpritePalette_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.4bpp.lz"); -const u32 gBattleAnimSpritePalette_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.4bpp.lz"); +const u32 gBattleAnimSpritePalette_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_142[] = INCBIN_U32("graphics/battle_anims/sprites/142.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_IceSpikes[] = INCBIN_U32("graphics/battle_anims/sprites/ice_spikes.4bpp.lz"); const u32 gUnusedGfx_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.4bpp.lz"); const u32 gUnusedPal_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.4bpp.lz"); -const u32 gBattleAnimSpritePalette_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_149[] = INCBIN_U32("graphics/battle_anims/sprites/149.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_WaterOrb[] = INCBIN_U32("graphics/battle_anims/sprites/water_orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.4bpp.lz"); -const u32 gBattleAnimSpritePalette_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.gbapal.lz"); -const u32 gBattleAnimSpritePalette_259[] = INCBIN_U32("graphics/battle_anims/sprites/259.gbapal.lz"); +const u32 gBattleAnimSpritePalette_BrownOrb[] = INCBIN_U32("graphics/battle_anims/sprites/brown_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.4bpp.lz"); -const u32 gBattleAnimSpritePalette_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.4bpp.lz"); -const u32 gBattleAnimSpritePalette_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_151[] = INCBIN_U32("graphics/battle_anims/sprites/151.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_ToxicBubble[] = INCBIN_U32("graphics/battle_anims/sprites/toxic_bubble.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.4bpp.lz"); -const u32 gBattleAnimSpritePalette_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.4bpp.lz"); -const u32 gBattleAnimSpritePalette_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.4bpp.lz"); -const u32 gBattleAnimSpritePalette_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.4bpp.lz"); -const u32 gBattleAnimSpritePalette_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.4bpp.lz"); -const u32 gBattleAnimSpritePalette_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.4bpp.lz"); -const u32 gBattleAnimSpritePalette_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.4bpp.lz"); -const u32 gBattleAnimSpritePalette_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.4bpp.lz"); -const u32 gBattleAnimSpritePalette_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.4bpp.lz"); -const u32 gBattleAnimSpritePalette_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.gbapal.lz"); const u32 gUnknownGfx_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.4bpp.lz"); const u32 gUnknownPal_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.gbapal.lz"); const u32 gUnknownTilemap_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.bin.lz"); -const u32 gBattleAnimSpriteSheet_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.4bpp.lz"); -const u32 gBattleAnimSpritePalette_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.4bpp.lz"); -const u32 gBattleAnimSpritePalette_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.gbapal.lz"); -const u32 gBattleAnimSpritePalette_288[] = INCBIN_U32("graphics/battle_anims/sprites/288.gbapal.lz"); -const u32 gBattleAnimSpritePalette_164[] = INCBIN_U32("graphics/battle_anims/sprites/164.gbapal.lz"); -const u32 gBattleAnimSpritePalette_165[] = INCBIN_U32("graphics/battle_anims/sprites/165.gbapal.lz"); +const u32 gBattleAnimSpritePalette_BlueRing2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring_2.gbapal.lz"); +const u32 gBattleAnimSpritePalette_PurpleRing[] = INCBIN_U32("graphics/battle_anims/sprites/purple_ring.gbapal.lz"); +const u32 gBattleAnimSpritePalette_BlueRing[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.4bpp.lz"); -const u32 gBattleAnimSpritePalette_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.gbapal.lz"); -const u32 gBattleAnimSpritePalette_167[] = INCBIN_U32("graphics/battle_anims/sprites/167.gbapal.lz"); -const u32 gBattleAnimSpritePalette_168[] = INCBIN_U32("graphics/battle_anims/sprites/168.gbapal.lz"); -const u32 gBattleAnimSpritePalette_169[] = INCBIN_U32("graphics/battle_anims/sprites/169.gbapal.lz"); -const u32 gBattleAnimSpritePalette_170[] = INCBIN_U32("graphics/battle_anims/sprites/170.gbapal.lz"); +const u32 gBattleAnimSpritePalette_BlueLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/blue_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePalette_RedLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/red_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePalette_GrayLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/gray_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePalette_OrangeLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/orange_light_wall.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.4bpp.lz"); -const u32 gBattleAnimSpritePalette_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_172[] = INCBIN_U32("graphics/battle_anims/sprites/172.gbapal.lz"); +const u32 gBattleAnimSpritePalette_PurpleGasCloud[] = INCBIN_U32("graphics/battle_anims/sprites/purple_gas_cloud.gbapal.lz"); const u32 gContestJudgeGfx[] = INCBIN_U32("graphics/contest/judge.4bpp.lz"); const u32 gContest2Pal[] = INCBIN_U32("graphics/contest/judge.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.4bpp.lz"); -const u32 gBattleAnimSpritePalette_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_173[] = INCBIN_U32("graphics/battle_anims/sprites/173.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz"); const u32 gBattleAnimBackgroundImage_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.gbapal.lz"); @@ -600,48 +600,48 @@ const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz"); const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz"); const u32 gUnusedTilemap_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.bin.lz"); -const u32 gBattleAnimSpriteSheet_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.4bpp.lz"); -const u32 gBattleAnimSpritePalette_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.4bpp.lz"); +const u32 gBattleAnimSpritePalette_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.4bpp.lz"); -const u32 gBattleAnimSpritePalette_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.4bpp.lz"); +const u32 gBattleAnimSpritePalette_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.4bpp.lz"); -const u32 gBattleAnimSpritePalette_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePalette_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.4bpp.lz"); -const u32 gBattleAnimSpritePalette_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.4bpp.lz"); -const u32 gBattleAnimSpritePalette_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.4bpp.lz"); +const u32 gBattleAnimSpritePalette_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.gbapal.lz"); -const u32 gBattleAnimSpritePalette_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.4bpp.lz"); +const u32 gBattleAnimSpritePalette_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_180[] = INCBIN_U32("graphics/battle_anims/sprites/180.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_181[] = INCBIN_U32("graphics/battle_anims/sprites/181.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_WebThread[] = INCBIN_U32("graphics/battle_anims/sprites/web_thread.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_SpiderWeb[] = INCBIN_U32("graphics/battle_anims/sprites/spider_web.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.4bpp.lz"); -const u32 gBattleAnimSpritePalette_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.4bpp.lz"); -const u32 gBattleAnimSpritePalette_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.4bpp.lz"); -const u32 gBattleAnimSpritePalette_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.4bpp.lz"); +const u32 gBattleAnimSpritePalette_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.4bpp.lz"); -const u32 gBattleAnimSpritePalette_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz"); const u32 gBattleAnimBackgroundImage_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.bin.lz"); -const u32 gBattleAnimSpriteSheet_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.4bpp.lz"); -const u32 gBattleAnimSpritePalette_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.4bpp.lz"); -const u32 gBattleAnimSpritePalette_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.gbapal.lz"); const u32 gHealthboxSinglesPlayerGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_player.4bpp.lz"); const u32 gHealthboxSinglesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz"); @@ -652,136 +652,136 @@ const u32 gHealthboxSafariGfx[] = INCBIN_U32("graphics/battle_interface/healthbo const u32 gUnusedGfx_Shadow[] = INCBIN_U32("graphics/unused/shadow.4bpp.lz"); const u32 gUnusedPal_Shadow[] = INCBIN_U32("graphics/unused/shadow.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.4bpp.lz"); -const u32 gBattleAnimSpritePalette_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.4bpp.lz"); +const u32 gBattleAnimSpritePalette_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.4bpp.lz"); -const u32 gBattleAnimSpritePalette_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.4bpp.lz"); +const u32 gBattleAnimSpritePalette_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.4bpp.lz"); -const u32 gBattleAnimSpritePalette_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.4bpp.lz"); -const u32 gBattleAnimSpritePalette_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.4bpp.lz"); +const u32 gBattleAnimSpritePalette_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.4bpp.lz"); -const u32 gBattleAnimSpritePalette_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.4bpp.lz"); +const u32 gBattleAnimSpritePalette_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.4bpp.lz"); -const u32 gBattleAnimSpritePalette_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.gbapal.lz"); const u32 gUnknown_08C20668[] = INCBIN_U32("graphics/battle_anims/masks/curse.4bpp.lz"); const u32 gUnknown_08C20684[] = INCBIN_U32("graphics/battle_anims/masks/curse.bin.lz"); -const u32 gBattleAnimSpriteSheet_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.4bpp.lz"); -const u32 gBattleAnimSpritePalette_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.4bpp.lz"); -const u32 gBattleAnimSpritePalette_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.4bpp.lz"); -const u32 gBattleAnimSpritePalette_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.4bpp.lz"); -const u32 gBattleAnimSpritePalette_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.4bpp.lz"); -const u32 gBattleAnimSpritePalette_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.4bpp.lz"); -const u32 gBattleAnimSpritePalette_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.4bpp.lz"); -const u32 gBattleAnimSpritePalette_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.4bpp.lz"); -const u32 gBattleAnimSpritePalette_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.4bpp.lz"); -const u32 gBattleAnimSpritePalette_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.4bpp.lz"); -const u32 gBattleAnimSpritePalette_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.4bpp.lz"); -const u32 gBattleAnimSpritePalette_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.4bpp.lz"); -const u32 gBattleAnimSpritePalette_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.4bpp.lz"); +const u32 gBattleAnimSpritePalette_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.4bpp.lz"); -const u32 gBattleAnimSpritePalette_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.4bpp.lz"); -const u32 gBattleAnimSpritePalette_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.4bpp.lz"); -const u32 gBattleAnimSpritePalette_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_208[] = INCBIN_U32("graphics/battle_anims/sprites/208.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_TornMetal[] = INCBIN_U32("graphics/battle_anims/sprites/torn_metal.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.4bpp.lz"); -const u32 gBattleAnimSpritePalette_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePalette_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.4bpp.lz"); -const u32 gBattleAnimSpritePalette_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.4bpp.lz"); -const u32 gBattleAnimSpritePalette_219[] = INCBIN_U32("graphics/battle_anims/sprites/219.gbapal.lz"); -const u32 gBattleAnimSpritePalette_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.gbapal.lz"); -const u32 gBattleAnimSpritePalette_216[] = INCBIN_U32("graphics/battle_anims/sprites/216.gbapal.lz"); +const u32 gBattleAnimSpritePalette_PinkHeart[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart.gbapal.lz"); +const u32 gBattleAnimSpritePalette_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz"); +const u32 gBattleAnimSpritePalette_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz"); const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz"); const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz"); -const u32 gBattleAnimSpriteSheet_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.4bpp.lz"); -const u32 gBattleAnimSpritePalette_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_212[] = INCBIN_U32("graphics/battle_anims/sprites/212.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_213[] = INCBIN_U32("graphics/battle_anims/sprites/213.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_CircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/circle_of_light.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Electricity[] = INCBIN_U32("graphics/battle_anims/sprites/electricity.4bpp.lz"); -const u32 gBattleAnimSpritePalette_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.gbapal.lz"); +const u32 gBattleAnimSpritePalette_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_214[] = INCBIN_U32("graphics/battle_anims/sprites/214.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Finger2[] = INCBIN_U32("graphics/battle_anims/sprites/finger_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.4bpp.lz"); -const u32 gBattleAnimSpritePalette_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz"); const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); -const u32 gBattleAnimSpritePalette_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.4bpp.lz"); +const u32 gBattleAnimSpritePalette_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.4bpp.lz"); -const u32 gBattleAnimSpritePalette_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.4bpp.lz"); -const u32 gBattleAnimSpritePalette_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.gbapal.lz"); -const u32 gBattleAnimSpritePalette_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.4bpp.lz"); -const u32 gBattleAnimSpritePalette_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.4bpp.lz"); -const u32 gBattleAnimSpritePalette_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.gbapal.lz"); -const u32 gBattleAnimSpritePalette_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.4bpp.lz"); -const u32 gBattleAnimSpritePalette_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.4bpp.lz"); +const u32 gBattleAnimSpritePalette_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz"); -const u32 gBattleAnimSpritePalette_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.4bpp.lz"); +const u32 gBattleAnimSpritePalette_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.4bpp.lz"); +const u32 gBattleAnimSpritePalette_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.gbapal.lz"); const u32 gBattleAnimBackgroundImage_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.4bpp.lz"); @@ -790,39 +790,39 @@ const u32 gBattleAnimBackgroundTilemap_04[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBackgroundTilemap_05[] = INCBIN_U32("graphics/battle_anims/backgrounds/05.bin.lz"); const u32 gBattleAnimBackgroundTilemap_06[] = INCBIN_U32("graphics/battle_anims/backgrounds/06.bin.lz"); -const u32 gBattleAnimSpriteSheet_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.4bpp.lz"); -const u32 gBattleAnimSpritePalette_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz"); +const u32 gBattleAnimSpritePalette_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_227[] = INCBIN_U32("graphics/battle_anims/sprites/227.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Spotlight[] = INCBIN_U32("graphics/battle_anims/sprites/spotlight.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.4bpp.lz"); -const u32 gBattleAnimSpritePalette_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.4bpp.lz"); -const u32 gBattleAnimSpritePalette_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.4bpp.lz"); -const u32 gBattleAnimSpritePalette_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_232[] = INCBIN_U32("graphics/battle_anims/sprites/232.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_WispFire[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_fire.4bpp.lz"); -const u32 gBattleAnimSpritePalette_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.4bpp.lz"); -const u32 gBattleAnimSpritePalette_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.4bpp.lz"); -const u32 gBattleAnimSpritePalette_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.4bpp.lz"); +const u32 gBattleAnimSpritePalette_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.4bpp.lz"); -const u32 gBattleAnimSpritePalette_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.4bpp.lz"); -const u32 gBattleAnimSpritePalette_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_236[] = INCBIN_U32("graphics/battle_anims/sprites/236.gbapal.lz"); -const u32 gBattleAnimSpritePalette_237[] = INCBIN_U32("graphics/battle_anims/sprites/237.gbapal.lz"); +const u32 gBattleAnimSpritePalette_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz"); +const u32 gBattleAnimSpritePalette_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz"); const u32 gBattleAnimBackgroundImage_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.gbapal.lz"); @@ -859,30 +859,30 @@ const u32 gBattleAnimBackgroundImage_11[] = INCBIN_U32("graphics/battle_anims/ba const u32 gBattleAnimBackgroundPalette_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.bin.lz"); -const u32 gBattleAnimSpriteSheet_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.4bpp.lz"); -const u32 gBattleAnimSpritePalette_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.4bpp.lz"); -const u32 gBattleAnimSpritePalette_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.4bpp.lz"); +const u32 gBattleAnimSpritePalette_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.4bpp.lz"); -const u32 gBattleAnimSpritePalette_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.gbapal.lz"); const u32 gSubstituteDollPal[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.gbapal.lz"); const u32 gSubstituteDollGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz"); const u32 gSubstituteDollTilemap[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.bin.lz"); -const u32 gBattleAnimSpriteSheet_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.4bpp.lz"); -const u32 gBattleAnimSpritePalette_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.gbapal.lz"); const u32 gContestConfetti_Gfx[] = INCBIN_U32("graphics/misc/confetti.4bpp.lz"); const u32 gContestConfetti_Pal[] = INCBIN_U32("graphics/misc/confetti.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.4bpp.lz"); -const u32 gBattleAnimSpritePalette_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.4bpp.lz"); -const u32 gBattleAnimSpritePalette_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.gbapal.lz"); const u32 gBattleStatMask_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/stat.4bpp.lz"); const u32 gBattleStatMask1_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_1.bin.lz"); @@ -901,52 +901,52 @@ const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbl const u32 gCureBubblesPal[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); const u32 gCureBubblesTilemap[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); -const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_246[] = INCBIN_U32("graphics/battle_anims/sprites/246.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_PurpleSwipe[] = INCBIN_U32("graphics/battle_anims/sprites/purple_swipe.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.4bpp.lz"); -const u32 gBattleAnimSpritePalette_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_247[] = INCBIN_U32("graphics/battle_anims/sprites/247.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_TagHand[] = INCBIN_U32("graphics/battle_anims/sprites/tag_hand.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_053[] = INCBIN_U32("graphics/battle_anims/sprites/053.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_NoiseLine[] = INCBIN_U32("graphics/battle_anims/sprites/noise_line.4bpp.lz"); const u32 gUnknown_08C2EA50[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz"); const u32 gUnknown_08C2EA9C[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.bin.lz"); -const u32 gBattleAnimSpriteSheet_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.4bpp.lz"); -const u32 gBattleAnimSpritePalette_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.4bpp.lz"); -const u32 gBattleAnimSpritePalette_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.4bpp.lz"); +const u32 gBattleAnimSpritePalette_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_250[] = INCBIN_U32("graphics/battle_anims/sprites/250.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_XSign[] = INCBIN_U32("graphics/battle_anims/sprites/x_sign.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.4bpp.lz"); -const u32 gBattleAnimSpritePalette_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz"); +const u32 gBattleAnimSpritePalette_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.4bpp.lz"); -const u32 gBattleAnimSpritePalette_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.4bpp.lz"); -const u32 gBattleAnimSpritePalette_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.4bpp.lz"); +const u32 gBattleAnimSpritePalette_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.4bpp.lz"); -const u32 gBattleAnimSpritePalette_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.4bpp.lz"); -const u32 gBattleAnimSpritePalette_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.4bpp.lz"); -const u32 gBattleAnimSpritePalette_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.4bpp.lz"); -const u32 gBattleAnimSpritePalette_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.4bpp.lz"); -const u32 gBattleAnimSpritePalette_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.4bpp.lz"); +const u32 gBattleAnimSpritePalette_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.gbapal.lz"); const u32 gUnknownPal_C2F9E0[] = INCBIN_U32("graphics/unknown/unknown_C2F9E0.gbapal.lz"); @@ -1005,58 +1005,58 @@ const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tile #include "data/graphics/intro_scene.h" -const u32 gBattleAnimSpriteSheet_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz"); const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); -const u32 gBattleAnimSpritePalette_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.gbapal.lz"); +const u32 gBattleAnimSpritePalette_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.4bpp.lz"); -const u32 gBattleAnimSpritePalette_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); +const u32 gBattleAnimSpritePalette_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz"); const u32 gBattleAnimBackgroundImage_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.bin.lz"); -const u32 gBattleAnimSpriteSheet_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.4bpp.lz"); -const u32 gBattleAnimSpritePalette_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz"); +const u32 gBattleAnimSpritePalette_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz"); const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/nextturn.4bpp.lz"); const u8 gContestNextTurnNumbersGfx[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp"); const u8 gContestNextTurnRandomGfx[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp"); -const u32 gBattleAnimSpriteSheet_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.4bpp.lz"); -const u32 gBattleAnimSpritePalette_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.gbapal.lz"); -const u32 gBattleAnimSpritePalette_265[] = INCBIN_U32("graphics/battle_anims/sprites/265.gbapal.lz"); -const u32 gBattleAnimSpritePalette_067[] = INCBIN_U32("graphics/battle_anims/sprites/067.gbapal.lz"); -const u32 gBattleAnimSpritePalette_068[] = INCBIN_U32("graphics/battle_anims/sprites/068.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.gbapal.lz"); +const u32 gBattleAnimSpritePalette_GlowyGreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_green_orb.gbapal.lz"); +const u32 gBattleAnimSpritePalette_SleepPowder[] = INCBIN_U32("graphics/battle_anims/sprites/sleep_powder.gbapal.lz"); +const u32 gBattleAnimSpritePalette_StunSpore[] = INCBIN_U32("graphics/battle_anims/sprites/stun_spore.gbapal.lz"); const u32 gContestApplauseGfx[] = INCBIN_U32("graphics/contest/applause.4bpp.lz"); const u8 gContestApplauseMeterGfx[] = INCBIN_U8("graphics/contest/applause_meter.4bpp"); const u16 gContestPal[] = INCBIN_U16("graphics/contest/nextturn.gbapal"); -const u32 gBattleAnimSpriteSheet_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.4bpp.lz"); -const u32 gBattleAnimSpritePalette_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_273[] = INCBIN_U32("graphics/battle_anims/sprites/273.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_SweatBead[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_bead.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.4bpp.lz"); -const u32 gBattleAnimSpritePalette_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RedBrick[] = INCBIN_U32("graphics/battle_anims/sprites/red_brick.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RedBrick[] = INCBIN_U32("graphics/battle_anims/sprites/red_brick.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_275[] = INCBIN_U32("graphics/battle_anims/sprites/275.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_276[] = INCBIN_U32("graphics/battle_anims/sprites/276.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Gem2[] = INCBIN_U32("graphics/battle_anims/sprites/gem_2.4bpp.lz"); +const u32 gBattleAnimSpriteSheet_Gem3[] = INCBIN_U32("graphics/battle_anims/sprites/gem_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz"); const u32 gBattleAnimBackgroundImage_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.bin.lz"); -const u32 gBattleAnimSpriteSheet_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.4bpp.lz"); -const u32 gBattleAnimSpritePalette_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); const u32 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); @@ -1070,7 +1070,7 @@ const u32 gBattleAnimBackgroundImage_02[] = INCBIN_U32("graphics/battle_anims/ba const u32 gBattleAnimBackgroundPalette_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.bin.lz"); -const u32 gBattleAnimSpritePalette_287[] = INCBIN_U32("graphics/battle_anims/sprites/287.gbapal.lz"); +const u32 gBattleAnimSpritePalette_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); const u32 gBattleAnimBackgroundPalette_24[] = INCBIN_U32("graphics/battle_anims/backgrounds/24.gbapal.lz"); @@ -1085,44 +1085,44 @@ const u32 gBattleAnimBackgroundPalette_16[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBackgroundImage_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.4bpp.lz"); const u32 gBattleAnimBackgroundTilemap_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.bin.lz"); -const u32 gBattleAnimSpritePalette_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.4bpp.lz"); +const u32 gBattleAnimSpritePalette_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz"); const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/fog.bin.lz"); -const u32 gBattleAnimSpritePalette_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz"); const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); -const u32 gBattleAnimSpriteSheet_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.4bpp.lz"); -const u32 gBattleAnimSpritePalette_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.4bpp.lz"); -const u32 gBattleAnimSpritePalette_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.gbapal.lz"); -const u32 gBattleAnimSpritePalette_267[] = INCBIN_U32("graphics/battle_anims/sprites/267.gbapal.lz"); -const u32 gBattleAnimSpritePalette_268[] = INCBIN_U32("graphics/battle_anims/sprites/268.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.4bpp.lz"); +const u32 gBattleAnimSpritePalette_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.gbapal.lz"); +const u32 gBattleAnimSpritePalette_WhiteCircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/white_circle_of_light.gbapal.lz"); +const u32 gBattleAnimSpritePalette_GlowyBlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_blue_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.4bpp.lz"); -const u32 gBattleAnimSpritePalette_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.4bpp.lz"); -const u32 gBattleAnimSpritePalette_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.4bpp.lz"); +const u32 gBattleAnimSpritePalette_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.4bpp.lz"); -const u32 gBattleAnimSpritePalette_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz"); +const u32 gBattleAnimSpritePalette_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz"); const u32 gBattleAnimBackgroundImage_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.bin.lz"); -const u32 gBattleAnimSpriteSheet_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.4bpp.lz"); -const u32 gBattleAnimSpritePalette_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.4bpp.lz"); -const u32 gBattleAnimSpritePalette_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); +const u32 gBattleAnimSpritePalette_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); const u32 gBattleAnimBackgroundImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); @@ -1133,10 +1133,10 @@ const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin. const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz"); -const u32 gBattleAnimSpritePalette_286[] = INCBIN_U32("graphics/battle_anims/sprites/286.gbapal.lz"); +const u32 gBattleAnimSpritePalette_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.4bpp.lz"); -const u32 gBattleAnimSpritePalette_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz"); const u32 gPartyMenuMisc_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz"); const u32 gPartyMenuMisc_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz"); @@ -1223,14 +1223,14 @@ const u32 gUnknown_08D9BA44[] = INCBIN_U32("graphics/interface/pokeblock_feeding #include "data/graphics/items.h" #include "data/graphics/decorations.h" -const u32 gBattleAnimSpritePalette_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.4bpp.lz"); +const u32 gBattleAnimSpritePalette_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.4bpp.lz"); -const u32 gBattleAnimSpritePalette_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.4bpp.lz"); +const u32 gBattleAnimSpritePalette_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.gbapal.lz"); +const u32 gBattleAnimSpriteSheet_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.4bpp.lz"); const u16 gUnknown_08DBA518[] = INCBIN_U16("graphics/misc/cable_car_bg.gbapal"); const u16 gCableCar_Pal[] = INCBIN_U16("graphics/misc/cable_car.gbapal"); diff --git a/src/rock.c b/src/rock.c index 814b1d88bf..489ef9f7d3 100644 --- a/src/rock.c +++ b/src/rock.c @@ -419,7 +419,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId) sub_80A6B30(&animBg); AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset); sub_80A6D60(&animBg, gUnknown_08D8D410, 0); - LoadCompressedPalette(gBattleAnimSpritePalette_261, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimSpritePalette_FlyingDirt, animBg.paletteId * 16, 32); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) var0 = 1; From 19f151417ee0a8a158747939a850c19419ff65f8 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 6 Apr 2019 16:38:55 +0200 Subject: [PATCH 68/84] Rename sprite sheet to sprite gfx --- include/constants/battle_anim.h | 186 ++--- include/graphics.h | 1096 ++++++++++++++--------------- src/battle_anim.c | 1156 +++++++++++++++---------------- src/battle_anim_effects_2.c | 2 +- src/battle_anim_special.c | 48 +- src/graphics.c | 1020 +++++++++++++-------------- src/rock.c | 2 +- 7 files changed, 1755 insertions(+), 1755 deletions(-) diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 6909d836bf..aaa3cd2745 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -11,137 +11,137 @@ #define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1) #define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2) #define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3) -#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4) +#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4) #define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5) #define ANIM_TAG_SEED (ANIM_SPRITES_START + 6) -#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7) -#define ANIM_TAG_PINK_ORB (ANIM_SPRITES_START + 8) // unused +#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7) +#define ANIM_TAG_PINK_ORB (ANIM_SPRITES_START + 8) // unused #define ANIM_TAG_GUST (ANIM_SPRITES_START + 9) #define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10) #define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11) -#define ANIM_TAG_ORANGE (ANIM_SPRITES_START + 12) // unused +#define ANIM_TAG_ORANGE (ANIM_SPRITES_START + 12) // unused #define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13) #define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14) #define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15) #define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16) #define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17) #define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18) -#define ANIM_TAG_GLASS (ANIM_SPRITES_START + 19) // unused +#define ANIM_TAG_GLASS (ANIM_SPRITES_START + 19) // unused #define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20) -#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21) -#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22) -#define ANIM_TAG_BLUE_SHARDS (ANIM_SPRITES_START + 23) // unused -#define ANIM_TAG_CLOSING_EYE (ANIM_SPRITES_START + 24) // unused -#define ANIM_TAG_WAVING_HAND (ANIM_SPRITES_START + 25) // unused -#define ANIM_TAG_HIT_DUPLICATE (ANIM_SPRITES_START + 26) // unused +#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21) +#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22) +#define ANIM_TAG_BLUE_SHARDS (ANIM_SPRITES_START + 23) // unused +#define ANIM_TAG_CLOSING_EYE (ANIM_SPRITES_START + 24) // unused +#define ANIM_TAG_WAVING_HAND (ANIM_SPRITES_START + 25) // unused +#define ANIM_TAG_HIT_DUPLICATE (ANIM_SPRITES_START + 26) // unused #define ANIM_TAG_LEER (ANIM_SPRITES_START + 27) -#define ANIM_TAG_BLUE_BURST (ANIM_SPRITES_START + 28) // unused +#define ANIM_TAG_BLUE_BURST (ANIM_SPRITES_START + 28) // unused #define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29) #define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30) #define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31) -#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32) +#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32) #define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33) -#define ANIM_TAG_SPINNING_FIRE (ANIM_SPRITES_START + 34) // unused +#define ANIM_TAG_SPINNING_FIRE (ANIM_SPRITES_START + 34) // unused #define ANIM_TAG_FIRE_PLUME (ANIM_SPRITES_START + 35) -#define ANIM_TAG_LIGHTNING_2 (ANIM_SPRITES_START + 36) // unused +#define ANIM_TAG_LIGHTNING_2 (ANIM_SPRITES_START + 36) // unused #define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37) -#define ANIM_TAG_CLAW_SLASH_2 (ANIM_SPRITES_START + 38) // unused +#define ANIM_TAG_CLAW_SLASH_2 (ANIM_SPRITES_START + 38) // unused #define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39) -#define ANIM_TAG_SCRATCH_3 (ANIM_SPRITES_START + 40) // unused -#define ANIM_TAG_SCRATCH_2 (ANIM_SPRITES_START + 41) // unused -#define ANIM_TAG_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) // unused +#define ANIM_TAG_SCRATCH_3 (ANIM_SPRITES_START + 40) // unused +#define ANIM_TAG_SCRATCH_2 (ANIM_SPRITES_START + 41) // unused +#define ANIM_TAG_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) // unused #define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43) -#define ANIM_TAG_GLASS_2 (ANIM_SPRITES_START + 44) // unused -#define ANIM_TAG_PINK_HEART_2 (ANIM_SPRITES_START + 45) // unused -#define ANIM_TAG_SAP_DRIP (ANIM_SPRITES_START + 46) // unused -#define ANIM_TAG_SAP_DRIP_2 (ANIM_SPRITES_START + 47) // unused +#define ANIM_TAG_GLASS_2 (ANIM_SPRITES_START + 44) // unused +#define ANIM_TAG_PINK_HEART_2 (ANIM_SPRITES_START + 45) // unused +#define ANIM_TAG_SAP_DRIP (ANIM_SPRITES_START + 46) // unused +#define ANIM_TAG_SAP_DRIP_2 (ANIM_SPRITES_START + 47) // unused #define ANIM_TAG_SPARKLE_1 (ANIM_SPRITES_START + 48) #define ANIM_TAG_SPARKLE_2 (ANIM_SPRITES_START + 49) #define ANIM_TAG_HUMANOID_FOOT (ANIM_SPRITES_START + 50) -#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51) -#define ANIM_TAG_HUMANOID_HAND (ANIM_SPRITES_START + 52) // unused +#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51) +#define ANIM_TAG_HUMANOID_HAND (ANIM_SPRITES_START + 52) // unused #define ANIM_TAG_NOISE_LINE (ANIM_SPRITES_START + 53) -#define ANIM_TAG_YELLOW_UNK (ANIM_SPRITES_START + 54) // unused -#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) // unused +#define ANIM_TAG_YELLOW_UNK (ANIM_SPRITES_START + 54) // unused +#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) // unused #define ANIM_TAG_SLAM_HIT (ANIM_SPRITES_START + 56) -#define ANIM_TAG_RING (ANIM_SPRITES_START + 57) // unused +#define ANIM_TAG_RING (ANIM_SPRITES_START + 57) // unused #define ANIM_TAG_ROCKS (ANIM_SPRITES_START + 58) -#define ANIM_TAG_Z (ANIM_SPRITES_START + 59) // unused -#define ANIM_TAG_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) // unused -#define ANIM_TAG_AIR_SLASH (ANIM_SPRITES_START + 61) // unused -#define ANIM_TAG_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) // unused +#define ANIM_TAG_Z (ANIM_SPRITES_START + 59) // unused +#define ANIM_TAG_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) // unused +#define ANIM_TAG_AIR_SLASH (ANIM_SPRITES_START + 61) // unused +#define ANIM_TAG_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) // unused #define ANIM_TAG_LEAF (ANIM_SPRITES_START + 63) #define ANIM_TAG_FINGER (ANIM_SPRITES_START + 64) #define ANIM_TAG_POISON_POWDER (ANIM_SPRITES_START + 65) -#define ANIM_TAG_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) // unused +#define ANIM_TAG_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) // unused #define ANIM_TAG_SLEEP_POWDER (ANIM_SPRITES_START + 67) #define ANIM_TAG_STUN_SPORE (ANIM_SPRITES_START + 68) -#define ANIM_TAG_POWDER (ANIM_SPRITES_START + 69) // unused +#define ANIM_TAG_POWDER (ANIM_SPRITES_START + 69) // unused #define ANIM_TAG_SPARKLE_3 (ANIM_SPRITES_START + 70) #define ANIM_TAG_SPARKLE_4 (ANIM_SPRITES_START + 71) #define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 72) #define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73) #define ANIM_TAG_MUD_SAND (ANIM_SPRITES_START + 74) #define ANIM_TAG_ALERT (ANIM_SPRITES_START + 75) -#define ANIM_TAG_BLUE_FLAMES (ANIM_SPRITES_START + 76) // unused -#define ANIM_TAG_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) // unused -#define ANIM_TAG_SHOCK_4 (ANIM_SPRITES_START + 78) // unused +#define ANIM_TAG_BLUE_FLAMES (ANIM_SPRITES_START + 76) // unused +#define ANIM_TAG_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) // unused +#define ANIM_TAG_SHOCK_4 (ANIM_SPRITES_START + 78) // unused #define ANIM_TAG_SHOCK (ANIM_SPRITES_START + 79) -#define ANIM_TAG_BELL_2 (ANIM_SPRITES_START + 80) // unused -#define ANIM_TAG_PINK_GLOVE (ANIM_SPRITES_START + 81) // unused -#define ANIM_TAG_BLUE_LINES (ANIM_SPRITES_START + 82) // unused -#define ANIM_TAG_IMPACT_3 (ANIM_SPRITES_START + 83) // unused -#define ANIM_TAG_IMPACT_2 (ANIM_SPRITES_START + 84) // unused -#define ANIM_TAG_RETICLE (ANIM_SPRITES_START + 85) // unused +#define ANIM_TAG_BELL_2 (ANIM_SPRITES_START + 80) // unused +#define ANIM_TAG_PINK_GLOVE (ANIM_SPRITES_START + 81) // unused +#define ANIM_TAG_BLUE_LINES (ANIM_SPRITES_START + 82) // unused +#define ANIM_TAG_IMPACT_3 (ANIM_SPRITES_START + 83) // unused +#define ANIM_TAG_IMPACT_2 (ANIM_SPRITES_START + 84) // unused +#define ANIM_TAG_RETICLE (ANIM_SPRITES_START + 85) // unused #define ANIM_TAG_BREATH (ANIM_SPRITES_START + 86) #define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87) -#define ANIM_TAG_SNOWBALL (ANIM_SPRITES_START + 88) // unused -#define ANIM_TAG_VINE (ANIM_SPRITES_START + 89) // unused -#define ANIM_TAG_SWORD_2 (ANIM_SPRITES_START + 90) // unused -#define ANIM_TAG_CLAPPING (ANIM_SPRITES_START + 91) // unused -#define ANIM_TAG_RED_TUBE (ANIM_SPRITES_START + 92) // unused +#define ANIM_TAG_SNOWBALL (ANIM_SPRITES_START + 88) // unused +#define ANIM_TAG_VINE (ANIM_SPRITES_START + 89) // unused +#define ANIM_TAG_SWORD_2 (ANIM_SPRITES_START + 90) // unused +#define ANIM_TAG_CLAPPING (ANIM_SPRITES_START + 91) // unused +#define ANIM_TAG_RED_TUBE (ANIM_SPRITES_START + 92) // unused #define ANIM_TAG_AMNESIA (ANIM_SPRITES_START + 93) -#define ANIM_TAG_STRING_2 (ANIM_SPRITES_START + 94) // unused -#define ANIM_TAG_PENCIL_2 (ANIM_SPRITES_START + 95) // unused -#define ANIM_TAG_PETAL (ANIM_SPRITES_START + 96) // unused +#define ANIM_TAG_STRING_2 (ANIM_SPRITES_START + 94) // unused +#define ANIM_TAG_PENCIL_2 (ANIM_SPRITES_START + 95) // unused +#define ANIM_TAG_PETAL (ANIM_SPRITES_START + 96) // unused #define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97) -#define ANIM_TAG_WEB (ANIM_SPRITES_START + 98) // unused +#define ANIM_TAG_WEB (ANIM_SPRITES_START + 98) // unused #define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99) #define ANIM_TAG_COIN (ANIM_SPRITES_START + 100) -#define ANIM_TAG_CRACKED_EGG (ANIM_SPRITES_START + 101) // unused -#define ANIM_TAG_HATCHED_EGG (ANIM_SPRITES_START + 102) // unused -#define ANIM_TAG_FRESH_EGG (ANIM_SPRITES_START + 103) // unused -#define ANIM_TAG_FANGS (ANIM_SPRITES_START + 104) // unused -#define ANIM_TAG_EXPLOSION_2 (ANIM_SPRITES_START + 105) // unused -#define ANIM_TAG_EXPLOSION_3 (ANIM_SPRITES_START + 106) // unused -#define ANIM_TAG_WATER_DROPLET (ANIM_SPRITES_START + 107) // unused -#define ANIM_TAG_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) // unused -#define ANIM_TAG_SEED_2 (ANIM_SPRITES_START + 109) // unused -#define ANIM_TAG_SPROUT (ANIM_SPRITES_START + 110) // unused -#define ANIM_TAG_RED_WAND (ANIM_SPRITES_START + 111) // unused -#define ANIM_TAG_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) // unused -#define ANIM_TAG_WATER_COLUMN (ANIM_SPRITES_START + 113) // unused -#define ANIM_TAG_MUD_UNK (ANIM_SPRITES_START + 114) // unused +#define ANIM_TAG_CRACKED_EGG (ANIM_SPRITES_START + 101) // unused +#define ANIM_TAG_HATCHED_EGG (ANIM_SPRITES_START + 102) // unused +#define ANIM_TAG_FRESH_EGG (ANIM_SPRITES_START + 103) // unused +#define ANIM_TAG_FANGS (ANIM_SPRITES_START + 104) // unused +#define ANIM_TAG_EXPLOSION_2 (ANIM_SPRITES_START + 105) // unused +#define ANIM_TAG_EXPLOSION_3 (ANIM_SPRITES_START + 106) // unused +#define ANIM_TAG_WATER_DROPLET (ANIM_SPRITES_START + 107) // unused +#define ANIM_TAG_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) // unused +#define ANIM_TAG_SEED_2 (ANIM_SPRITES_START + 109) // unused +#define ANIM_TAG_SPROUT (ANIM_SPRITES_START + 110) // unused +#define ANIM_TAG_RED_WAND (ANIM_SPRITES_START + 111) // unused +#define ANIM_TAG_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) // unused +#define ANIM_TAG_WATER_COLUMN (ANIM_SPRITES_START + 113) // unused +#define ANIM_TAG_MUD_UNK (ANIM_SPRITES_START + 114) // unused #define ANIM_TAG_RAIN_DROPS (ANIM_SPRITES_START + 115) -#define ANIM_TAG_FURY_SWIPES (ANIM_SPRITES_START + 116) // unused -#define ANIM_TAG_VINE_2 (ANIM_SPRITES_START + 117) // unused -#define ANIM_TAG_TEETH (ANIM_SPRITES_START + 118) // unused -#define ANIM_TAG_BONE_2 (ANIM_SPRITES_START + 119) // unused -#define ANIM_TAG_WHITE_BAG (ANIM_SPRITES_START + 120) // unused -#define ANIM_TAG_UNKNOWN (ANIM_SPRITES_START + 121) // unused -#define ANIM_TAG_PURPLE_CORAL (ANIM_SPRITES_START + 122) // unused -#define ANIM_TAG_PURPLE_DROPLET (ANIM_SPRITES_START + 123) // unused -#define ANIM_TAG_SHOCK_2 (ANIM_SPRITES_START + 124) // unused -#define ANIM_TAG_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) // unused -#define ANIM_TAG_METAL_BALL (ANIM_SPRITES_START + 126) // unused -#define ANIM_TAG_MONSTER_DOLL (ANIM_SPRITES_START + 127) // unused -#define ANIM_TAG_WHIRLWIND (ANIM_SPRITES_START + 128) // unused -#define ANIM_TAG_WHIRLWIND_2 (ANIM_SPRITES_START + 129) // unused -#define ANIM_TAG_EXPLOSION_4 (ANIM_SPRITES_START + 130) // unused -#define ANIM_TAG_EXPLOSION_5 (ANIM_SPRITES_START + 131) // unused -#define ANIM_TAG_TONGUE (ANIM_SPRITES_START + 132) // unused -#define ANIM_TAG_SMOKE (ANIM_SPRITES_START + 133) // unused -#define ANIM_TAG_SMOKE_2 (ANIM_SPRITES_START + 134) // unused +#define ANIM_TAG_FURY_SWIPES (ANIM_SPRITES_START + 116) // unused +#define ANIM_TAG_VINE_2 (ANIM_SPRITES_START + 117) // unused +#define ANIM_TAG_TEETH (ANIM_SPRITES_START + 118) // unused +#define ANIM_TAG_BONE_2 (ANIM_SPRITES_START + 119) // unused +#define ANIM_TAG_WHITE_BAG (ANIM_SPRITES_START + 120) // unused +#define ANIM_TAG_UNKNOWN (ANIM_SPRITES_START + 121) // unused +#define ANIM_TAG_PURPLE_CORAL (ANIM_SPRITES_START + 122) // unused +#define ANIM_TAG_PURPLE_DROPLET (ANIM_SPRITES_START + 123) // unused +#define ANIM_TAG_SHOCK_2 (ANIM_SPRITES_START + 124) // unused +#define ANIM_TAG_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) // unused +#define ANIM_TAG_METAL_BALL (ANIM_SPRITES_START + 126) // unused +#define ANIM_TAG_MONSTER_DOLL (ANIM_SPRITES_START + 127) // unused +#define ANIM_TAG_WHIRLWIND (ANIM_SPRITES_START + 128) // unused +#define ANIM_TAG_WHIRLWIND_2 (ANIM_SPRITES_START + 129) // unused +#define ANIM_TAG_EXPLOSION_4 (ANIM_SPRITES_START + 130) // unused +#define ANIM_TAG_EXPLOSION_5 (ANIM_SPRITES_START + 131) // unused +#define ANIM_TAG_TONGUE (ANIM_SPRITES_START + 132) // unused +#define ANIM_TAG_SMOKE (ANIM_SPRITES_START + 133) // unused +#define ANIM_TAG_SMOKE_2 (ANIM_SPRITES_START + 134) // unused #define ANIM_TAG_IMPACT (ANIM_SPRITES_START + 135) #define ANIM_TAG_CIRCLE_IMPACT (ANIM_SPRITES_START + 136) #define ANIM_TAG_SCRATCH (ANIM_SPRITES_START + 137) @@ -185,11 +185,11 @@ #define ANIM_TAG_LARGE_FRESH_EGG (ANIM_SPRITES_START + 175) #define ANIM_TAG_SHADOW_BALL (ANIM_SPRITES_START + 176) #define ANIM_TAG_LICK (ANIM_SPRITES_START + 177) -#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178) +#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178) #define ANIM_TAG_STRING (ANIM_SPRITES_START + 179) #define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180) #define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181) -#define ANIM_TAG_LIGHTBULB (ANIM_SPRITES_START + 182) // unused +#define ANIM_TAG_LIGHTBULB (ANIM_SPRITES_START + 182) // unused #define ANIM_TAG_SLASH (ANIM_SPRITES_START + 183) #define ANIM_TAG_FOCUS_ENERGY (ANIM_SPRITES_START + 184) #define ANIM_TAG_SPHERE_TO_CUBE (ANIM_SPRITES_START + 185) @@ -211,7 +211,7 @@ #define ANIM_TAG_WARM_ROCK (ANIM_SPRITES_START + 201) #define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202) #define ANIM_TAG_THIN_RING (ANIM_SPRITES_START + 203) -#define ANIM_TAG_PUNCH_IMPACT (ANIM_SPRITES_START + 204) // unused +#define ANIM_TAG_PUNCH_IMPACT (ANIM_SPRITES_START + 204) // unused #define ANIM_TAG_BELL (ANIM_SPRITES_START + 205) #define ANIM_TAG_MUSIC_NOTES_2 (ANIM_SPRITES_START + 206) #define ANIM_TAG_SPEED_DUST (ANIM_SPRITES_START + 207) @@ -276,17 +276,17 @@ #define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266) #define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267) #define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268) -#define ANIM_TAG_RED_BRICK (ANIM_SPRITES_START + 269) +#define ANIM_TAG_RED_BRICK (ANIM_SPRITES_START + 269) #define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270) #define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271) #define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272) #define ANIM_TAG_SWEAT_BEAD (ANIM_SPRITES_START + 273) -#define ANIM_TAG_GEM_1 (ANIM_SPRITES_START + 274) // unused -#define ANIM_TAG_GEM_2 (ANIM_SPRITES_START + 275) // unused -#define ANIM_TAG_GEM_3 (ANIM_SPRITES_START + 276) // unused +#define ANIM_TAG_GEM_1 (ANIM_SPRITES_START + 274) // unused +#define ANIM_TAG_GEM_2 (ANIM_SPRITES_START + 275) // unused +#define ANIM_TAG_GEM_3 (ANIM_SPRITES_START + 276) // unused #define ANIM_TAG_SLAM_HIT_2 (ANIM_SPRITES_START + 277) #define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278) -#define ANIM_TAG_RED_PARTICLES (ANIM_SPRITES_START + 279) // unused +#define ANIM_TAG_RED_PARTICLES (ANIM_SPRITES_START + 279) // unused #define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280) #define ANIM_TAG_DIRT_MOUND (ANIM_SPRITES_START + 281) #define ANIM_TAG_SHOCK_3 (ANIM_SPRITES_START + 282) diff --git a/include/graphics.h b/include/graphics.h index c7d2786682..14b84724fc 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4122,568 +4122,568 @@ extern const u32 gBattleArenaJudgementSymbolsGfx[]; extern const u32 gBattleArenaJudgementSymbolsPalette[]; extern const u32 gContest2Pal[]; -extern const u32 gBattleAnimSpriteSheet_Bone[]; -extern const u32 gBattleAnimSpriteSheet_Spark[]; -extern const u32 gBattleAnimSpriteSheet_Pencil[]; -extern const u32 gBattleAnimSpriteSheet_AirWave[]; -extern const u32 gBattleAnimSpriteSheet_Orb[]; -extern const u32 gBattleAnimSpriteSheet_Sword[]; -extern const u32 gBattleAnimSpriteSheet_Seed[]; -extern const u32 gBattleAnimSpriteSheet_Explosion6[]; -extern const u32 gBattleAnimSpriteSheet_PinkOrb[]; -extern const u32 gBattleAnimSpriteSheet_Gust[]; -extern const u32 gBattleAnimSpriteSheet_IceCube[]; -extern const u32 gBattleAnimSpriteSheet_Spark2[]; -extern const u32 gBattleAnimSpriteSheet_Orange[]; -extern const u32 gBattleAnimSpriteSheet_YellowBall[]; -extern const u32 gBattleAnimSpriteSheet_LockOn[]; -extern const u32 gBattleAnimSpriteSheet_TiedBag[]; -extern const u32 gBattleAnimSpriteSheet_BlackSmoke[]; -extern const u32 gBattleAnimSpriteSheet_BlackBall[]; -extern const u32 gBattleAnimSpriteSheet_Conversion[]; -extern const u32 gBattleAnimSpriteSheet_Glass[]; -extern const u32 gBattleAnimSpriteSheet_HornHit[]; -extern const u32 gBattleAnimSpriteSheet_Hit[]; -extern const u32 gBattleAnimSpriteSheet_Hit[]; -extern const u32 gBattleAnimSpriteSheet_BlueShards[]; -extern const u32 gBattleAnimSpriteSheet_ClosingEye[]; -extern const u32 gBattleAnimSpriteSheet_WavingHand[]; -extern const u32 gBattleAnimSpriteSheet_HitDuplicate[]; -extern const u32 gBattleAnimSpriteSheet_Leer[]; -extern const u32 gBattleAnimSpriteSheet_BlueBurst[]; -extern const u32 gBattleAnimSpriteSheet_SmallEmber[]; -extern const u32 gBattleAnimSpriteSheet_GraySmoke[]; -extern const u32 gBattleAnimSpriteSheet_BlueStar[]; -extern const u32 gBattleAnimSpriteSheet_BubbleBurst[]; -extern const u32 gBattleAnimSpriteSheet_Fire[]; -extern const u32 gBattleAnimSpriteSheet_SpinningFire[]; -extern const u32 gBattleAnimSpriteSheet_FirePlume[]; -extern const u32 gBattleAnimSpriteSheet_Lightning2[]; -extern const u32 gBattleAnimSpriteSheet_Lightning[]; -extern const u32 gBattleAnimSpriteSheet_ClawSlash2[]; -extern const u32 gBattleAnimSpriteSheet_ClawSlash[]; -extern const u32 gBattleAnimSpriteSheet_Scratch3[]; -extern const u32 gBattleAnimSpriteSheet_Scratch2[]; -extern const u32 gBattleAnimSpriteSheet_BubbleBurst2[]; -extern const u32 gBattleAnimSpriteSheet_IceChunk[]; -extern const u32 gBattleAnimSpriteSheet_Glass2[]; -extern const u32 gBattleAnimSpriteSheet_PinkHeart2[]; -extern const u32 gBattleAnimSpriteSheet_SapDrip[]; -extern const u32 gBattleAnimSpriteSheet_SapDrip[]; -extern const u32 gBattleAnimSpriteSheet_Sparkle1[]; -extern const u32 gBattleAnimSpriteSheet_Sparkle1[]; -extern const u32 gBattleAnimSpriteSheet_HumanoidFoot[]; -extern const u32 gBattleAnimSpriteSheet_MonsterFoot[]; -extern const u32 gBattleAnimSpriteSheet_HumanoidHand[]; -extern const u32 gBattleAnimSpriteSheet_NoiseLine[]; +extern const u32 gBattleAnimSpriteGfx_Bone[]; +extern const u32 gBattleAnimSpriteGfx_Spark[]; +extern const u32 gBattleAnimSpriteGfx_Pencil[]; +extern const u32 gBattleAnimSpriteGfx_AirWave[]; +extern const u32 gBattleAnimSpriteGfx_Orb[]; +extern const u32 gBattleAnimSpriteGfx_Sword[]; +extern const u32 gBattleAnimSpriteGfx_Seed[]; +extern const u32 gBattleAnimSpriteGfx_Explosion6[]; +extern const u32 gBattleAnimSpriteGfx_PinkOrb[]; +extern const u32 gBattleAnimSpriteGfx_Gust[]; +extern const u32 gBattleAnimSpriteGfx_IceCube[]; +extern const u32 gBattleAnimSpriteGfx_Spark2[]; +extern const u32 gBattleAnimSpriteGfx_Orange[]; +extern const u32 gBattleAnimSpriteGfx_YellowBall[]; +extern const u32 gBattleAnimSpriteGfx_LockOn[]; +extern const u32 gBattleAnimSpriteGfx_TiedBag[]; +extern const u32 gBattleAnimSpriteGfx_BlackSmoke[]; +extern const u32 gBattleAnimSpriteGfx_BlackBall[]; +extern const u32 gBattleAnimSpriteGfx_Conversion[]; +extern const u32 gBattleAnimSpriteGfx_Glass[]; +extern const u32 gBattleAnimSpriteGfx_HornHit[]; +extern const u32 gBattleAnimSpriteGfx_Hit[]; +extern const u32 gBattleAnimSpriteGfx_Hit[]; +extern const u32 gBattleAnimSpriteGfx_BlueShards[]; +extern const u32 gBattleAnimSpriteGfx_ClosingEye[]; +extern const u32 gBattleAnimSpriteGfx_WavingHand[]; +extern const u32 gBattleAnimSpriteGfx_HitDuplicate[]; +extern const u32 gBattleAnimSpriteGfx_Leer[]; +extern const u32 gBattleAnimSpriteGfx_BlueBurst[]; +extern const u32 gBattleAnimSpriteGfx_SmallEmber[]; +extern const u32 gBattleAnimSpriteGfx_GraySmoke[]; +extern const u32 gBattleAnimSpriteGfx_BlueStar[]; +extern const u32 gBattleAnimSpriteGfx_BubbleBurst[]; +extern const u32 gBattleAnimSpriteGfx_Fire[]; +extern const u32 gBattleAnimSpriteGfx_SpinningFire[]; +extern const u32 gBattleAnimSpriteGfx_FirePlume[]; +extern const u32 gBattleAnimSpriteGfx_Lightning2[]; +extern const u32 gBattleAnimSpriteGfx_Lightning[]; +extern const u32 gBattleAnimSpriteGfx_ClawSlash2[]; +extern const u32 gBattleAnimSpriteGfx_ClawSlash[]; +extern const u32 gBattleAnimSpriteGfx_Scratch3[]; +extern const u32 gBattleAnimSpriteGfx_Scratch2[]; +extern const u32 gBattleAnimSpriteGfx_BubbleBurst2[]; +extern const u32 gBattleAnimSpriteGfx_IceChunk[]; +extern const u32 gBattleAnimSpriteGfx_Glass2[]; +extern const u32 gBattleAnimSpriteGfx_PinkHeart2[]; +extern const u32 gBattleAnimSpriteGfx_SapDrip[]; +extern const u32 gBattleAnimSpriteGfx_SapDrip[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle1[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle1[]; +extern const u32 gBattleAnimSpriteGfx_HumanoidFoot[]; +extern const u32 gBattleAnimSpriteGfx_MonsterFoot[]; +extern const u32 gBattleAnimSpriteGfx_HumanoidHand[]; +extern const u32 gBattleAnimSpriteGfx_NoiseLine[]; extern const u32 gUnknown_08C2EA50[]; extern const u32 gUnknown_08C2EA9C[]; -extern const u32 gBattleAnimSpriteSheet_YellowUnk[]; -extern const u32 gBattleAnimSpriteSheet_RedFist[]; -extern const u32 gBattleAnimSpriteSheet_SlamHit[]; -extern const u32 gBattleAnimSpriteSheet_Ring[]; -extern const u32 gBattleAnimSpriteSheet_Rocks[]; -extern const u32 gBattleAnimSpriteSheet_Z[]; -extern const u32 gBattleAnimSpriteSheet_YellowUnk2[]; -extern const u32 gBattleAnimSpriteSheet_AirSlash[]; -extern const u32 gBattleAnimSpriteSheet_SpinningGreenOrbs[]; -extern const u32 gBattleAnimSpriteSheet_Leaf[]; -extern const u32 gBattleAnimSpriteSheet_Finger[]; -extern const u32 gBattleAnimSpriteSheet_PoisonPowder[]; -extern const u32 gBattleAnimSpriteSheet_BrownTriangle[]; -extern const u32 gBattleAnimSpriteSheet_Sparkle3[]; -extern const u32 gBattleAnimSpriteSheet_Sparkle4[]; -extern const u32 gBattleAnimSpriteSheet_MusicNotes[]; -extern const u32 gBattleAnimSpriteSheet_Duck[]; -extern const u32 gBattleAnimSpriteSheet_MudSand[]; -extern const u32 gBattleAnimSpriteSheet_Alert[]; -extern const u32 gBattleAnimSpriteSheet_BlueFlames[]; -extern const u32 gBattleAnimSpriteSheet_BlueFlames2[]; -extern const u32 gBattleAnimSpriteSheet_Shock4[]; -extern const u32 gBattleAnimSpriteSheet_Shock[]; -extern const u32 gBattleAnimSpriteSheet_Bell2[]; -extern const u32 gBattleAnimSpriteSheet_PinkGlove[]; -extern const u32 gBattleAnimSpriteSheet_BlueLines[]; -extern const u32 gBattleAnimSpriteSheet_Impact3[]; -extern const u32 gBattleAnimSpriteSheet_Impact2[]; -extern const u32 gBattleAnimSpriteSheet_Reticle[]; -extern const u32 gBattleAnimSpriteSheet_Breath[]; -extern const u32 gBattleAnimSpriteSheet_Anger[]; -extern const u32 gBattleAnimSpriteSheet_Snowball[]; -extern const u32 gBattleAnimSpriteSheet_Vine[]; -extern const u32 gBattleAnimSpriteSheet_Sword2[]; -extern const u32 gBattleAnimSpriteSheet_Clapping[]; -extern const u32 gBattleAnimSpriteSheet_RedTube[]; -extern const u32 gBattleAnimSpriteSheet_Amnesia[]; -extern const u32 gBattleAnimSpriteSheet_String2[]; -extern const u32 gBattleAnimSpriteSheet_Pencil2[]; -extern const u32 gBattleAnimSpriteSheet_Petal[]; -extern const u32 gBattleAnimSpriteSheet_BentSpoon[]; -extern const u32 gBattleAnimSpriteSheet_Web[]; -extern const u32 gBattleAnimSpriteSheet_MilkBottle[]; -extern const u32 gBattleAnimSpriteSheet_Coin[]; -extern const u32 gBattleAnimSpriteSheet_CrackedEgg[]; -extern const u32 gBattleAnimSpriteSheet_HatchedEgg[]; -extern const u32 gBattleAnimSpriteSheet_FreshEgg[]; -extern const u32 gBattleAnimSpriteSheet_Fangs[]; -extern const u32 gBattleAnimSpriteSheet_Explosion2[]; -extern const u32 gBattleAnimSpriteSheet_Explosion3[]; -extern const u32 gBattleAnimSpriteSheet_WaterDroplet[]; -extern const u32 gBattleAnimSpriteSheet_WaterDroplet2[]; -extern const u32 gBattleAnimSpriteSheet_Seed2[]; -extern const u32 gBattleAnimSpriteSheet_Sprout[]; -extern const u32 gBattleAnimSpriteSheet_RedWand[]; -extern const u32 gBattleAnimSpriteSheet_PurpleGreenUnk[]; -extern const u32 gBattleAnimSpriteSheet_WaterColumn[]; -extern const u32 gBattleAnimSpriteSheet_MudUnk[]; -extern const u32 gBattleAnimSpriteSheet_RainDrops[]; -extern const u32 gBattleAnimSpriteSheet_FurySwipes[]; -extern const u32 gBattleAnimSpriteSheet_Vine2[]; -extern const u32 gBattleAnimSpriteSheet_Teeth[]; -extern const u32 gBattleAnimSpriteSheet_Bone2[]; -extern const u32 gBattleAnimSpriteSheet_WhiteBag[]; -extern const u32 gBattleAnimSpriteSheet_Unknown[]; -extern const u32 gBattleAnimSpriteSheet_PurpleCoral[]; -extern const u32 gBattleAnimSpriteSheet_PurpleDroplet[]; -extern const u32 gBattleAnimSpriteSheet_Shock2[]; -extern const u32 gBattleAnimSpriteSheet_ClosingEye2[]; -extern const u32 gBattleAnimSpriteSheet_MetalBall[]; -extern const u32 gBattleAnimSpriteSheet_MonsterDoll[]; -extern const u32 gBattleAnimSpriteSheet_Whirlwind[]; -extern const u32 gBattleAnimSpriteSheet_Whirlwind2[]; -extern const u32 gBattleAnimSpriteSheet_Explosion4[]; -extern const u32 gBattleAnimSpriteSheet_Explosion5[]; -extern const u32 gBattleAnimSpriteSheet_Tongue[]; -extern const u32 gBattleAnimSpriteSheet_Smoke[]; -extern const u32 gBattleAnimSpriteSheet_Smoke2[]; -extern const u32 gBattleAnimSpriteSheet_Impact[]; -extern const u32 gBattleAnimSpriteSheet_Particles[]; -extern const u32 gBattleAnimSpriteSheet_CircleImpact[]; -extern const u32 gBattleAnimSpriteSheet_Scratch[]; -extern const u32 gBattleAnimSpriteSheet_Cut[]; -extern const u32 gBattleAnimSpriteSheet_SharpTeeth[]; -extern const u32 gBattleAnimSpriteSheet_RainbowRings[]; -extern const u32 gBattleAnimSpriteSheet_IceCrystals[]; -extern const u32 gBattleAnimSpriteSheet_IceSpikes[]; -extern const u32 gBattleAnimSpriteSheet_HandsAndFeet[]; -extern const u32 gBattleAnimSpriteSheet_MistCloud[]; -extern const u32 gBattleAnimSpriteSheet_Clamp[]; -//extern const struct CompressedSpriteSheet gBattleAnimSpriteSheet_146[]; -extern const u32 gBattleAnimSpriteSheet_Bubble[]; -extern const u32 gBattleAnimSpriteSheet_Orbs[]; -extern const u32 gBattleAnimSpriteSheet_WaterImpact[]; -extern const u32 gBattleAnimSpriteSheet_WaterOrb[]; -extern const u32 gBattleAnimSpriteSheet_PoisonBubble[]; -extern const u32 gBattleAnimSpriteSheet_ToxicBubble[]; -extern const u32 gBattleAnimSpriteSheet_Spikes[]; -extern const u32 gBattleAnimSpriteSheet_HornHit2[]; -extern const u32 gBattleAnimSpriteSheet_AirWave2[]; -extern const u32 gBattleAnimSpriteSheet_SmallBubbles[]; -extern const u32 gBattleAnimSpriteSheet_RoundShadow[]; -extern const u32 gBattleAnimSpriteSheet_Sunlight[]; -extern const u32 gBattleAnimSpriteSheet_Spore[]; -extern const u32 gBattleAnimSpriteSheet_Flower[]; -extern const u32 gBattleAnimSpriteSheet_RazorLeaf[]; -extern const u32 gBattleAnimSpriteSheet_Needle[]; -extern const u32 gBattleAnimSpriteSheet_WhirlwindLines[]; -extern const u32 gBattleAnimSpriteSheet_GoldRing[]; -extern const u32 gBattleAnimSpriteSheet_GreenLightWall[]; -extern const u32 gBattleAnimSpriteSheet_BlackBall2[]; -extern const u32 gBattleAnimSpriteSheet_SparkH[]; -extern const u32 gBattleAnimSpriteSheet_YellowStar[]; -extern const u32 gBattleAnimSpriteSheet_LargeFreshEgg[]; -extern const u32 gBattleAnimSpriteSheet_ShadowBall[]; -extern const u32 gBattleAnimSpriteSheet_Lick[]; -extern const u32 gBattleAnimSpriteSheet_VoidLines[]; -extern const u32 gBattleAnimSpriteSheet_String[]; -extern const u32 gBattleAnimSpriteSheet_WebThread[]; -extern const u32 gBattleAnimSpriteSheet_SpiderWeb[]; -extern const u32 gBattleAnimSpriteSheet_Lightbulb[]; -extern const u32 gBattleAnimSpriteSheet_Slash[]; -extern const u32 gBattleAnimSpriteSheet_FocusEnergy[]; -extern const u32 gBattleAnimSpriteSheet_SphereToCube[]; -extern const u32 gBattleAnimSpriteSheet_Tendrils[]; -extern const u32 gBattleAnimSpriteSheet_Eye[]; -extern const u32 gBattleAnimSpriteSheet_WhiteShadow[]; -extern const u32 gBattleAnimSpriteSheet_TealAlert[]; -extern const u32 gBattleAnimSpriteSheet_OpeningEye[]; -extern const u32 gBattleAnimSpriteSheet_RoundWhiteHalo[]; -extern const u32 gBattleAnimSpriteSheet_FangAttack[]; -extern const u32 gBattleAnimSpriteSheet_PurpleHandOutline[]; -extern const u32 gBattleAnimSpriteSheet_Moon[]; -extern const u32 gBattleAnimSpriteSheet_GreenSparkle[]; -extern const u32 gBattleAnimSpriteSheet_Spiral[]; -extern const u32 gBattleAnimSpriteSheet_SnoreZ[]; -extern const u32 gBattleAnimSpriteSheet_Explosion[]; -extern const u32 gBattleAnimSpriteSheet_Nail[]; -extern const u32 gBattleAnimSpriteSheet_GhostlySpirit[]; -extern const u32 gBattleAnimSpriteSheet_WarmRock[]; -extern const u32 gBattleAnimSpriteSheet_BreakingEgg[]; -extern const u32 gBattleAnimSpriteSheet_ThinRing[]; -extern const u32 gBattleAnimSpriteSheet_PunchImpact[]; -extern const u32 gBattleAnimSpriteSheet_Bell[]; -extern const u32 gBattleAnimSpriteSheet_MusicNotes2[]; -extern const u32 gBattleAnimSpriteSheet_SpeedDust[]; -extern const u32 gBattleAnimSpriteSheet_TornMetal[]; -extern const u32 gBattleAnimSpriteSheet_ThoughtBubble[]; -extern const u32 gBattleAnimSpriteSheet_MagentaHeart[]; -extern const u32 gBattleAnimSpriteSheet_ElectricOrbs[]; -extern const u32 gBattleAnimSpriteSheet_CircleOfLight[]; -extern const u32 gBattleAnimSpriteSheet_Electricity[]; -extern const u32 gBattleAnimSpriteSheet_Finger2[]; -extern const u32 gBattleAnimSpriteSheet_MovementWaves[]; -extern const u32 gBattleAnimSpriteSheet_MagentaHeart[]; -extern const u32 gBattleAnimSpriteSheet_RedOrb[]; -extern const u32 gBattleAnimSpriteSheet_EyeSparkle[]; -extern const u32 gBattleAnimSpriteSheet_MagentaHeart[]; -extern const u32 gBattleAnimSpriteSheet_Angel[]; -extern const u32 gBattleAnimSpriteSheet_Devil[]; -extern const u32 gBattleAnimSpriteSheet_Swipe[]; -extern const u32 gBattleAnimSpriteSheet_Roots[]; -extern const u32 gBattleAnimSpriteSheet_ItemBag[]; -extern const u32 gBattleAnimSpriteSheet_JaggedMusicNote[]; -extern const u32 gBattleAnimSpriteSheet_Pokeball[]; -extern const u32 gBattleAnimSpriteSheet_Spotlight[]; -extern const u32 gBattleAnimSpriteSheet_LetterZ[]; -extern const u32 gBattleAnimSpriteSheet_RapidSpin[]; -extern const u32 gBattleAnimSpriteSheet_TriForceTriangle[]; -extern const u32 gBattleAnimSpriteSheet_WispOrb[]; -extern const u32 gBattleAnimSpriteSheet_WispFire[]; -extern const u32 gBattleAnimSpriteSheet_GoldStars[]; -extern const u32 gBattleAnimSpriteSheet_EclipsingOrb[]; -extern const u32 gBattleAnimSpriteSheet_GrayOrb[]; -extern const u32 gBattleAnimSpriteSheet_GrayOrb[]; -extern const u32 gBattleAnimSpriteSheet_GrayOrb[]; -extern const u32 gBattleAnimSpriteSheet_PinkPetal[]; -extern const u32 gBattleAnimSpriteSheet_PainSplit[]; -extern const u32 gBattleAnimSpriteSheet_Confetti[]; -extern const u32 gBattleAnimSpriteSheet_GreenStar[]; -extern const u32 gBattleAnimSpriteSheet_PinkCloud[]; -extern const u32 gBattleAnimSpriteSheet_SweatDrop[]; -extern const u32 gBattleAnimSpriteSheet_GuardRing[]; -extern const u32 gBattleAnimSpriteSheet_PurpleScratch[]; -extern const u32 gBattleAnimSpriteSheet_PurpleSwipe[]; -extern const u32 gBattleAnimSpriteSheet_TagHand[]; -extern const u32 gBattleAnimSpriteSheet_SmallRedEye[]; -extern const u32 gBattleAnimSpriteSheet_HollowOrb[]; -extern const u32 gBattleAnimSpriteSheet_XSign[]; -extern const u32 gBattleAnimSpriteSheet_BluegreenOrb[]; -extern const u32 gBattleAnimSpriteSheet_PawPrint[]; -extern const u32 gBattleAnimSpriteSheet_PurpleFlame[]; -extern const u32 gBattleAnimSpriteSheet_RedBall[]; -extern const u32 gBattleAnimSpriteSheet_SmellingsaltEffect[]; -extern const u32 gBattleAnimSpriteSheet_Meteor[]; -extern const u32 gBattleAnimSpriteSheet_FlatRock[]; -extern const u32 gBattleAnimSpriteSheet_MagnifyingGlass[]; -extern const u32 gBattleAnimSpriteSheet_MetalSoundWaves[]; -extern const u32 gBattleAnimSpriteSheet_FlyingDirt[]; -extern const u32 gBattleAnimSpriteSheet_IcicleSpear[]; -extern const u32 gBattleAnimSpriteSheet_Hail[]; -extern const u32 gBattleAnimSpriteSheet_GlowyRedOrb[]; -extern const u32 gBattleAnimSpriteSheet_GreenSpike[]; -extern const u32 gBattleAnimSpriteSheet_RedBrick[]; -extern const u32 gBattleAnimSpriteSheet_WhiteFeather[]; -extern const u32 gBattleAnimSpriteSheet_Sparkle6[]; -extern const u32 gBattleAnimSpriteSheet_Splash[]; -extern const u32 gBattleAnimSpriteSheet_SweatBead[]; -extern const u32 gBattleAnimSpriteSheet_Gem1[]; -extern const u32 gBattleAnimSpriteSheet_Gem2[]; -extern const u32 gBattleAnimSpriteSheet_Gem3[]; -extern const u32 gBattleAnimSpriteSheet_SlamHit2[]; -extern const u32 gBattleAnimSpriteSheet_Recycle[]; -extern const u32 gBattleAnimSpriteSheet_RedParticles[]; -extern const u32 gBattleAnimSpriteSheet_Protect[]; -extern const u32 gBattleAnimSpriteSheet_DirtMound[]; -extern const u32 gBattleAnimSpriteSheet_Shock3[]; -extern const u32 gBattleAnimSpriteSheet_WeatherBall[]; +extern const u32 gBattleAnimSpriteGfx_YellowUnk[]; +extern const u32 gBattleAnimSpriteGfx_RedFist[]; +extern const u32 gBattleAnimSpriteGfx_SlamHit[]; +extern const u32 gBattleAnimSpriteGfx_Ring[]; +extern const u32 gBattleAnimSpriteGfx_Rocks[]; +extern const u32 gBattleAnimSpriteGfx_Z[]; +extern const u32 gBattleAnimSpriteGfx_YellowUnk2[]; +extern const u32 gBattleAnimSpriteGfx_AirSlash[]; +extern const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[]; +extern const u32 gBattleAnimSpriteGfx_Leaf[]; +extern const u32 gBattleAnimSpriteGfx_Finger[]; +extern const u32 gBattleAnimSpriteGfx_PoisonPowder[]; +extern const u32 gBattleAnimSpriteGfx_BrownTriangle[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle3[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle4[]; +extern const u32 gBattleAnimSpriteGfx_MusicNotes[]; +extern const u32 gBattleAnimSpriteGfx_Duck[]; +extern const u32 gBattleAnimSpriteGfx_MudSand[]; +extern const u32 gBattleAnimSpriteGfx_Alert[]; +extern const u32 gBattleAnimSpriteGfx_BlueFlames[]; +extern const u32 gBattleAnimSpriteGfx_BlueFlames2[]; +extern const u32 gBattleAnimSpriteGfx_Shock4[]; +extern const u32 gBattleAnimSpriteGfx_Shock[]; +extern const u32 gBattleAnimSpriteGfx_Bell2[]; +extern const u32 gBattleAnimSpriteGfx_PinkGlove[]; +extern const u32 gBattleAnimSpriteGfx_BlueLines[]; +extern const u32 gBattleAnimSpriteGfx_Impact3[]; +extern const u32 gBattleAnimSpriteGfx_Impact2[]; +extern const u32 gBattleAnimSpriteGfx_Reticle[]; +extern const u32 gBattleAnimSpriteGfx_Breath[]; +extern const u32 gBattleAnimSpriteGfx_Anger[]; +extern const u32 gBattleAnimSpriteGfx_Snowball[]; +extern const u32 gBattleAnimSpriteGfx_Vine[]; +extern const u32 gBattleAnimSpriteGfx_Sword2[]; +extern const u32 gBattleAnimSpriteGfx_Clapping[]; +extern const u32 gBattleAnimSpriteGfx_RedTube[]; +extern const u32 gBattleAnimSpriteGfx_Amnesia[]; +extern const u32 gBattleAnimSpriteGfx_String2[]; +extern const u32 gBattleAnimSpriteGfx_Pencil2[]; +extern const u32 gBattleAnimSpriteGfx_Petal[]; +extern const u32 gBattleAnimSpriteGfx_BentSpoon[]; +extern const u32 gBattleAnimSpriteGfx_Web[]; +extern const u32 gBattleAnimSpriteGfx_MilkBottle[]; +extern const u32 gBattleAnimSpriteGfx_Coin[]; +extern const u32 gBattleAnimSpriteGfx_CrackedEgg[]; +extern const u32 gBattleAnimSpriteGfx_HatchedEgg[]; +extern const u32 gBattleAnimSpriteGfx_FreshEgg[]; +extern const u32 gBattleAnimSpriteGfx_Fangs[]; +extern const u32 gBattleAnimSpriteGfx_Explosion2[]; +extern const u32 gBattleAnimSpriteGfx_Explosion3[]; +extern const u32 gBattleAnimSpriteGfx_WaterDroplet[]; +extern const u32 gBattleAnimSpriteGfx_WaterDroplet2[]; +extern const u32 gBattleAnimSpriteGfx_Seed2[]; +extern const u32 gBattleAnimSpriteGfx_Sprout[]; +extern const u32 gBattleAnimSpriteGfx_RedWand[]; +extern const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[]; +extern const u32 gBattleAnimSpriteGfx_WaterColumn[]; +extern const u32 gBattleAnimSpriteGfx_MudUnk[]; +extern const u32 gBattleAnimSpriteGfx_RainDrops[]; +extern const u32 gBattleAnimSpriteGfx_FurySwipes[]; +extern const u32 gBattleAnimSpriteGfx_Vine2[]; +extern const u32 gBattleAnimSpriteGfx_Teeth[]; +extern const u32 gBattleAnimSpriteGfx_Bone2[]; +extern const u32 gBattleAnimSpriteGfx_WhiteBag[]; +extern const u32 gBattleAnimSpriteGfx_Unknown[]; +extern const u32 gBattleAnimSpriteGfx_PurpleCoral[]; +extern const u32 gBattleAnimSpriteGfx_PurpleDroplet[]; +extern const u32 gBattleAnimSpriteGfx_Shock2[]; +extern const u32 gBattleAnimSpriteGfx_ClosingEye2[]; +extern const u32 gBattleAnimSpriteGfx_MetalBall[]; +extern const u32 gBattleAnimSpriteGfx_MonsterDoll[]; +extern const u32 gBattleAnimSpriteGfx_Whirlwind[]; +extern const u32 gBattleAnimSpriteGfx_Whirlwind2[]; +extern const u32 gBattleAnimSpriteGfx_Explosion4[]; +extern const u32 gBattleAnimSpriteGfx_Explosion5[]; +extern const u32 gBattleAnimSpriteGfx_Tongue[]; +extern const u32 gBattleAnimSpriteGfx_Smoke[]; +extern const u32 gBattleAnimSpriteGfx_Smoke2[]; +extern const u32 gBattleAnimSpriteGfx_Impact[]; +extern const u32 gBattleAnimSpriteGfx_Particles[]; +extern const u32 gBattleAnimSpriteGfx_CircleImpact[]; +extern const u32 gBattleAnimSpriteGfx_Scratch[]; +extern const u32 gBattleAnimSpriteGfx_Cut[]; +extern const u32 gBattleAnimSpriteGfx_SharpTeeth[]; +extern const u32 gBattleAnimSpriteGfx_RainbowRings[]; +extern const u32 gBattleAnimSpriteGfx_IceCrystals[]; +extern const u32 gBattleAnimSpriteGfx_IceSpikes[]; +extern const u32 gBattleAnimSpriteGfx_HandsAndFeet[]; +extern const u32 gBattleAnimSpriteGfx_MistCloud[]; +extern const u32 gBattleAnimSpriteGfx_Clamp[]; +//extern const struct CompressedSpriteSheet gBattleAnimSpriteGfx_146[]; +extern const u32 gBattleAnimSpriteGfx_Bubble[]; +extern const u32 gBattleAnimSpriteGfx_Orbs[]; +extern const u32 gBattleAnimSpriteGfx_WaterImpact[]; +extern const u32 gBattleAnimSpriteGfx_WaterOrb[]; +extern const u32 gBattleAnimSpriteGfx_PoisonBubble[]; +extern const u32 gBattleAnimSpriteGfx_ToxicBubble[]; +extern const u32 gBattleAnimSpriteGfx_Spikes[]; +extern const u32 gBattleAnimSpriteGfx_HornHit2[]; +extern const u32 gBattleAnimSpriteGfx_AirWave2[]; +extern const u32 gBattleAnimSpriteGfx_SmallBubbles[]; +extern const u32 gBattleAnimSpriteGfx_RoundShadow[]; +extern const u32 gBattleAnimSpriteGfx_Sunlight[]; +extern const u32 gBattleAnimSpriteGfx_Spore[]; +extern const u32 gBattleAnimSpriteGfx_Flower[]; +extern const u32 gBattleAnimSpriteGfx_RazorLeaf[]; +extern const u32 gBattleAnimSpriteGfx_Needle[]; +extern const u32 gBattleAnimSpriteGfx_WhirlwindLines[]; +extern const u32 gBattleAnimSpriteGfx_GoldRing[]; +extern const u32 gBattleAnimSpriteGfx_GreenLightWall[]; +extern const u32 gBattleAnimSpriteGfx_BlackBall2[]; +extern const u32 gBattleAnimSpriteGfx_SparkH[]; +extern const u32 gBattleAnimSpriteGfx_YellowStar[]; +extern const u32 gBattleAnimSpriteGfx_LargeFreshEgg[]; +extern const u32 gBattleAnimSpriteGfx_ShadowBall[]; +extern const u32 gBattleAnimSpriteGfx_Lick[]; +extern const u32 gBattleAnimSpriteGfx_VoidLines[]; +extern const u32 gBattleAnimSpriteGfx_String[]; +extern const u32 gBattleAnimSpriteGfx_WebThread[]; +extern const u32 gBattleAnimSpriteGfx_SpiderWeb[]; +extern const u32 gBattleAnimSpriteGfx_Lightbulb[]; +extern const u32 gBattleAnimSpriteGfx_Slash[]; +extern const u32 gBattleAnimSpriteGfx_FocusEnergy[]; +extern const u32 gBattleAnimSpriteGfx_SphereToCube[]; +extern const u32 gBattleAnimSpriteGfx_Tendrils[]; +extern const u32 gBattleAnimSpriteGfx_Eye[]; +extern const u32 gBattleAnimSpriteGfx_WhiteShadow[]; +extern const u32 gBattleAnimSpriteGfx_TealAlert[]; +extern const u32 gBattleAnimSpriteGfx_OpeningEye[]; +extern const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[]; +extern const u32 gBattleAnimSpriteGfx_FangAttack[]; +extern const u32 gBattleAnimSpriteGfx_PurpleHandOutline[]; +extern const u32 gBattleAnimSpriteGfx_Moon[]; +extern const u32 gBattleAnimSpriteGfx_GreenSparkle[]; +extern const u32 gBattleAnimSpriteGfx_Spiral[]; +extern const u32 gBattleAnimSpriteGfx_SnoreZ[]; +extern const u32 gBattleAnimSpriteGfx_Explosion[]; +extern const u32 gBattleAnimSpriteGfx_Nail[]; +extern const u32 gBattleAnimSpriteGfx_GhostlySpirit[]; +extern const u32 gBattleAnimSpriteGfx_WarmRock[]; +extern const u32 gBattleAnimSpriteGfx_BreakingEgg[]; +extern const u32 gBattleAnimSpriteGfx_ThinRing[]; +extern const u32 gBattleAnimSpriteGfx_PunchImpact[]; +extern const u32 gBattleAnimSpriteGfx_Bell[]; +extern const u32 gBattleAnimSpriteGfx_MusicNotes2[]; +extern const u32 gBattleAnimSpriteGfx_SpeedDust[]; +extern const u32 gBattleAnimSpriteGfx_TornMetal[]; +extern const u32 gBattleAnimSpriteGfx_ThoughtBubble[]; +extern const u32 gBattleAnimSpriteGfx_MagentaHeart[]; +extern const u32 gBattleAnimSpriteGfx_ElectricOrbs[]; +extern const u32 gBattleAnimSpriteGfx_CircleOfLight[]; +extern const u32 gBattleAnimSpriteGfx_Electricity[]; +extern const u32 gBattleAnimSpriteGfx_Finger2[]; +extern const u32 gBattleAnimSpriteGfx_MovementWaves[]; +extern const u32 gBattleAnimSpriteGfx_MagentaHeart[]; +extern const u32 gBattleAnimSpriteGfx_RedOrb[]; +extern const u32 gBattleAnimSpriteGfx_EyeSparkle[]; +extern const u32 gBattleAnimSpriteGfx_MagentaHeart[]; +extern const u32 gBattleAnimSpriteGfx_Angel[]; +extern const u32 gBattleAnimSpriteGfx_Devil[]; +extern const u32 gBattleAnimSpriteGfx_Swipe[]; +extern const u32 gBattleAnimSpriteGfx_Roots[]; +extern const u32 gBattleAnimSpriteGfx_ItemBag[]; +extern const u32 gBattleAnimSpriteGfx_JaggedMusicNote[]; +extern const u32 gBattleAnimSpriteGfx_Pokeball[]; +extern const u32 gBattleAnimSpriteGfx_Spotlight[]; +extern const u32 gBattleAnimSpriteGfx_LetterZ[]; +extern const u32 gBattleAnimSpriteGfx_RapidSpin[]; +extern const u32 gBattleAnimSpriteGfx_TriForceTriangle[]; +extern const u32 gBattleAnimSpriteGfx_WispOrb[]; +extern const u32 gBattleAnimSpriteGfx_WispFire[]; +extern const u32 gBattleAnimSpriteGfx_GoldStars[]; +extern const u32 gBattleAnimSpriteGfx_EclipsingOrb[]; +extern const u32 gBattleAnimSpriteGfx_GrayOrb[]; +extern const u32 gBattleAnimSpriteGfx_GrayOrb[]; +extern const u32 gBattleAnimSpriteGfx_GrayOrb[]; +extern const u32 gBattleAnimSpriteGfx_PinkPetal[]; +extern const u32 gBattleAnimSpriteGfx_PainSplit[]; +extern const u32 gBattleAnimSpriteGfx_Confetti[]; +extern const u32 gBattleAnimSpriteGfx_GreenStar[]; +extern const u32 gBattleAnimSpriteGfx_PinkCloud[]; +extern const u32 gBattleAnimSpriteGfx_SweatDrop[]; +extern const u32 gBattleAnimSpriteGfx_GuardRing[]; +extern const u32 gBattleAnimSpriteGfx_PurpleScratch[]; +extern const u32 gBattleAnimSpriteGfx_PurpleSwipe[]; +extern const u32 gBattleAnimSpriteGfx_TagHand[]; +extern const u32 gBattleAnimSpriteGfx_SmallRedEye[]; +extern const u32 gBattleAnimSpriteGfx_HollowOrb[]; +extern const u32 gBattleAnimSpriteGfx_XSign[]; +extern const u32 gBattleAnimSpriteGfx_BluegreenOrb[]; +extern const u32 gBattleAnimSpriteGfx_PawPrint[]; +extern const u32 gBattleAnimSpriteGfx_PurpleFlame[]; +extern const u32 gBattleAnimSpriteGfx_RedBall[]; +extern const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[]; +extern const u32 gBattleAnimSpriteGfx_Meteor[]; +extern const u32 gBattleAnimSpriteGfx_FlatRock[]; +extern const u32 gBattleAnimSpriteGfx_MagnifyingGlass[]; +extern const u32 gBattleAnimSpriteGfx_MetalSoundWaves[]; +extern const u32 gBattleAnimSpriteGfx_FlyingDirt[]; +extern const u32 gBattleAnimSpriteGfx_IcicleSpear[]; +extern const u32 gBattleAnimSpriteGfx_Hail[]; +extern const u32 gBattleAnimSpriteGfx_GlowyRedOrb[]; +extern const u32 gBattleAnimSpriteGfx_GreenSpike[]; +extern const u32 gBattleAnimSpriteGfx_RedBrick[]; +extern const u32 gBattleAnimSpriteGfx_WhiteFeather[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle6[]; +extern const u32 gBattleAnimSpriteGfx_Splash[]; +extern const u32 gBattleAnimSpriteGfx_SweatBead[]; +extern const u32 gBattleAnimSpriteGfx_Gem1[]; +extern const u32 gBattleAnimSpriteGfx_Gem2[]; +extern const u32 gBattleAnimSpriteGfx_Gem3[]; +extern const u32 gBattleAnimSpriteGfx_SlamHit2[]; +extern const u32 gBattleAnimSpriteGfx_Recycle[]; +extern const u32 gBattleAnimSpriteGfx_RedParticles[]; +extern const u32 gBattleAnimSpriteGfx_Protect[]; +extern const u32 gBattleAnimSpriteGfx_DirtMound[]; +extern const u32 gBattleAnimSpriteGfx_Shock3[]; +extern const u32 gBattleAnimSpriteGfx_WeatherBall[]; extern const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[]; extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[]; extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[]; -extern const u32 gBattleAnimSpriteSheet_Bird[]; -extern const u32 gBattleAnimSpriteSheet_CrossImpact[]; +extern const u32 gBattleAnimSpriteGfx_Bird[]; +extern const u32 gBattleAnimSpriteGfx_CrossImpact[]; -extern const u32 gBattleAnimSpritePalette_Bone[]; -extern const u32 gBattleAnimSpritePalette_Spark[]; -extern const u32 gBattleAnimSpritePalette_Pencil[]; -extern const u32 gBattleAnimSpritePalette_AirWave[]; -extern const u32 gBattleAnimSpritePalette_Orb[]; -extern const u32 gBattleAnimSpritePalette_Sword[]; -extern const u32 gBattleAnimSpritePalette_Seed[]; -extern const u32 gBattleAnimSpritePalette_Explosion6[]; -extern const u32 gBattleAnimSpritePalette_PinkOrb[]; -extern const u32 gBattleAnimSpritePalette_Gust[]; -extern const u32 gBattleAnimSpritePalette_IceCube[]; -extern const u32 gBattleAnimSpritePalette_Spark2[]; -extern const u32 gBattleAnimSpritePalette_Orange[]; -extern const u32 gBattleAnimSpritePalette_YellowBall[]; -extern const u32 gBattleAnimSpritePalette_LockOn[]; -extern const u32 gBattleAnimSpritePalette_TiedBag[]; -extern const u32 gBattleAnimSpritePalette_BlackSmoke[]; -extern const u32 gBattleAnimSpritePalette_BlackSmoke[]; -extern const u32 gBattleAnimSpritePalette_Conversion[]; -extern const u32 gBattleAnimSpritePalette_Glass[]; -extern const u32 gBattleAnimSpritePalette_HornHit[]; -extern const u32 gBattleAnimSpritePalette_Hit[]; -extern const u32 gBattleAnimSpritePalette_Hit2[]; -extern const u32 gBattleAnimSpritePalette_BlueShards[]; -extern const u32 gBattleAnimSpritePalette_ClosingEye[]; -extern const u32 gBattleAnimSpritePalette_WavingHand[]; -extern const u32 gBattleAnimSpritePalette_HitDuplicate[]; -extern const u32 gBattleAnimSpritePalette_Leer[]; -extern const u32 gBattleAnimSpritePalette_BlueBurst[]; -extern const u32 gBattleAnimSpritePalette_SmallEmber[]; -extern const u32 gBattleAnimSpritePalette_GraySmoke[]; -extern const u32 gBattleAnimSpritePalette_BlueStar[]; -extern const u32 gBattleAnimSpritePalette_BubbleBurst[]; -extern const u32 gBattleAnimSpritePalette_Fire[]; -extern const u32 gBattleAnimSpritePalette_Fire[]; -extern const u32 gBattleAnimSpritePalette_Fire[]; -extern const u32 gBattleAnimSpritePalette_Lightning2[]; -extern const u32 gBattleAnimSpritePalette_Lightning2[]; -extern const u32 gBattleAnimSpritePalette_ClawSlash2[]; -extern const u32 gBattleAnimSpritePalette_ClawSlash[]; -extern const u32 gBattleAnimSpritePalette_ClawSlash2[]; -extern const u32 gBattleAnimSpritePalette_ClawSlash2[]; -extern const u32 gBattleAnimSpritePalette_BubbleBurst2[]; -extern const u32 gBattleAnimSpritePalette_IceChunk[]; -extern const u32 gBattleAnimSpritePalette_Glass2[]; -extern const u32 gBattleAnimSpritePalette_PinkHeart2[]; -extern const u32 gBattleAnimSpritePalette_SapDrip[]; -extern const u32 gBattleAnimSpritePalette_SapDrip2[]; -extern const u32 gBattleAnimSpritePalette_Sparkle1[]; -extern const u32 gBattleAnimSpritePalette_Sparkle2[]; -extern const u32 gBattleAnimSpritePalette_HumanoidFoot[]; -extern const u32 gBattleAnimSpritePalette_HumanoidFoot[]; -extern const u32 gBattleAnimSpritePalette_HumanoidFoot[]; -extern const u32 gBattleAnimSpritePalette_HitDuplicate[]; -extern const u32 gBattleAnimSpritePalette_YellowUnk[]; -extern const u32 gBattleAnimSpritePalette_HumanoidFoot[]; -extern const u32 gBattleAnimSpritePalette_SlamHit[]; -extern const u32 gBattleAnimSpritePalette_Ring[]; -extern const u32 gBattleAnimSpritePalette_Rocks[]; -extern const u32 gBattleAnimSpritePalette_Z[]; -extern const u32 gBattleAnimSpritePalette_YellowUnk2[]; -extern const u32 gBattleAnimSpritePalette_AirSlash[]; -extern const u32 gBattleAnimSpritePalette_SpinningGreenOrbs[]; -extern const u32 gBattleAnimSpritePalette_Leaf[]; -extern const u32 gBattleAnimSpritePalette_Finger[]; -extern const u32 gBattleAnimSpritePalette_PoisonPowder[]; -extern const u32 gBattleAnimSpritePalette_BrownTriangle[]; -extern const u32 gBattleAnimSpritePalette_SleepPowder[]; -extern const u32 gBattleAnimSpritePalette_StunSpore[]; -extern const u32 gBattleAnimSpritePalette_PoisonPowder[]; -extern const u32 gBattleAnimSpritePalette_Sparkle3[]; -extern const u32 gBattleAnimSpritePalette_Sparkle3[]; -extern const u32 gBattleAnimSpritePalette_MusicNotes[]; -extern const u32 gBattleAnimSpritePalette_Duck[]; -extern const u32 gBattleAnimSpritePalette_MudSand[]; -extern const u32 gBattleAnimSpritePalette_Alert[]; -extern const u32 gBattleAnimSpritePalette_BlueFlames[]; -extern const u32 gBattleAnimSpritePalette_BlueFlames[]; -extern const u32 gBattleAnimSpritePalette_Shock4[]; -extern const u32 gBattleAnimSpritePalette_Shock4[]; -extern const u32 gBattleAnimSpritePalette_Bell2[]; -extern const u32 gBattleAnimSpritePalette_PinkGlove[]; -extern const u32 gBattleAnimSpritePalette_BlueLines[]; -extern const u32 gBattleAnimSpritePalette_Impact3[]; -extern const u32 gBattleAnimSpritePalette_Impact2[]; -extern const u32 gBattleAnimSpritePalette_Reticle[]; -extern const u32 gBattleAnimSpritePalette_Breath[]; -extern const u32 gBattleAnimSpritePalette_Anger[]; -extern const u32 gBattleAnimSpritePalette_Snowball[]; -extern const u32 gBattleAnimSpritePalette_Vine[]; -extern const u32 gBattleAnimSpritePalette_Sword2[]; -extern const u32 gBattleAnimSpritePalette_Clapping[]; -extern const u32 gBattleAnimSpritePalette_RedTube[]; -extern const u32 gBattleAnimSpritePalette_Amnesia[]; -extern const u32 gBattleAnimSpritePalette_String2[]; -extern const u32 gBattleAnimSpritePalette_Pencil2[]; -extern const u32 gBattleAnimSpritePalette_Petal[]; -extern const u32 gBattleAnimSpritePalette_BentSpoon[]; -extern const u32 gBattleAnimSpritePalette_String2[]; -extern const u32 gBattleAnimSpritePalette_MilkBottle[]; -extern const u32 gBattleAnimSpritePalette_Coin[]; -extern const u32 gBattleAnimSpritePalette_CrackedEgg[]; -extern const u32 gBattleAnimSpritePalette_CrackedEgg[]; -extern const u32 gBattleAnimSpritePalette_FreshEgg[]; -extern const u32 gBattleAnimSpritePalette_Fangs[]; -extern const u32 gBattleAnimSpritePalette_Explosion2[]; -extern const u32 gBattleAnimSpritePalette_Explosion2[]; -extern const u32 gBattleAnimSpritePalette_WaterDroplet[]; -extern const u32 gBattleAnimSpritePalette_WaterDroplet[]; -extern const u32 gBattleAnimSpritePalette_Seed2[]; -extern const u32 gBattleAnimSpritePalette_Seed2[]; -extern const u32 gBattleAnimSpritePalette_RedWand[]; -extern const u32 gBattleAnimSpritePalette_PurpleGreenUnk[]; -extern const u32 gBattleAnimSpritePalette_WaterColumn[]; -extern const u32 gBattleAnimSpritePalette_MudUnk[]; -extern const u32 gBattleAnimSpritePalette_RainDrops[]; -extern const u32 gBattleAnimSpritePalette_FurySwipes[]; -extern const u32 gBattleAnimSpritePalette_Vine2[]; -extern const u32 gBattleAnimSpritePalette_Teeth[]; -extern const u32 gBattleAnimSpritePalette_Bone2[]; -extern const u32 gBattleAnimSpritePalette_WhiteBag[]; -extern const u32 gBattleAnimSpritePalette_Unknown[]; -extern const u32 gBattleAnimSpritePalette_PurpleCoral[]; -extern const u32 gBattleAnimSpritePalette_PurpleCoral[]; -extern const u32 gBattleAnimSpritePalette_Shock2[]; -extern const u32 gBattleAnimSpritePalette_ClosingEye2[]; -extern const u32 gBattleAnimSpritePalette_MetalBall[]; -extern const u32 gBattleAnimSpritePalette_MonsterDoll[]; -extern const u32 gBattleAnimSpritePalette_Whirlwind[]; -extern const u32 gBattleAnimSpritePalette_Whirlwind[]; -extern const u32 gBattleAnimSpritePalette_Explosion4[]; -extern const u32 gBattleAnimSpritePalette_Explosion4[]; -extern const u32 gBattleAnimSpritePalette_Tongue[]; -extern const u32 gBattleAnimSpritePalette_Smoke[]; -extern const u32 gBattleAnimSpritePalette_Smoke[]; -extern const u32 gBattleAnimSpritePalette_Impact[]; -extern const u32 gBattleAnimSpritePalette_CircleImpact[]; -extern const u32 gBattleAnimSpritePalette_Impact[]; -extern const u32 gBattleAnimSpritePalette_Impact[]; -extern const u32 gBattleAnimSpritePalette_SharpTeeth[]; -extern const u32 gBattleAnimSpritePalette_RainbowRings[]; -extern const u32 gBattleAnimSpritePalette_IceCrystals[]; -extern const u32 gBattleAnimSpritePalette_IceCrystals[]; -extern const u32 gBattleAnimSpritePalette_HandsAndFeet[]; -extern const u32 gBattleAnimSpritePalette_MistCloud[]; -extern const u32 gBattleAnimSpritePalette_SharpTeeth[]; -extern const u32 gBattleAnimSpritePalette_RainDrops[]; -extern const u32 gBattleAnimSpritePalette_Orbs[]; -extern const u32 gBattleAnimSpritePalette_WaterImpact[]; -extern const u32 gBattleAnimSpritePalette_WaterImpact[]; -extern const u32 gBattleAnimSpritePalette_PoisonBubble[]; -extern const u32 gBattleAnimSpritePalette_PoisonBubble[]; -extern const u32 gBattleAnimSpritePalette_Spikes[]; -extern const u32 gBattleAnimSpritePalette_HornHit2[]; -extern const u32 gBattleAnimSpritePalette_AirWave2[]; -extern const u32 gBattleAnimSpritePalette_SmallBubbles[]; -extern const u32 gBattleAnimSpritePalette_RoundShadow[]; -extern const u32 gBattleAnimSpritePalette_Sunlight[]; -extern const u32 gBattleAnimSpritePalette_Spore[]; -extern const u32 gBattleAnimSpritePalette_Flower[]; -extern const u32 gBattleAnimSpritePalette_RazorLeaf[]; -extern const u32 gBattleAnimSpritePalette_Needle[]; -extern const u32 gBattleAnimSpritePalette_WhirlwindLines[]; -extern const u32 gBattleAnimSpritePalette_GoldRing[]; -extern const u32 gBattleAnimSpritePalette_PurpleRing[]; -extern const u32 gBattleAnimSpritePalette_BlueRing[]; -extern const u32 gBattleAnimSpritePalette_GreenLightWall[]; -extern const u32 gBattleAnimSpritePalette_BlueLightWall[]; -extern const u32 gBattleAnimSpritePalette_RedLightWall[]; -extern const u32 gBattleAnimSpritePalette_GrayLightWall[]; -extern const u32 gBattleAnimSpritePalette_OrangeLightWall[]; -extern const u32 gBattleAnimSpritePalette_BlackBall2[]; -extern const u32 gBattleAnimSpritePalette_PurpleGasCloud[]; -extern const u32 gBattleAnimSpritePalette_YellowStar[]; -extern const u32 gBattleAnimSpritePalette_LargeFreshEgg[]; -extern const u32 gBattleAnimSpritePalette_ShadowBall[]; -extern const u32 gBattleAnimSpritePalette_Lick[]; -extern const u32 gBattleAnimSpritePalette_VoidLines[]; -extern const u32 gBattleAnimSpritePalette_String[]; -extern const u32 gBattleAnimSpritePalette_Lightbulb[]; -extern const u32 gBattleAnimSpritePalette_Slash[]; -extern const u32 gBattleAnimSpritePalette_FocusEnergy[]; -extern const u32 gBattleAnimSpritePalette_SphereToCube[]; -extern const u32 gBattleAnimSpritePalette_Tendrils[]; -extern const u32 gBattleAnimSpritePalette_Eye[]; -extern const u32 gBattleAnimSpritePalette_WhiteShadow[]; -extern const u32 gBattleAnimSpritePalette_TealAlert[]; -extern const u32 gBattleAnimSpritePalette_OpeningEye[]; -extern const u32 gBattleAnimSpritePalette_RoundWhiteHalo[]; -extern const u32 gBattleAnimSpritePalette_FangAttack[]; -extern const u32 gBattleAnimSpritePalette_PurpleHandOutline[]; -extern const u32 gBattleAnimSpritePalette_Moon[]; -extern const u32 gBattleAnimSpritePalette_GreenSparkle[]; -extern const u32 gBattleAnimSpritePalette_Spiral[]; -extern const u32 gBattleAnimSpritePalette_SnoreZ[]; -extern const u32 gBattleAnimSpritePalette_Explosion[]; -extern const u32 gBattleAnimSpritePalette_Nail[]; -extern const u32 gBattleAnimSpritePalette_GhostlySpirit[]; -extern const u32 gBattleAnimSpritePalette_WarmRock[]; -extern const u32 gBattleAnimSpritePalette_BreakingEgg[]; -extern const u32 gBattleAnimSpritePalette_ThinRing[]; -extern const u32 gBattleAnimSpritePalette_PunchImpact[]; -extern const u32 gBattleAnimSpritePalette_Bell[]; -extern const u32 gBattleAnimSpritePalette_MusicNotes2[]; -extern const u32 gBattleAnimSpritePalette_SpeedDust[]; -extern const u32 gBattleAnimSpritePalette_ThoughtBubble[]; -extern const u32 gBattleAnimSpritePalette_MagentaHeart[]; -extern const u32 gBattleAnimSpritePalette_ElectricOrbs[]; -extern const u32 gBattleAnimSpritePalette_MovementWaves[]; +extern const u32 gBattleAnimSpritePal_Bone[]; +extern const u32 gBattleAnimSpritePal_Spark[]; +extern const u32 gBattleAnimSpritePal_Pencil[]; +extern const u32 gBattleAnimSpritePal_AirWave[]; +extern const u32 gBattleAnimSpritePal_Orb[]; +extern const u32 gBattleAnimSpritePal_Sword[]; +extern const u32 gBattleAnimSpritePal_Seed[]; +extern const u32 gBattleAnimSpritePal_Explosion6[]; +extern const u32 gBattleAnimSpritePal_PinkOrb[]; +extern const u32 gBattleAnimSpritePal_Gust[]; +extern const u32 gBattleAnimSpritePal_IceCube[]; +extern const u32 gBattleAnimSpritePal_Spark2[]; +extern const u32 gBattleAnimSpritePal_Orange[]; +extern const u32 gBattleAnimSpritePal_YellowBall[]; +extern const u32 gBattleAnimSpritePal_LockOn[]; +extern const u32 gBattleAnimSpritePal_TiedBag[]; +extern const u32 gBattleAnimSpritePal_BlackSmoke[]; +extern const u32 gBattleAnimSpritePal_BlackSmoke[]; +extern const u32 gBattleAnimSpritePal_Conversion[]; +extern const u32 gBattleAnimSpritePal_Glass[]; +extern const u32 gBattleAnimSpritePal_HornHit[]; +extern const u32 gBattleAnimSpritePal_Hit[]; +extern const u32 gBattleAnimSpritePal_Hit2[]; +extern const u32 gBattleAnimSpritePal_BlueShards[]; +extern const u32 gBattleAnimSpritePal_ClosingEye[]; +extern const u32 gBattleAnimSpritePal_WavingHand[]; +extern const u32 gBattleAnimSpritePal_HitDuplicate[]; +extern const u32 gBattleAnimSpritePal_Leer[]; +extern const u32 gBattleAnimSpritePal_BlueBurst[]; +extern const u32 gBattleAnimSpritePal_SmallEmber[]; +extern const u32 gBattleAnimSpritePal_GraySmoke[]; +extern const u32 gBattleAnimSpritePal_BlueStar[]; +extern const u32 gBattleAnimSpritePal_BubbleBurst[]; +extern const u32 gBattleAnimSpritePal_Fire[]; +extern const u32 gBattleAnimSpritePal_Fire[]; +extern const u32 gBattleAnimSpritePal_Fire[]; +extern const u32 gBattleAnimSpritePal_Lightning2[]; +extern const u32 gBattleAnimSpritePal_Lightning2[]; +extern const u32 gBattleAnimSpritePal_ClawSlash2[]; +extern const u32 gBattleAnimSpritePal_ClawSlash[]; +extern const u32 gBattleAnimSpritePal_ClawSlash2[]; +extern const u32 gBattleAnimSpritePal_ClawSlash2[]; +extern const u32 gBattleAnimSpritePal_BubbleBurst2[]; +extern const u32 gBattleAnimSpritePal_IceChunk[]; +extern const u32 gBattleAnimSpritePal_Glass2[]; +extern const u32 gBattleAnimSpritePal_PinkHeart2[]; +extern const u32 gBattleAnimSpritePal_SapDrip[]; +extern const u32 gBattleAnimSpritePal_SapDrip2[]; +extern const u32 gBattleAnimSpritePal_Sparkle1[]; +extern const u32 gBattleAnimSpritePal_Sparkle2[]; +extern const u32 gBattleAnimSpritePal_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePal_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePal_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePal_HitDuplicate[]; +extern const u32 gBattleAnimSpritePal_YellowUnk[]; +extern const u32 gBattleAnimSpritePal_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePal_SlamHit[]; +extern const u32 gBattleAnimSpritePal_Ring[]; +extern const u32 gBattleAnimSpritePal_Rocks[]; +extern const u32 gBattleAnimSpritePal_Z[]; +extern const u32 gBattleAnimSpritePal_YellowUnk2[]; +extern const u32 gBattleAnimSpritePal_AirSlash[]; +extern const u32 gBattleAnimSpritePal_SpinningGreenOrbs[]; +extern const u32 gBattleAnimSpritePal_Leaf[]; +extern const u32 gBattleAnimSpritePal_Finger[]; +extern const u32 gBattleAnimSpritePal_PoisonPowder[]; +extern const u32 gBattleAnimSpritePal_BrownTriangle[]; +extern const u32 gBattleAnimSpritePal_SleepPowder[]; +extern const u32 gBattleAnimSpritePal_StunSpore[]; +extern const u32 gBattleAnimSpritePal_PoisonPowder[]; +extern const u32 gBattleAnimSpritePal_Sparkle3[]; +extern const u32 gBattleAnimSpritePal_Sparkle3[]; +extern const u32 gBattleAnimSpritePal_MusicNotes[]; +extern const u32 gBattleAnimSpritePal_Duck[]; +extern const u32 gBattleAnimSpritePal_MudSand[]; +extern const u32 gBattleAnimSpritePal_Alert[]; +extern const u32 gBattleAnimSpritePal_BlueFlames[]; +extern const u32 gBattleAnimSpritePal_BlueFlames[]; +extern const u32 gBattleAnimSpritePal_Shock4[]; +extern const u32 gBattleAnimSpritePal_Shock4[]; +extern const u32 gBattleAnimSpritePal_Bell2[]; +extern const u32 gBattleAnimSpritePal_PinkGlove[]; +extern const u32 gBattleAnimSpritePal_BlueLines[]; +extern const u32 gBattleAnimSpritePal_Impact3[]; +extern const u32 gBattleAnimSpritePal_Impact2[]; +extern const u32 gBattleAnimSpritePal_Reticle[]; +extern const u32 gBattleAnimSpritePal_Breath[]; +extern const u32 gBattleAnimSpritePal_Anger[]; +extern const u32 gBattleAnimSpritePal_Snowball[]; +extern const u32 gBattleAnimSpritePal_Vine[]; +extern const u32 gBattleAnimSpritePal_Sword2[]; +extern const u32 gBattleAnimSpritePal_Clapping[]; +extern const u32 gBattleAnimSpritePal_RedTube[]; +extern const u32 gBattleAnimSpritePal_Amnesia[]; +extern const u32 gBattleAnimSpritePal_String2[]; +extern const u32 gBattleAnimSpritePal_Pencil2[]; +extern const u32 gBattleAnimSpritePal_Petal[]; +extern const u32 gBattleAnimSpritePal_BentSpoon[]; +extern const u32 gBattleAnimSpritePal_String2[]; +extern const u32 gBattleAnimSpritePal_MilkBottle[]; +extern const u32 gBattleAnimSpritePal_Coin[]; +extern const u32 gBattleAnimSpritePal_CrackedEgg[]; +extern const u32 gBattleAnimSpritePal_CrackedEgg[]; +extern const u32 gBattleAnimSpritePal_FreshEgg[]; +extern const u32 gBattleAnimSpritePal_Fangs[]; +extern const u32 gBattleAnimSpritePal_Explosion2[]; +extern const u32 gBattleAnimSpritePal_Explosion2[]; +extern const u32 gBattleAnimSpritePal_WaterDroplet[]; +extern const u32 gBattleAnimSpritePal_WaterDroplet[]; +extern const u32 gBattleAnimSpritePal_Seed2[]; +extern const u32 gBattleAnimSpritePal_Seed2[]; +extern const u32 gBattleAnimSpritePal_RedWand[]; +extern const u32 gBattleAnimSpritePal_PurpleGreenUnk[]; +extern const u32 gBattleAnimSpritePal_WaterColumn[]; +extern const u32 gBattleAnimSpritePal_MudUnk[]; +extern const u32 gBattleAnimSpritePal_RainDrops[]; +extern const u32 gBattleAnimSpritePal_FurySwipes[]; +extern const u32 gBattleAnimSpritePal_Vine2[]; +extern const u32 gBattleAnimSpritePal_Teeth[]; +extern const u32 gBattleAnimSpritePal_Bone2[]; +extern const u32 gBattleAnimSpritePal_WhiteBag[]; +extern const u32 gBattleAnimSpritePal_Unknown[]; +extern const u32 gBattleAnimSpritePal_PurpleCoral[]; +extern const u32 gBattleAnimSpritePal_PurpleCoral[]; +extern const u32 gBattleAnimSpritePal_Shock2[]; +extern const u32 gBattleAnimSpritePal_ClosingEye2[]; +extern const u32 gBattleAnimSpritePal_MetalBall[]; +extern const u32 gBattleAnimSpritePal_MonsterDoll[]; +extern const u32 gBattleAnimSpritePal_Whirlwind[]; +extern const u32 gBattleAnimSpritePal_Whirlwind[]; +extern const u32 gBattleAnimSpritePal_Explosion4[]; +extern const u32 gBattleAnimSpritePal_Explosion4[]; +extern const u32 gBattleAnimSpritePal_Tongue[]; +extern const u32 gBattleAnimSpritePal_Smoke[]; +extern const u32 gBattleAnimSpritePal_Smoke[]; +extern const u32 gBattleAnimSpritePal_Impact[]; +extern const u32 gBattleAnimSpritePal_CircleImpact[]; +extern const u32 gBattleAnimSpritePal_Impact[]; +extern const u32 gBattleAnimSpritePal_Impact[]; +extern const u32 gBattleAnimSpritePal_SharpTeeth[]; +extern const u32 gBattleAnimSpritePal_RainbowRings[]; +extern const u32 gBattleAnimSpritePal_IceCrystals[]; +extern const u32 gBattleAnimSpritePal_IceCrystals[]; +extern const u32 gBattleAnimSpritePal_HandsAndFeet[]; +extern const u32 gBattleAnimSpritePal_MistCloud[]; +extern const u32 gBattleAnimSpritePal_SharpTeeth[]; +extern const u32 gBattleAnimSpritePal_RainDrops[]; +extern const u32 gBattleAnimSpritePal_Orbs[]; +extern const u32 gBattleAnimSpritePal_WaterImpact[]; +extern const u32 gBattleAnimSpritePal_WaterImpact[]; +extern const u32 gBattleAnimSpritePal_PoisonBubble[]; +extern const u32 gBattleAnimSpritePal_PoisonBubble[]; +extern const u32 gBattleAnimSpritePal_Spikes[]; +extern const u32 gBattleAnimSpritePal_HornHit2[]; +extern const u32 gBattleAnimSpritePal_AirWave2[]; +extern const u32 gBattleAnimSpritePal_SmallBubbles[]; +extern const u32 gBattleAnimSpritePal_RoundShadow[]; +extern const u32 gBattleAnimSpritePal_Sunlight[]; +extern const u32 gBattleAnimSpritePal_Spore[]; +extern const u32 gBattleAnimSpritePal_Flower[]; +extern const u32 gBattleAnimSpritePal_RazorLeaf[]; +extern const u32 gBattleAnimSpritePal_Needle[]; +extern const u32 gBattleAnimSpritePal_WhirlwindLines[]; +extern const u32 gBattleAnimSpritePal_GoldRing[]; +extern const u32 gBattleAnimSpritePal_PurpleRing[]; +extern const u32 gBattleAnimSpritePal_BlueRing[]; +extern const u32 gBattleAnimSpritePal_GreenLightWall[]; +extern const u32 gBattleAnimSpritePal_BlueLightWall[]; +extern const u32 gBattleAnimSpritePal_RedLightWall[]; +extern const u32 gBattleAnimSpritePal_GrayLightWall[]; +extern const u32 gBattleAnimSpritePal_OrangeLightWall[]; +extern const u32 gBattleAnimSpritePal_BlackBall2[]; +extern const u32 gBattleAnimSpritePal_PurpleGasCloud[]; +extern const u32 gBattleAnimSpritePal_YellowStar[]; +extern const u32 gBattleAnimSpritePal_LargeFreshEgg[]; +extern const u32 gBattleAnimSpritePal_ShadowBall[]; +extern const u32 gBattleAnimSpritePal_Lick[]; +extern const u32 gBattleAnimSpritePal_VoidLines[]; +extern const u32 gBattleAnimSpritePal_String[]; +extern const u32 gBattleAnimSpritePal_Lightbulb[]; +extern const u32 gBattleAnimSpritePal_Slash[]; +extern const u32 gBattleAnimSpritePal_FocusEnergy[]; +extern const u32 gBattleAnimSpritePal_SphereToCube[]; +extern const u32 gBattleAnimSpritePal_Tendrils[]; +extern const u32 gBattleAnimSpritePal_Eye[]; +extern const u32 gBattleAnimSpritePal_WhiteShadow[]; +extern const u32 gBattleAnimSpritePal_TealAlert[]; +extern const u32 gBattleAnimSpritePal_OpeningEye[]; +extern const u32 gBattleAnimSpritePal_RoundWhiteHalo[]; +extern const u32 gBattleAnimSpritePal_FangAttack[]; +extern const u32 gBattleAnimSpritePal_PurpleHandOutline[]; +extern const u32 gBattleAnimSpritePal_Moon[]; +extern const u32 gBattleAnimSpritePal_GreenSparkle[]; +extern const u32 gBattleAnimSpritePal_Spiral[]; +extern const u32 gBattleAnimSpritePal_SnoreZ[]; +extern const u32 gBattleAnimSpritePal_Explosion[]; +extern const u32 gBattleAnimSpritePal_Nail[]; +extern const u32 gBattleAnimSpritePal_GhostlySpirit[]; +extern const u32 gBattleAnimSpritePal_WarmRock[]; +extern const u32 gBattleAnimSpritePal_BreakingEgg[]; +extern const u32 gBattleAnimSpritePal_ThinRing[]; +extern const u32 gBattleAnimSpritePal_PunchImpact[]; +extern const u32 gBattleAnimSpritePal_Bell[]; +extern const u32 gBattleAnimSpritePal_MusicNotes2[]; +extern const u32 gBattleAnimSpritePal_SpeedDust[]; +extern const u32 gBattleAnimSpritePal_ThoughtBubble[]; +extern const u32 gBattleAnimSpritePal_MagentaHeart[]; +extern const u32 gBattleAnimSpritePal_ElectricOrbs[]; +extern const u32 gBattleAnimSpritePal_MovementWaves[]; extern const u32 gUnknown_08C249D0[]; extern const u32 gUnknown_08C249F8[]; -extern const u32 gBattleAnimSpritePalette_RedHeart[]; -extern const u32 gBattleAnimSpritePalette_RedOrb[]; -extern const u32 gBattleAnimSpritePalette_EyeSparkle[]; -extern const u32 gBattleAnimSpritePalette_PinkHeart[]; +extern const u32 gBattleAnimSpritePal_RedHeart[]; +extern const u32 gBattleAnimSpritePal_RedOrb[]; +extern const u32 gBattleAnimSpritePal_EyeSparkle[]; +extern const u32 gBattleAnimSpritePal_PinkHeart[]; extern const u32 gUnknown_08C232E0; extern const u32 gUnknown_08C23D50; extern const u32 gUnknown_08C23D78; -extern const u32 gBattleAnimSpritePalette_Angel[]; -extern const u32 gBattleAnimSpritePalette_Devil[]; -extern const u32 gBattleAnimSpritePalette_Swipe[]; -extern const u32 gBattleAnimSpritePalette_Roots[]; -extern const u32 gBattleAnimSpritePalette_ItemBag[]; -extern const u32 gBattleAnimSpritePalette_JaggedMusicNote[]; -extern const u32 gBattleAnimSpritePalette_Pokeball[]; -extern const u32 gBattleAnimSpritePalette_LetterZ[]; -extern const u32 gBattleAnimSpritePalette_RapidSpin[]; -extern const u32 gBattleAnimSpritePalette_TriForceTriangle[]; -extern const u32 gBattleAnimSpritePalette_WispOrb[]; -extern const u32 gBattleAnimSpritePalette_GoldStars[]; -extern const u32 gBattleAnimSpritePalette_EclipsingOrb[]; -extern const u32 gBattleAnimSpritePalette_GrayOrb[]; -extern const u32 gBattleAnimSpritePalette_BlueOrb[]; -extern const u32 gBattleAnimSpritePalette_RedOrb2[]; -extern const u32 gBattleAnimSpritePalette_PinkPetal[]; -extern const u32 gBattleAnimSpritePalette_PainSplit[]; -extern const u32 gBattleAnimSpritePalette_Confetti[]; -extern const u32 gBattleAnimSpritePalette_GreenStar[]; -extern const u32 gBattleAnimSpritePalette_PinkCloud[]; -extern const u32 gBattleAnimSpritePalette_SweatDrop[]; -extern const u32 gBattleAnimSpritePalette_GuardRing[]; +extern const u32 gBattleAnimSpritePal_Angel[]; +extern const u32 gBattleAnimSpritePal_Devil[]; +extern const u32 gBattleAnimSpritePal_Swipe[]; +extern const u32 gBattleAnimSpritePal_Roots[]; +extern const u32 gBattleAnimSpritePal_ItemBag[]; +extern const u32 gBattleAnimSpritePal_JaggedMusicNote[]; +extern const u32 gBattleAnimSpritePal_Pokeball[]; +extern const u32 gBattleAnimSpritePal_LetterZ[]; +extern const u32 gBattleAnimSpritePal_RapidSpin[]; +extern const u32 gBattleAnimSpritePal_TriForceTriangle[]; +extern const u32 gBattleAnimSpritePal_WispOrb[]; +extern const u32 gBattleAnimSpritePal_GoldStars[]; +extern const u32 gBattleAnimSpritePal_EclipsingOrb[]; +extern const u32 gBattleAnimSpritePal_GrayOrb[]; +extern const u32 gBattleAnimSpritePal_BlueOrb[]; +extern const u32 gBattleAnimSpritePal_RedOrb2[]; +extern const u32 gBattleAnimSpritePal_PinkPetal[]; +extern const u32 gBattleAnimSpritePal_PainSplit[]; +extern const u32 gBattleAnimSpritePal_Confetti[]; +extern const u32 gBattleAnimSpritePal_GreenStar[]; +extern const u32 gBattleAnimSpritePal_PinkCloud[]; +extern const u32 gBattleAnimSpritePal_SweatDrop[]; +extern const u32 gBattleAnimSpritePal_GuardRing[]; extern const u32 gCureBubblesGfx[]; extern const u32 gCureBubblesPal[]; extern const u32 gCureBubblesTilemap[]; -extern const u32 gBattleAnimSpritePalette_PurpleScratch[]; -extern const u32 gBattleAnimSpritePalette_SmallRedEye[]; -extern const u32 gBattleAnimSpritePalette_HollowOrb[]; -extern const u32 gBattleAnimSpritePalette_BluegreenOrb[]; -extern const u32 gBattleAnimSpritePalette_PawPrint[]; -extern const u32 gBattleAnimSpritePalette_PurpleFlame[]; -extern const u32 gBattleAnimSpritePalette_RedBall[]; -extern const u32 gBattleAnimSpritePalette_SmellingsaltEffect[]; -extern const u32 gBattleAnimSpritePalette_Meteor[]; -extern const u32 gBattleAnimSpritePalette_FlatRock[]; -extern const u32 gBattleAnimSpritePalette_MagnifyingGlass[]; -extern const u32 gBattleAnimSpritePalette_BrownOrb[]; -extern const u32 gBattleAnimSpritePalette_MetalSoundWaves[]; -extern const u32 gBattleAnimSpritePalette_FlyingDirt[]; -extern const u32 gBattleAnimSpritePalette_IcicleSpear[]; -extern const u32 gBattleAnimSpritePalette_Hail[]; -extern const u32 gBattleAnimSpritePalette_GlowyRedOrb[]; -extern const u32 gBattleAnimSpritePalette_GlowyGreenOrb[]; -extern const u32 gBattleAnimSpritePalette_GreenSpike[]; -extern const u32 gBattleAnimSpritePalette_WhiteCircleOfLight[]; -extern const u32 gBattleAnimSpritePalette_GlowyBlueOrb[]; -extern const u32 gBattleAnimSpritePalette_RedBrick[]; -extern const u32 gBattleAnimSpritePalette_WhiteFeather[]; -extern const u32 gBattleAnimSpritePalette_Sparkle6[]; -extern const u32 gBattleAnimSpritePalette_Splash[]; -extern const u32 gBattleAnimSpritePalette_Gem1[]; -extern const u32 gBattleAnimSpritePalette_SlamHit2[]; -extern const u32 gBattleAnimSpritePalette_Recycle[]; -extern const u32 gBattleAnimSpritePalette_RedParticles[]; -extern const u32 gBattleAnimSpritePalette_Protect[]; -extern const u32 gBattleAnimSpritePalette_DirtMound[]; -extern const u32 gBattleAnimSpritePalette_Shock3[]; -extern const u32 gBattleAnimSpritePalette_WeatherBall[]; -extern const u32 gBattleAnimSpritePalette_Bird[]; -extern const u32 gBattleAnimSpritePalette_CrossImpact[]; -extern const u32 gBattleAnimSpritePalette_Slash2[]; -extern const u32 gBattleAnimSpritePalette_WhipHit[]; -extern const u32 gBattleAnimSpritePalette_BlueRing2[]; +extern const u32 gBattleAnimSpritePal_PurpleScratch[]; +extern const u32 gBattleAnimSpritePal_SmallRedEye[]; +extern const u32 gBattleAnimSpritePal_HollowOrb[]; +extern const u32 gBattleAnimSpritePal_BluegreenOrb[]; +extern const u32 gBattleAnimSpritePal_PawPrint[]; +extern const u32 gBattleAnimSpritePal_PurpleFlame[]; +extern const u32 gBattleAnimSpritePal_RedBall[]; +extern const u32 gBattleAnimSpritePal_SmellingsaltEffect[]; +extern const u32 gBattleAnimSpritePal_Meteor[]; +extern const u32 gBattleAnimSpritePal_FlatRock[]; +extern const u32 gBattleAnimSpritePal_MagnifyingGlass[]; +extern const u32 gBattleAnimSpritePal_BrownOrb[]; +extern const u32 gBattleAnimSpritePal_MetalSoundWaves[]; +extern const u32 gBattleAnimSpritePal_FlyingDirt[]; +extern const u32 gBattleAnimSpritePal_IcicleSpear[]; +extern const u32 gBattleAnimSpritePal_Hail[]; +extern const u32 gBattleAnimSpritePal_GlowyRedOrb[]; +extern const u32 gBattleAnimSpritePal_GlowyGreenOrb[]; +extern const u32 gBattleAnimSpritePal_GreenSpike[]; +extern const u32 gBattleAnimSpritePal_WhiteCircleOfLight[]; +extern const u32 gBattleAnimSpritePal_GlowyBlueOrb[]; +extern const u32 gBattleAnimSpritePal_RedBrick[]; +extern const u32 gBattleAnimSpritePal_WhiteFeather[]; +extern const u32 gBattleAnimSpritePal_Sparkle6[]; +extern const u32 gBattleAnimSpritePal_Splash[]; +extern const u32 gBattleAnimSpritePal_Gem1[]; +extern const u32 gBattleAnimSpritePal_SlamHit2[]; +extern const u32 gBattleAnimSpritePal_Recycle[]; +extern const u32 gBattleAnimSpritePal_RedParticles[]; +extern const u32 gBattleAnimSpritePal_Protect[]; +extern const u32 gBattleAnimSpritePal_DirtMound[]; +extern const u32 gBattleAnimSpritePal_Shock3[]; +extern const u32 gBattleAnimSpritePal_WeatherBall[]; +extern const u32 gBattleAnimSpritePal_Bird[]; +extern const u32 gBattleAnimSpritePal_CrossImpact[]; +extern const u32 gBattleAnimSpritePal_Slash2[]; +extern const u32 gBattleAnimSpritePal_WhipHit[]; +extern const u32 gBattleAnimSpritePal_BlueRing2[]; extern const u32 gBattleAnimBackgroundImage_00[]; extern const u32 gBattleAnimBackgroundImage_02[]; diff --git a/src/battle_anim.c b/src/battle_anim.c index fac07e02e4..33eb1dac48 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1126,588 +1126,588 @@ const struct OamData gUnknown_08524B3C = const struct CompressedSpriteSheet gBattleAnimPicTable[] = { - {gBattleAnimSpriteSheet_Bone, 0x0200, ANIM_TAG_BONE}, - {gBattleAnimSpriteSheet_Spark, 0x0300, ANIM_TAG_SPARK}, - {gBattleAnimSpriteSheet_Pencil, 0x0200, ANIM_TAG_PENCIL}, - {gBattleAnimSpriteSheet_AirWave, 0x0100, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpriteSheet_Orb, 0x0200, ANIM_TAG_ORB}, - {gBattleAnimSpriteSheet_Sword, 0x0400, ANIM_TAG_SWORD}, - {gBattleAnimSpriteSheet_Seed, 0x0180, ANIM_TAG_SEED}, - {gBattleAnimSpriteSheet_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6}, - {gBattleAnimSpriteSheet_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB}, - {gBattleAnimSpriteSheet_Gust, 0x0400, ANIM_TAG_GUST}, - {gBattleAnimSpriteSheet_IceCube, 0x1200, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpriteSheet_Spark2, 0x0180, ANIM_TAG_SPARK_2}, - {gBattleAnimSpriteSheet_Orange, 0x0080, ANIM_TAG_ORANGE}, - {gBattleAnimSpriteSheet_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpriteSheet_LockOn, 0x0280, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpriteSheet_TiedBag, 0x0080, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpriteSheet_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpriteSheet_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpriteSheet_Conversion, 0x0080, ANIM_TAG_CONVERSION}, - {gBattleAnimSpriteSheet_Glass, 0x0400, ANIM_TAG_GLASS}, - {gBattleAnimSpriteSheet_HornHit, 0x0200, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpriteSheet_Hit, 0x0A00, ANIM_TAG_HIT}, - {gBattleAnimSpriteSheet_Hit, 0x0A00, ANIM_TAG_HIT_2}, - {gBattleAnimSpriteSheet_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS}, - {gBattleAnimSpriteSheet_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE}, - {gBattleAnimSpriteSheet_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND}, - {gBattleAnimSpriteSheet_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, - {gBattleAnimSpriteSheet_Leer, 0x0A00, ANIM_TAG_LEER}, - {gBattleAnimSpriteSheet_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST}, - {gBattleAnimSpriteSheet_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER}, - {gBattleAnimSpriteSheet_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpriteSheet_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpriteSheet_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST}, - {gBattleAnimSpriteSheet_Fire, 0x1000, ANIM_TAG_FIRE}, - {gBattleAnimSpriteSheet_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE}, - {gBattleAnimSpriteSheet_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpriteSheet_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2}, - {gBattleAnimSpriteSheet_Lightning, 0x0A00, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpriteSheet_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, - {gBattleAnimSpriteSheet_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpriteSheet_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3}, - {gBattleAnimSpriteSheet_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2}, - {gBattleAnimSpriteSheet_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, - {gBattleAnimSpriteSheet_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpriteSheet_Glass2, 0x0A00, ANIM_TAG_GLASS_2}, - {gBattleAnimSpriteSheet_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2}, - {gBattleAnimSpriteSheet_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpriteSheet_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2}, - {gBattleAnimSpriteSheet_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpriteSheet_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpriteSheet_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpriteSheet_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT}, - {gBattleAnimSpriteSheet_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND}, - {gBattleAnimSpriteSheet_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpriteSheet_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK}, - {gBattleAnimSpriteSheet_RedFist, 0x0200, ANIM_TAG_RED_FIST}, - {gBattleAnimSpriteSheet_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpriteSheet_Ring, 0x0180, ANIM_TAG_RING}, - {gBattleAnimSpriteSheet_Rocks, 0x0C00, ANIM_TAG_ROCKS}, - {gBattleAnimSpriteSheet_Z, 0x0100, ANIM_TAG_Z}, - {gBattleAnimSpriteSheet_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2}, - {gBattleAnimSpriteSheet_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH}, - {gBattleAnimSpriteSheet_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, - {gBattleAnimSpriteSheet_Leaf, 0x0480, ANIM_TAG_LEAF}, - {gBattleAnimSpriteSheet_Finger, 0x0200, ANIM_TAG_FINGER}, - {gBattleAnimSpriteSheet_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpriteSheet_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, - {gBattleAnimSpriteSheet_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpriteSheet_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpriteSheet_PoisonPowder, 0x0200, ANIM_TAG_POWDER}, - {gBattleAnimSpriteSheet_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpriteSheet_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpriteSheet_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpriteSheet_Duck, 0x0180, ANIM_TAG_DUCK}, - {gBattleAnimSpriteSheet_MudSand, 0x00A0, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpriteSheet_Alert, 0x0700, ANIM_TAG_ALERT}, - {gBattleAnimSpriteSheet_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES}, - {gBattleAnimSpriteSheet_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, - {gBattleAnimSpriteSheet_Shock4, 0x0300, ANIM_TAG_SHOCK_4}, - {gBattleAnimSpriteSheet_Shock, 0x0C00, ANIM_TAG_SHOCK}, - {gBattleAnimSpriteSheet_Bell2, 0x0A00, ANIM_TAG_BELL_2}, - {gBattleAnimSpriteSheet_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE}, - {gBattleAnimSpriteSheet_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES}, - {gBattleAnimSpriteSheet_Impact3, 0x0E00, ANIM_TAG_IMPACT_3}, - {gBattleAnimSpriteSheet_Impact2, 0x0E00, ANIM_TAG_IMPACT_2}, - {gBattleAnimSpriteSheet_Reticle, 0x0280, ANIM_TAG_RETICLE}, - {gBattleAnimSpriteSheet_Breath, 0x0200, ANIM_TAG_BREATH}, - {gBattleAnimSpriteSheet_Anger, 0x0080, ANIM_TAG_ANGER}, - {gBattleAnimSpriteSheet_Snowball, 0x00C0, ANIM_TAG_SNOWBALL}, - {gBattleAnimSpriteSheet_Vine, 0x0A00, ANIM_TAG_VINE}, - {gBattleAnimSpriteSheet_Sword2, 0x0200, ANIM_TAG_SWORD_2}, - {gBattleAnimSpriteSheet_Clapping, 0x0180, ANIM_TAG_CLAPPING}, - {gBattleAnimSpriteSheet_RedTube, 0x0080, ANIM_TAG_RED_TUBE}, - {gBattleAnimSpriteSheet_Amnesia, 0x1000, ANIM_TAG_AMNESIA}, - {gBattleAnimSpriteSheet_String2, 0x0A00, ANIM_TAG_STRING_2}, - {gBattleAnimSpriteSheet_Pencil2, 0x0180, ANIM_TAG_PENCIL_2}, - {gBattleAnimSpriteSheet_Petal, 0x0380, ANIM_TAG_PETAL}, - {gBattleAnimSpriteSheet_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpriteSheet_Web, 0x0200, ANIM_TAG_WEB}, - {gBattleAnimSpriteSheet_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpriteSheet_Coin, 0x0200, ANIM_TAG_COIN}, - {gBattleAnimSpriteSheet_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG}, - {gBattleAnimSpriteSheet_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG}, - {gBattleAnimSpriteSheet_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG}, - {gBattleAnimSpriteSheet_Fangs, 0x0400, ANIM_TAG_FANGS}, - {gBattleAnimSpriteSheet_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2}, - {gBattleAnimSpriteSheet_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3}, - {gBattleAnimSpriteSheet_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET}, - {gBattleAnimSpriteSheet_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, - {gBattleAnimSpriteSheet_Seed2, 0x0020, ANIM_TAG_SEED_2}, - {gBattleAnimSpriteSheet_Sprout, 0x0e00, ANIM_TAG_SPROUT}, - {gBattleAnimSpriteSheet_RedWand, 0x0080, ANIM_TAG_RED_WAND}, - {gBattleAnimSpriteSheet_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, - {gBattleAnimSpriteSheet_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN}, - {gBattleAnimSpriteSheet_MudUnk, 0x0200, ANIM_TAG_MUD_UNK}, - {gBattleAnimSpriteSheet_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpriteSheet_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES}, - {gBattleAnimSpriteSheet_Vine2, 0x0a00, ANIM_TAG_VINE_2}, - {gBattleAnimSpriteSheet_Teeth, 0x0600, ANIM_TAG_TEETH}, - {gBattleAnimSpriteSheet_Bone2, 0x0800, ANIM_TAG_BONE_2}, - {gBattleAnimSpriteSheet_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG}, - {gBattleAnimSpriteSheet_Unknown, 0x0040, ANIM_TAG_UNKNOWN}, - {gBattleAnimSpriteSheet_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL}, - {gBattleAnimSpriteSheet_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET}, - {gBattleAnimSpriteSheet_Shock2, 0x0600, ANIM_TAG_SHOCK_2}, - {gBattleAnimSpriteSheet_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2}, - {gBattleAnimSpriteSheet_MetalBall, 0x0080, ANIM_TAG_METAL_BALL}, - {gBattleAnimSpriteSheet_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL}, - {gBattleAnimSpriteSheet_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND}, - {gBattleAnimSpriteSheet_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2}, - {gBattleAnimSpriteSheet_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4}, - {gBattleAnimSpriteSheet_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5}, - {gBattleAnimSpriteSheet_Tongue, 0x0280, ANIM_TAG_TONGUE}, - {gBattleAnimSpriteSheet_Smoke, 0x0100, ANIM_TAG_SMOKE}, - {gBattleAnimSpriteSheet_Smoke2, 0x0200, ANIM_TAG_SMOKE_2}, - {gBattleAnimSpriteSheet_Impact, 0x0200, ANIM_TAG_IMPACT}, - {gBattleAnimSpriteSheet_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpriteSheet_Scratch, 0x0a00, ANIM_TAG_SCRATCH}, - {gBattleAnimSpriteSheet_Cut, 0x0800, ANIM_TAG_CUT}, - {gBattleAnimSpriteSheet_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, - {gBattleAnimSpriteSheet_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpriteSheet_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpriteSheet_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES}, - {gBattleAnimSpriteSheet_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, - {gBattleAnimSpriteSheet_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpriteSheet_Clamp, 0x0800, ANIM_TAG_CLAMP}, - {gBattleAnimSpriteSheet_Bubble, 0x0180, ANIM_TAG_BUBBLE}, - {gBattleAnimSpriteSheet_Orbs, 0x0180, ANIM_TAG_ORBS}, - {gBattleAnimSpriteSheet_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpriteSheet_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpriteSheet_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpriteSheet_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, - {gBattleAnimSpriteSheet_Spikes, 0x0080, ANIM_TAG_SPIKES}, - {gBattleAnimSpriteSheet_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpriteSheet_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpriteSheet_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES}, - {gBattleAnimSpriteSheet_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW}, - {gBattleAnimSpriteSheet_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpriteSheet_Spore, 0x0100, ANIM_TAG_SPORE}, - {gBattleAnimSpriteSheet_Flower, 0x00a0, ANIM_TAG_FLOWER}, - {gBattleAnimSpriteSheet_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpriteSheet_Needle, 0x0080, ANIM_TAG_NEEDLE}, - {gBattleAnimSpriteSheet_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpriteSheet_GoldRing, 0x0100, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpriteSheet_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpriteSheet_GoldRing, 0x0100, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpriteSheet_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpriteSheet_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpriteSheet_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpriteSheet_SparkH, 0x0200, ANIM_TAG_SPARK_H}, - {gBattleAnimSpriteSheet_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpriteSheet_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpriteSheet_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpriteSheet_Lick, 0x0500, ANIM_TAG_LICK}, - {gBattleAnimSpriteSheet_VoidLines, 0x0800, ANIM_TAG_VOID_LINES}, - {gBattleAnimSpriteSheet_String, 0x0400, ANIM_TAG_STRING}, - {gBattleAnimSpriteSheet_WebThread, 0x0020, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpriteSheet_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpriteSheet_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB}, - {gBattleAnimSpriteSheet_Slash, 0x0800, ANIM_TAG_SLASH}, - {gBattleAnimSpriteSheet_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpriteSheet_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpriteSheet_Tendrils, 0x1000, ANIM_TAG_TENDRILS}, - {gBattleAnimSpriteSheet_Eye, 0x0800, ANIM_TAG_EYE}, - {gBattleAnimSpriteSheet_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpriteSheet_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpriteSheet_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpriteSheet_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpriteSheet_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpriteSheet_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpriteSheet_Moon, 0x0800, ANIM_TAG_MOON}, - {gBattleAnimSpriteSheet_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpriteSheet_Spiral, 0x0800, ANIM_TAG_SPIRAL}, - {gBattleAnimSpriteSheet_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpriteSheet_Explosion, 0x0800, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpriteSheet_Nail, 0x0400, ANIM_TAG_NAIL}, - {gBattleAnimSpriteSheet_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpriteSheet_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpriteSheet_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpriteSheet_ThinRing, 0x0800, ANIM_TAG_THIN_RING}, - {gBattleAnimSpriteSheet_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT}, - {gBattleAnimSpriteSheet_Bell, 0x0600, ANIM_TAG_BELL}, - {gBattleAnimSpriteSheet_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpriteSheet_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpriteSheet_TornMetal, 0x0800, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpriteSheet_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpriteSheet_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpriteSheet_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpriteSheet_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteSheet_Electricity, 0x0800, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpriteSheet_Finger2, 0x0600, ANIM_TAG_FINGER_2}, - {gBattleAnimSpriteSheet_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpriteSheet_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART}, - {gBattleAnimSpriteSheet_RedOrb, 0x0080, ANIM_TAG_RED_ORB}, - {gBattleAnimSpriteSheet_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpriteSheet_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpriteSheet_Angel, 0x0200, ANIM_TAG_ANGEL}, - {gBattleAnimSpriteSheet_Devil, 0x0400, ANIM_TAG_DEVIL}, - {gBattleAnimSpriteSheet_Swipe, 0x0a00, ANIM_TAG_SWIPE}, - {gBattleAnimSpriteSheet_Roots, 0x0800, ANIM_TAG_ROOTS}, - {gBattleAnimSpriteSheet_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpriteSheet_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, - {gBattleAnimSpriteSheet_Pokeball, 0x0080, ANIM_TAG_POKEBALL}, - {gBattleAnimSpriteSheet_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpriteSheet_LetterZ, 0x0200, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpriteSheet_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpriteSheet_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, - {gBattleAnimSpriteSheet_WispOrb, 0x0380, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpriteSheet_WispFire, 0x0800, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpriteSheet_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpriteSheet_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpriteSheet_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpriteSheet_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpriteSheet_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpriteSheet_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpriteSheet_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpriteSheet_Confetti, 0x0180, ANIM_TAG_CONFETTI}, - {gBattleAnimSpriteSheet_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, - {gBattleAnimSpriteSheet_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpriteSheet_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpriteSheet_GuardRing, 0x0400, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpriteSheet_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpriteSheet_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpriteSheet_TagHand, 0x0400, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpriteSheet_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpriteSheet_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpriteSheet_XSign, 0x0800, ANIM_TAG_X_SIGN}, - {gBattleAnimSpriteSheet_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpriteSheet_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpriteSheet_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpriteSheet_RedBall, 0x0200, ANIM_TAG_RED_BALL}, - {gBattleAnimSpriteSheet_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpriteSheet_Meteor, 0x0800, ANIM_TAG_METEOR}, - {gBattleAnimSpriteSheet_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpriteSheet_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpriteSheet_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpriteSheet_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpriteSheet_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpriteSheet_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpriteSheet_Hail, 0x0080, ANIM_TAG_HAIL}, - {gBattleAnimSpriteSheet_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpriteSheet_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpriteSheet_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpriteSheet_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteSheet_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpriteSheet_RedBrick, 0x0080, ANIM_TAG_RED_BRICK}, - {gBattleAnimSpriteSheet_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpriteSheet_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpriteSheet_Splash, 0x0800, ANIM_TAG_SPLASH}, - {gBattleAnimSpriteSheet_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpriteSheet_Gem1, 0x0800, ANIM_TAG_GEM_1}, - {gBattleAnimSpriteSheet_Gem2, 0x0800, ANIM_TAG_GEM_2}, - {gBattleAnimSpriteSheet_Gem3, 0x0800, ANIM_TAG_GEM_3}, - {gBattleAnimSpriteSheet_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpriteSheet_Recycle, 0x0800, ANIM_TAG_RECYCLE}, - {gBattleAnimSpriteSheet_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES}, - {gBattleAnimSpriteSheet_Protect, 0x0800, ANIM_TAG_PROTECT}, - {gBattleAnimSpriteSheet_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpriteSheet_Shock3, 0x0600, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpriteSheet_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpriteSheet_Bird, 0x0800, ANIM_TAG_BIRD}, - {gBattleAnimSpriteSheet_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpriteSheet_Slash, 0x0800, ANIM_TAG_SLASH_2}, - {gBattleAnimSpriteSheet_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpriteSheet_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE}, + {gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK}, + {gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL}, + {gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB}, + {gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD}, + {gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED}, + {gBattleAnimSpriteGfx_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpriteGfx_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpriteGfx_Gust, 0x0400, ANIM_TAG_GUST}, + {gBattleAnimSpriteGfx_IceCube, 0x1200, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpriteGfx_Spark2, 0x0180, ANIM_TAG_SPARK_2}, + {gBattleAnimSpriteGfx_Orange, 0x0080, ANIM_TAG_ORANGE}, + {gBattleAnimSpriteGfx_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpriteGfx_LockOn, 0x0280, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpriteGfx_TiedBag, 0x0080, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpriteGfx_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpriteGfx_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpriteGfx_Conversion, 0x0080, ANIM_TAG_CONVERSION}, + {gBattleAnimSpriteGfx_Glass, 0x0400, ANIM_TAG_GLASS}, + {gBattleAnimSpriteGfx_HornHit, 0x0200, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT}, + {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT_2}, + {gBattleAnimSpriteGfx_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpriteGfx_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpriteGfx_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER}, + {gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST}, + {gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER}, + {gBattleAnimSpriteGfx_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpriteGfx_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpriteGfx_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpriteGfx_Fire, 0x1000, ANIM_TAG_FIRE}, + {gBattleAnimSpriteGfx_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpriteGfx_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpriteGfx_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpriteGfx_Lightning, 0x0A00, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpriteGfx_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpriteGfx_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpriteGfx_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpriteGfx_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpriteGfx_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpriteGfx_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpriteGfx_Glass2, 0x0A00, ANIM_TAG_GLASS_2}, + {gBattleAnimSpriteGfx_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2}, + {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpriteGfx_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpriteGfx_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpriteGfx_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpriteGfx_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpriteGfx_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST}, + {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING}, + {gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS}, + {gBattleAnimSpriteGfx_Z, 0x0100, ANIM_TAG_Z}, + {gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, + {gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF}, + {gBattleAnimSpriteGfx_Finger, 0x0200, ANIM_TAG_FINGER}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpriteGfx_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POWDER}, + {gBattleAnimSpriteGfx_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpriteGfx_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpriteGfx_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpriteGfx_Duck, 0x0180, ANIM_TAG_DUCK}, + {gBattleAnimSpriteGfx_MudSand, 0x00A0, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpriteGfx_Alert, 0x0700, ANIM_TAG_ALERT}, + {gBattleAnimSpriteGfx_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpriteGfx_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpriteGfx_Shock4, 0x0300, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpriteGfx_Shock, 0x0C00, ANIM_TAG_SHOCK}, + {gBattleAnimSpriteGfx_Bell2, 0x0A00, ANIM_TAG_BELL_2}, + {gBattleAnimSpriteGfx_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpriteGfx_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpriteGfx_Impact3, 0x0E00, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpriteGfx_Impact2, 0x0E00, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpriteGfx_Reticle, 0x0280, ANIM_TAG_RETICLE}, + {gBattleAnimSpriteGfx_Breath, 0x0200, ANIM_TAG_BREATH}, + {gBattleAnimSpriteGfx_Anger, 0x0080, ANIM_TAG_ANGER}, + {gBattleAnimSpriteGfx_Snowball, 0x00C0, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpriteGfx_Vine, 0x0A00, ANIM_TAG_VINE}, + {gBattleAnimSpriteGfx_Sword2, 0x0200, ANIM_TAG_SWORD_2}, + {gBattleAnimSpriteGfx_Clapping, 0x0180, ANIM_TAG_CLAPPING}, + {gBattleAnimSpriteGfx_RedTube, 0x0080, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpriteGfx_Amnesia, 0x1000, ANIM_TAG_AMNESIA}, + {gBattleAnimSpriteGfx_String2, 0x0A00, ANIM_TAG_STRING_2}, + {gBattleAnimSpriteGfx_Pencil2, 0x0180, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpriteGfx_Petal, 0x0380, ANIM_TAG_PETAL}, + {gBattleAnimSpriteGfx_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpriteGfx_Web, 0x0200, ANIM_TAG_WEB}, + {gBattleAnimSpriteGfx_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpriteGfx_Coin, 0x0200, ANIM_TAG_COIN}, + {gBattleAnimSpriteGfx_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpriteGfx_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpriteGfx_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpriteGfx_Fangs, 0x0400, ANIM_TAG_FANGS}, + {gBattleAnimSpriteGfx_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpriteGfx_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpriteGfx_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpriteGfx_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpriteGfx_Seed2, 0x0020, ANIM_TAG_SEED_2}, + {gBattleAnimSpriteGfx_Sprout, 0x0e00, ANIM_TAG_SPROUT}, + {gBattleAnimSpriteGfx_RedWand, 0x0080, ANIM_TAG_RED_WAND}, + {gBattleAnimSpriteGfx_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpriteGfx_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpriteGfx_MudUnk, 0x0200, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpriteGfx_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpriteGfx_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpriteGfx_Vine2, 0x0a00, ANIM_TAG_VINE_2}, + {gBattleAnimSpriteGfx_Teeth, 0x0600, ANIM_TAG_TEETH}, + {gBattleAnimSpriteGfx_Bone2, 0x0800, ANIM_TAG_BONE_2}, + {gBattleAnimSpriteGfx_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpriteGfx_Unknown, 0x0040, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpriteGfx_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpriteGfx_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpriteGfx_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpriteGfx_Tongue, 0x0280, ANIM_TAG_TONGUE}, + {gBattleAnimSpriteGfx_Smoke, 0x0100, ANIM_TAG_SMOKE}, + {gBattleAnimSpriteGfx_Smoke2, 0x0200, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpriteGfx_Impact, 0x0200, ANIM_TAG_IMPACT}, + {gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH}, + {gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT}, + {gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, + {gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES}, + {gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, + {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpriteGfx_Clamp, 0x0800, ANIM_TAG_CLAMP}, + {gBattleAnimSpriteGfx_Bubble, 0x0180, ANIM_TAG_BUBBLE}, + {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_ORBS}, + {gBattleAnimSpriteGfx_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, + {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES}, + {gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES}, + {gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW}, + {gBattleAnimSpriteGfx_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpriteGfx_Spore, 0x0100, ANIM_TAG_SPORE}, + {gBattleAnimSpriteGfx_Flower, 0x00a0, ANIM_TAG_FLOWER}, + {gBattleAnimSpriteGfx_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpriteGfx_Needle, 0x0080, ANIM_TAG_NEEDLE}, + {gBattleAnimSpriteGfx_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpriteGfx_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpriteGfx_SparkH, 0x0200, ANIM_TAG_SPARK_H}, + {gBattleAnimSpriteGfx_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpriteGfx_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpriteGfx_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpriteGfx_Lick, 0x0500, ANIM_TAG_LICK}, + {gBattleAnimSpriteGfx_VoidLines, 0x0800, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpriteGfx_String, 0x0400, ANIM_TAG_STRING}, + {gBattleAnimSpriteGfx_WebThread, 0x0020, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpriteGfx_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpriteGfx_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH}, + {gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS}, + {gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE}, + {gBattleAnimSpriteGfx_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpriteGfx_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpriteGfx_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpriteGfx_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpriteGfx_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpriteGfx_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpriteGfx_Moon, 0x0800, ANIM_TAG_MOON}, + {gBattleAnimSpriteGfx_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL}, + {gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL}, + {gBattleAnimSpriteGfx_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpriteGfx_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpriteGfx_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpriteGfx_ThinRing, 0x0800, ANIM_TAG_THIN_RING}, + {gBattleAnimSpriteGfx_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpriteGfx_Bell, 0x0600, ANIM_TAG_BELL}, + {gBattleAnimSpriteGfx_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpriteGfx_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpriteGfx_TornMetal, 0x0800, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpriteGfx_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpriteGfx_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteGfx_Electricity, 0x0800, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpriteGfx_Finger2, 0x0600, ANIM_TAG_FINGER_2}, + {gBattleAnimSpriteGfx_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART}, + {gBattleAnimSpriteGfx_RedOrb, 0x0080, ANIM_TAG_RED_ORB}, + {gBattleAnimSpriteGfx_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpriteGfx_Angel, 0x0200, ANIM_TAG_ANGEL}, + {gBattleAnimSpriteGfx_Devil, 0x0400, ANIM_TAG_DEVIL}, + {gBattleAnimSpriteGfx_Swipe, 0x0a00, ANIM_TAG_SWIPE}, + {gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS}, + {gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, + {gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL}, + {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpriteGfx_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpriteGfx_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI}, + {gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, + {gBattleAnimSpriteGfx_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpriteGfx_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpriteGfx_GuardRing, 0x0400, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpriteGfx_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpriteGfx_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpriteGfx_TagHand, 0x0400, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpriteGfx_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpriteGfx_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpriteGfx_XSign, 0x0800, ANIM_TAG_X_SIGN}, + {gBattleAnimSpriteGfx_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpriteGfx_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpriteGfx_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpriteGfx_RedBall, 0x0200, ANIM_TAG_RED_BALL}, + {gBattleAnimSpriteGfx_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpriteGfx_Meteor, 0x0800, ANIM_TAG_METEOR}, + {gBattleAnimSpriteGfx_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpriteGfx_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpriteGfx_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpriteGfx_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpriteGfx_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpriteGfx_Hail, 0x0080, ANIM_TAG_HAIL}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpriteGfx_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpriteGfx_RedBrick, 0x0080, ANIM_TAG_RED_BRICK}, + {gBattleAnimSpriteGfx_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpriteGfx_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpriteGfx_Splash, 0x0800, ANIM_TAG_SPLASH}, + {gBattleAnimSpriteGfx_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpriteGfx_Gem1, 0x0800, ANIM_TAG_GEM_1}, + {gBattleAnimSpriteGfx_Gem2, 0x0800, ANIM_TAG_GEM_2}, + {gBattleAnimSpriteGfx_Gem3, 0x0800, ANIM_TAG_GEM_3}, + {gBattleAnimSpriteGfx_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpriteGfx_Recycle, 0x0800, ANIM_TAG_RECYCLE}, + {gBattleAnimSpriteGfx_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpriteGfx_Protect, 0x0800, ANIM_TAG_PROTECT}, + {gBattleAnimSpriteGfx_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpriteGfx_Shock3, 0x0600, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpriteGfx_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpriteGfx_Bird, 0x0800, ANIM_TAG_BIRD}, + {gBattleAnimSpriteGfx_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH_2}, + {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2}, }; const struct CompressedSpritePalette gBattleAnimPaletteTable[] = { - {gBattleAnimSpritePalette_Bone, ANIM_TAG_BONE}, - {gBattleAnimSpritePalette_Spark, ANIM_TAG_SPARK}, - {gBattleAnimSpritePalette_Pencil, ANIM_TAG_PENCIL}, - {gBattleAnimSpritePalette_AirWave, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpritePalette_Orb, ANIM_TAG_ORB}, - {gBattleAnimSpritePalette_Sword, ANIM_TAG_SWORD}, - {gBattleAnimSpritePalette_Seed, ANIM_TAG_SEED}, - {gBattleAnimSpritePalette_Explosion6, ANIM_TAG_EXPLOSION_6}, - {gBattleAnimSpritePalette_PinkOrb, ANIM_TAG_PINK_ORB}, - {gBattleAnimSpritePalette_Gust, ANIM_TAG_GUST}, - {gBattleAnimSpritePalette_IceCube, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpritePalette_Spark2, ANIM_TAG_SPARK_2}, - {gBattleAnimSpritePalette_Orange, ANIM_TAG_ORANGE}, - {gBattleAnimSpritePalette_YellowBall, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpritePalette_LockOn, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpritePalette_TiedBag, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpritePalette_BlackSmoke, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpritePalette_BlackSmoke, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpritePalette_Conversion, ANIM_TAG_CONVERSION}, - {gBattleAnimSpritePalette_Glass, ANIM_TAG_GLASS}, - {gBattleAnimSpritePalette_HornHit, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpritePalette_Hit, ANIM_TAG_HIT}, - {gBattleAnimSpritePalette_Hit2, ANIM_TAG_HIT_2}, - {gBattleAnimSpritePalette_BlueShards, ANIM_TAG_BLUE_SHARDS}, - {gBattleAnimSpritePalette_ClosingEye, ANIM_TAG_CLOSING_EYE}, - {gBattleAnimSpritePalette_WavingHand, ANIM_TAG_WAVING_HAND}, - {gBattleAnimSpritePalette_HitDuplicate, ANIM_TAG_HIT_DUPLICATE}, - {gBattleAnimSpritePalette_Leer, ANIM_TAG_LEER}, - {gBattleAnimSpritePalette_BlueBurst, ANIM_TAG_BLUE_BURST}, - {gBattleAnimSpritePalette_SmallEmber, ANIM_TAG_SMALL_EMBER}, - {gBattleAnimSpritePalette_GraySmoke, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpritePalette_BlueStar, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpritePalette_BubbleBurst, ANIM_TAG_BUBBLE_BURST}, - {gBattleAnimSpritePalette_Fire, ANIM_TAG_FIRE}, - {gBattleAnimSpritePalette_Fire, ANIM_TAG_SPINNING_FIRE}, - {gBattleAnimSpritePalette_Fire, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpritePalette_Lightning2, ANIM_TAG_LIGHTNING_2}, - {gBattleAnimSpritePalette_Lightning2, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpritePalette_ClawSlash2, ANIM_TAG_CLAW_SLASH_2}, - {gBattleAnimSpritePalette_ClawSlash, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpritePalette_ClawSlash2, ANIM_TAG_SCRATCH_3}, - {gBattleAnimSpritePalette_ClawSlash2, ANIM_TAG_SCRATCH_2}, - {gBattleAnimSpritePalette_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2}, - {gBattleAnimSpritePalette_IceChunk, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpritePalette_Glass2, ANIM_TAG_GLASS_2}, - {gBattleAnimSpritePalette_PinkHeart2, ANIM_TAG_PINK_HEART_2}, - {gBattleAnimSpritePalette_SapDrip, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpritePalette_SapDrip2, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpritePalette_Sparkle1, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpritePalette_Sparkle2, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpritePalette_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpritePalette_HumanoidFoot, ANIM_TAG_MONSTER_FOOT}, - {gBattleAnimSpritePalette_HumanoidFoot, ANIM_TAG_HUMANOID_HAND}, - {gBattleAnimSpritePalette_HitDuplicate, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpritePalette_YellowUnk, ANIM_TAG_YELLOW_UNK}, - {gBattleAnimSpritePalette_HumanoidFoot, ANIM_TAG_RED_FIST}, - {gBattleAnimSpritePalette_SlamHit, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpritePalette_Ring, ANIM_TAG_RING}, - {gBattleAnimSpritePalette_Rocks, ANIM_TAG_ROCKS}, - {gBattleAnimSpritePalette_Z, ANIM_TAG_Z}, - {gBattleAnimSpritePalette_YellowUnk2, ANIM_TAG_YELLOW_UNK_2}, - {gBattleAnimSpritePalette_AirSlash, ANIM_TAG_AIR_SLASH}, - {gBattleAnimSpritePalette_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS}, - {gBattleAnimSpritePalette_Leaf, ANIM_TAG_LEAF}, - {gBattleAnimSpritePalette_Finger, ANIM_TAG_FINGER}, - {gBattleAnimSpritePalette_PoisonPowder, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpritePalette_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE}, - {gBattleAnimSpritePalette_SleepPowder, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpritePalette_StunSpore, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpritePalette_PoisonPowder, ANIM_TAG_POWDER}, - {gBattleAnimSpritePalette_Sparkle3, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpritePalette_Sparkle3, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpritePalette_MusicNotes, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpritePalette_Duck, ANIM_TAG_DUCK}, - {gBattleAnimSpritePalette_MudSand, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpritePalette_Alert, ANIM_TAG_ALERT}, - {gBattleAnimSpritePalette_BlueFlames, ANIM_TAG_BLUE_FLAMES}, - {gBattleAnimSpritePalette_BlueFlames, ANIM_TAG_BLUE_FLAMES_2}, - {gBattleAnimSpritePalette_Shock4, ANIM_TAG_SHOCK_4}, - {gBattleAnimSpritePalette_Shock4, ANIM_TAG_SHOCK}, - {gBattleAnimSpritePalette_Bell2, ANIM_TAG_BELL_2}, - {gBattleAnimSpritePalette_PinkGlove, ANIM_TAG_PINK_GLOVE}, - {gBattleAnimSpritePalette_BlueLines, ANIM_TAG_BLUE_LINES}, - {gBattleAnimSpritePalette_Impact3, ANIM_TAG_IMPACT_3}, - {gBattleAnimSpritePalette_Impact2, ANIM_TAG_IMPACT_2}, - {gBattleAnimSpritePalette_Reticle, ANIM_TAG_RETICLE}, - {gBattleAnimSpritePalette_Breath, ANIM_TAG_BREATH}, - {gBattleAnimSpritePalette_Anger, ANIM_TAG_ANGER}, - {gBattleAnimSpritePalette_Snowball, ANIM_TAG_SNOWBALL}, - {gBattleAnimSpritePalette_Vine, ANIM_TAG_VINE}, - {gBattleAnimSpritePalette_Sword2, ANIM_TAG_SWORD_2}, - {gBattleAnimSpritePalette_Clapping, ANIM_TAG_CLAPPING}, - {gBattleAnimSpritePalette_RedTube, ANIM_TAG_RED_TUBE}, - {gBattleAnimSpritePalette_Amnesia, ANIM_TAG_AMNESIA}, - {gBattleAnimSpritePalette_String2, ANIM_TAG_STRING_2}, - {gBattleAnimSpritePalette_Pencil2, ANIM_TAG_PENCIL_2}, - {gBattleAnimSpritePalette_Petal, ANIM_TAG_PETAL}, - {gBattleAnimSpritePalette_BentSpoon, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpritePalette_String2, ANIM_TAG_WEB}, - {gBattleAnimSpritePalette_MilkBottle, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpritePalette_Coin, ANIM_TAG_COIN}, - {gBattleAnimSpritePalette_CrackedEgg, ANIM_TAG_CRACKED_EGG}, - {gBattleAnimSpritePalette_CrackedEgg, ANIM_TAG_HATCHED_EGG}, - {gBattleAnimSpritePalette_FreshEgg, ANIM_TAG_FRESH_EGG}, - {gBattleAnimSpritePalette_Fangs, ANIM_TAG_FANGS}, - {gBattleAnimSpritePalette_Explosion2, ANIM_TAG_EXPLOSION_2}, - {gBattleAnimSpritePalette_Explosion2, ANIM_TAG_EXPLOSION_3}, - {gBattleAnimSpritePalette_WaterDroplet, ANIM_TAG_WATER_DROPLET}, - {gBattleAnimSpritePalette_WaterDroplet, ANIM_TAG_WATER_DROPLET_2}, - {gBattleAnimSpritePalette_Seed2, ANIM_TAG_SEED_2}, - {gBattleAnimSpritePalette_Seed2, ANIM_TAG_SPROUT}, - {gBattleAnimSpritePalette_RedWand, ANIM_TAG_RED_WAND}, - {gBattleAnimSpritePalette_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK}, - {gBattleAnimSpritePalette_WaterColumn, ANIM_TAG_WATER_COLUMN}, - {gBattleAnimSpritePalette_MudUnk, ANIM_TAG_MUD_UNK}, - {gBattleAnimSpritePalette_RainDrops, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpritePalette_FurySwipes, ANIM_TAG_FURY_SWIPES}, - {gBattleAnimSpritePalette_Vine2, ANIM_TAG_VINE_2}, - {gBattleAnimSpritePalette_Teeth, ANIM_TAG_TEETH}, - {gBattleAnimSpritePalette_Bone2, ANIM_TAG_BONE_2}, - {gBattleAnimSpritePalette_WhiteBag, ANIM_TAG_WHITE_BAG}, - {gBattleAnimSpritePalette_Unknown, ANIM_TAG_UNKNOWN}, - {gBattleAnimSpritePalette_PurpleCoral, ANIM_TAG_PURPLE_CORAL}, - {gBattleAnimSpritePalette_PurpleCoral, ANIM_TAG_PURPLE_DROPLET}, - {gBattleAnimSpritePalette_Shock2, ANIM_TAG_SHOCK_2}, - {gBattleAnimSpritePalette_ClosingEye2, ANIM_TAG_CLOSING_EYE_2}, - {gBattleAnimSpritePalette_MetalBall, ANIM_TAG_METAL_BALL}, - {gBattleAnimSpritePalette_MonsterDoll, ANIM_TAG_MONSTER_DOLL}, - {gBattleAnimSpritePalette_Whirlwind, ANIM_TAG_WHIRLWIND}, - {gBattleAnimSpritePalette_Whirlwind, ANIM_TAG_WHIRLWIND_2}, - {gBattleAnimSpritePalette_Explosion4, ANIM_TAG_EXPLOSION_4}, - {gBattleAnimSpritePalette_Explosion4, ANIM_TAG_EXPLOSION_5}, - {gBattleAnimSpritePalette_Tongue, ANIM_TAG_TONGUE}, - {gBattleAnimSpritePalette_Smoke, ANIM_TAG_SMOKE}, - {gBattleAnimSpritePalette_Smoke, ANIM_TAG_SMOKE_2}, - {gBattleAnimSpritePalette_Impact, ANIM_TAG_IMPACT}, - {gBattleAnimSpritePalette_CircleImpact, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpritePalette_Impact, ANIM_TAG_SCRATCH}, - {gBattleAnimSpritePalette_Impact, ANIM_TAG_CUT}, - {gBattleAnimSpritePalette_SharpTeeth, ANIM_TAG_SHARP_TEETH}, - {gBattleAnimSpritePalette_RainbowRings, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpritePalette_IceCrystals, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpritePalette_IceCrystals, ANIM_TAG_ICE_SPIKES}, - {gBattleAnimSpritePalette_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, - {gBattleAnimSpritePalette_MistCloud, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpritePalette_SharpTeeth, ANIM_TAG_CLAMP}, - {gBattleAnimSpritePalette_RainDrops, ANIM_TAG_BUBBLE}, - {gBattleAnimSpritePalette_Orbs, ANIM_TAG_ORBS}, - {gBattleAnimSpritePalette_WaterImpact, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpritePalette_WaterImpact, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpritePalette_PoisonBubble, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpritePalette_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE}, - {gBattleAnimSpritePalette_Spikes, ANIM_TAG_SPIKES}, - {gBattleAnimSpritePalette_HornHit2, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpritePalette_AirWave2, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpritePalette_SmallBubbles, ANIM_TAG_SMALL_BUBBLES}, - {gBattleAnimSpritePalette_RoundShadow, ANIM_TAG_ROUND_SHADOW}, - {gBattleAnimSpritePalette_Sunlight, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpritePalette_Spore, ANIM_TAG_SPORE}, - {gBattleAnimSpritePalette_Flower, ANIM_TAG_FLOWER}, - {gBattleAnimSpritePalette_RazorLeaf, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpritePalette_Needle, ANIM_TAG_NEEDLE}, - {gBattleAnimSpritePalette_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpritePalette_GoldRing, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpritePalette_PurpleRing, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpritePalette_BlueRing, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpritePalette_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpritePalette_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpritePalette_RedLightWall, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpritePalette_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpritePalette_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpritePalette_BlackBall2, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpritePalette_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpritePalette_Spark, ANIM_TAG_SPARK_H}, - {gBattleAnimSpritePalette_YellowStar, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpritePalette_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpritePalette_ShadowBall, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpritePalette_Lick, ANIM_TAG_LICK}, - {gBattleAnimSpritePalette_VoidLines, ANIM_TAG_VOID_LINES}, - {gBattleAnimSpritePalette_String, ANIM_TAG_STRING}, - {gBattleAnimSpritePalette_String, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpritePalette_String, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpritePalette_Lightbulb, ANIM_TAG_LIGHTBULB}, - {gBattleAnimSpritePalette_Slash, ANIM_TAG_SLASH}, - {gBattleAnimSpritePalette_FocusEnergy, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpritePalette_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpritePalette_Tendrils, ANIM_TAG_TENDRILS}, - {gBattleAnimSpritePalette_Eye, ANIM_TAG_EYE}, - {gBattleAnimSpritePalette_WhiteShadow, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpritePalette_TealAlert, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpritePalette_OpeningEye, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpritePalette_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpritePalette_FangAttack, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpritePalette_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpritePalette_Moon, ANIM_TAG_MOON}, - {gBattleAnimSpritePalette_GreenSparkle, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpritePalette_Spiral, ANIM_TAG_SPIRAL}, - {gBattleAnimSpritePalette_SnoreZ, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpritePalette_Explosion, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpritePalette_Nail, ANIM_TAG_NAIL}, - {gBattleAnimSpritePalette_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpritePalette_WarmRock, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpritePalette_BreakingEgg, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpritePalette_ThinRing, ANIM_TAG_THIN_RING}, - {gBattleAnimSpritePalette_PunchImpact, ANIM_TAG_PUNCH_IMPACT}, - {gBattleAnimSpritePalette_Bell, ANIM_TAG_BELL}, - {gBattleAnimSpritePalette_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpritePalette_SpeedDust, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpritePalette_BlueLightWall, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpritePalette_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpritePalette_MagentaHeart, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpritePalette_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpritePalette_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePalette_ElectricOrbs, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpritePalette_Finger, ANIM_TAG_FINGER_2}, - {gBattleAnimSpritePalette_MovementWaves, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpritePalette_RedHeart, ANIM_TAG_RED_HEART}, - {gBattleAnimSpritePalette_RedOrb, ANIM_TAG_RED_ORB}, - {gBattleAnimSpritePalette_EyeSparkle, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpritePalette_PinkHeart, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpritePalette_Angel, ANIM_TAG_ANGEL}, - {gBattleAnimSpritePalette_Devil, ANIM_TAG_DEVIL}, - {gBattleAnimSpritePalette_Swipe, ANIM_TAG_SWIPE}, - {gBattleAnimSpritePalette_Roots, ANIM_TAG_ROOTS}, - {gBattleAnimSpritePalette_ItemBag, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpritePalette_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE}, - {gBattleAnimSpritePalette_Pokeball, ANIM_TAG_POKEBALL}, - {gBattleAnimSpritePalette_Pokeball, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpritePalette_LetterZ, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpritePalette_RapidSpin, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpritePalette_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE}, - {gBattleAnimSpritePalette_WispOrb, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpritePalette_WispOrb, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpritePalette_GoldStars, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpritePalette_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpritePalette_GrayOrb, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpritePalette_BlueOrb, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpritePalette_RedOrb2, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpritePalette_PinkPetal, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpritePalette_PainSplit, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpritePalette_Confetti, ANIM_TAG_CONFETTI}, - {gBattleAnimSpritePalette_GreenStar, ANIM_TAG_GREEN_STAR}, - {gBattleAnimSpritePalette_PinkCloud, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpritePalette_SweatDrop, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpritePalette_GuardRing, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpritePalette_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpritePalette_PurpleScratch, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpritePalette_Finger, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpritePalette_SmallRedEye, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpritePalette_HollowOrb, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpritePalette_HollowOrb, ANIM_TAG_X_SIGN}, - {gBattleAnimSpritePalette_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpritePalette_PawPrint, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpritePalette_PurpleFlame, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpritePalette_RedBall, ANIM_TAG_RED_BALL}, - {gBattleAnimSpritePalette_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpritePalette_Meteor, ANIM_TAG_METEOR}, - {gBattleAnimSpritePalette_FlatRock, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpritePalette_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpritePalette_BrownOrb, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpritePalette_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpritePalette_FlyingDirt, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpritePalette_IcicleSpear, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpritePalette_Hail, ANIM_TAG_HAIL}, - {gBattleAnimSpritePalette_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpritePalette_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpritePalette_GreenSpike, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpritePalette_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePalette_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpritePalette_RedBrick, ANIM_TAG_RED_BRICK}, - {gBattleAnimSpritePalette_WhiteFeather, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpritePalette_Sparkle6, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpritePalette_Splash, ANIM_TAG_SPLASH}, - {gBattleAnimSpritePalette_Splash, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpritePalette_Gem1, ANIM_TAG_GEM_1}, - {gBattleAnimSpritePalette_Gem1, ANIM_TAG_GEM_2}, - {gBattleAnimSpritePalette_Gem1, ANIM_TAG_GEM_3}, - {gBattleAnimSpritePalette_SlamHit2, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpritePalette_Recycle, ANIM_TAG_RECYCLE}, - {gBattleAnimSpritePalette_RedParticles, ANIM_TAG_RED_PARTICLES}, - {gBattleAnimSpritePalette_Protect, ANIM_TAG_PROTECT}, - {gBattleAnimSpritePalette_DirtMound, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpritePalette_Shock3, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpritePalette_WeatherBall, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpritePalette_Bird, ANIM_TAG_BIRD}, - {gBattleAnimSpritePalette_CrossImpact, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpritePalette_Slash2, ANIM_TAG_SLASH_2}, - {gBattleAnimSpritePalette_WhipHit, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpritePalette_BlueRing2, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpritePal_Bone, ANIM_TAG_BONE}, + {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK}, + {gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL}, + {gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpritePal_Orb, ANIM_TAG_ORB}, + {gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD}, + {gBattleAnimSpritePal_Seed, ANIM_TAG_SEED}, + {gBattleAnimSpritePal_Explosion6, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpritePal_PinkOrb, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpritePal_Gust, ANIM_TAG_GUST}, + {gBattleAnimSpritePal_IceCube, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpritePal_Spark2, ANIM_TAG_SPARK_2}, + {gBattleAnimSpritePal_Orange, ANIM_TAG_ORANGE}, + {gBattleAnimSpritePal_YellowBall, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpritePal_LockOn, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpritePal_TiedBag, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION}, + {gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS}, + {gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpritePal_Hit, ANIM_TAG_HIT}, + {gBattleAnimSpritePal_Hit2, ANIM_TAG_HIT_2}, + {gBattleAnimSpritePal_BlueShards, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpritePal_ClosingEye, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpritePal_WavingHand, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpritePal_Leer, ANIM_TAG_LEER}, + {gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST}, + {gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER}, + {gBattleAnimSpritePal_GraySmoke, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpritePal_BlueStar, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpritePal_BubbleBurst, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpritePal_ClawSlash, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpritePal_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpritePal_IceChunk, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpritePal_Glass2, ANIM_TAG_GLASS_2}, + {gBattleAnimSpritePal_PinkHeart2, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpritePal_SapDrip, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePal_SapDrip2, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePal_Sparkle1, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpritePal_Sparkle2, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpritePal_YellowUnk, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST}, + {gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpritePal_Ring, ANIM_TAG_RING}, + {gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS}, + {gBattleAnimSpritePal_Z, ANIM_TAG_Z}, + {gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS}, + {gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER}, + {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpritePal_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpritePal_SleepPowder, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpritePal_StunSpore, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POWDER}, + {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpritePal_MusicNotes, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpritePal_Duck, ANIM_TAG_DUCK}, + {gBattleAnimSpritePal_MudSand, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpritePal_Alert, ANIM_TAG_ALERT}, + {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK}, + {gBattleAnimSpritePal_Bell2, ANIM_TAG_BELL_2}, + {gBattleAnimSpritePal_PinkGlove, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpritePal_BlueLines, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpritePal_Impact3, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpritePal_Impact2, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpritePal_Reticle, ANIM_TAG_RETICLE}, + {gBattleAnimSpritePal_Breath, ANIM_TAG_BREATH}, + {gBattleAnimSpritePal_Anger, ANIM_TAG_ANGER}, + {gBattleAnimSpritePal_Snowball, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpritePal_Vine, ANIM_TAG_VINE}, + {gBattleAnimSpritePal_Sword2, ANIM_TAG_SWORD_2}, + {gBattleAnimSpritePal_Clapping, ANIM_TAG_CLAPPING}, + {gBattleAnimSpritePal_RedTube, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpritePal_Amnesia, ANIM_TAG_AMNESIA}, + {gBattleAnimSpritePal_String2, ANIM_TAG_STRING_2}, + {gBattleAnimSpritePal_Pencil2, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpritePal_Petal, ANIM_TAG_PETAL}, + {gBattleAnimSpritePal_BentSpoon, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpritePal_String2, ANIM_TAG_WEB}, + {gBattleAnimSpritePal_MilkBottle, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpritePal_Coin, ANIM_TAG_COIN}, + {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpritePal_FreshEgg, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpritePal_Fangs, ANIM_TAG_FANGS}, + {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpritePal_Seed2, ANIM_TAG_SEED_2}, + {gBattleAnimSpritePal_Seed2, ANIM_TAG_SPROUT}, + {gBattleAnimSpritePal_RedWand, ANIM_TAG_RED_WAND}, + {gBattleAnimSpritePal_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpritePal_WaterColumn, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpritePal_MudUnk, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpritePal_RainDrops, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpritePal_FurySwipes, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpritePal_Vine2, ANIM_TAG_VINE_2}, + {gBattleAnimSpritePal_Teeth, ANIM_TAG_TEETH}, + {gBattleAnimSpritePal_Bone2, ANIM_TAG_BONE_2}, + {gBattleAnimSpritePal_WhiteBag, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpritePal_Unknown, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE}, + {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE}, + {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT}, + {gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_CUT}, + {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH}, + {gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES}, + {gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, + {gBattleAnimSpritePal_MistCloud, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_CLAMP}, + {gBattleAnimSpritePal_RainDrops, ANIM_TAG_BUBBLE}, + {gBattleAnimSpritePal_Orbs, ANIM_TAG_ORBS}, + {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE}, + {gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES}, + {gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES}, + {gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW}, + {gBattleAnimSpritePal_Sunlight, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpritePal_Spore, ANIM_TAG_SPORE}, + {gBattleAnimSpritePal_Flower, ANIM_TAG_FLOWER}, + {gBattleAnimSpritePal_RazorLeaf, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpritePal_Needle, ANIM_TAG_NEEDLE}, + {gBattleAnimSpritePal_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpritePal_GoldRing, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpritePal_PurpleRing, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpritePal_BlueRing, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpritePal_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpritePal_RedLightWall, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpritePal_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpritePal_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpritePal_BlackBall2, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpritePal_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK_H}, + {gBattleAnimSpritePal_YellowStar, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpritePal_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpritePal_ShadowBall, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpritePal_Lick, ANIM_TAG_LICK}, + {gBattleAnimSpritePal_VoidLines, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpritePal_String, ANIM_TAG_STRING}, + {gBattleAnimSpritePal_String, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpritePal_String, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpritePal_Lightbulb, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpritePal_Slash, ANIM_TAG_SLASH}, + {gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS}, + {gBattleAnimSpritePal_Eye, ANIM_TAG_EYE}, + {gBattleAnimSpritePal_WhiteShadow, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpritePal_TealAlert, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpritePal_OpeningEye, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpritePal_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpritePal_FangAttack, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpritePal_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpritePal_Moon, ANIM_TAG_MOON}, + {gBattleAnimSpritePal_GreenSparkle, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpritePal_Spiral, ANIM_TAG_SPIRAL}, + {gBattleAnimSpritePal_SnoreZ, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpritePal_Explosion, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpritePal_Nail, ANIM_TAG_NAIL}, + {gBattleAnimSpritePal_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpritePal_WarmRock, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpritePal_BreakingEgg, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpritePal_ThinRing, ANIM_TAG_THIN_RING}, + {gBattleAnimSpritePal_PunchImpact, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpritePal_Bell, ANIM_TAG_BELL}, + {gBattleAnimSpritePal_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpritePal_SpeedDust, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpritePal_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpritePal_MagentaHeart, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER_2}, + {gBattleAnimSpritePal_MovementWaves, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpritePal_RedHeart, ANIM_TAG_RED_HEART}, + {gBattleAnimSpritePal_RedOrb, ANIM_TAG_RED_ORB}, + {gBattleAnimSpritePal_EyeSparkle, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpritePal_PinkHeart, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpritePal_Angel, ANIM_TAG_ANGEL}, + {gBattleAnimSpritePal_Devil, ANIM_TAG_DEVIL}, + {gBattleAnimSpritePal_Swipe, ANIM_TAG_SWIPE}, + {gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS}, + {gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE}, + {gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL}, + {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpritePal_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpritePal_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpritePal_GrayOrb, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpritePal_BlueOrb, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpritePal_RedOrb2, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI}, + {gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR}, + {gBattleAnimSpritePal_PinkCloud, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpritePal_SweatDrop, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpritePal_GuardRing, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpritePal_SmallRedEye, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_X_SIGN}, + {gBattleAnimSpritePal_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpritePal_PawPrint, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpritePal_PurpleFlame, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpritePal_RedBall, ANIM_TAG_RED_BALL}, + {gBattleAnimSpritePal_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpritePal_Meteor, ANIM_TAG_METEOR}, + {gBattleAnimSpritePal_FlatRock, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpritePal_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpritePal_BrownOrb, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpritePal_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpritePal_FlyingDirt, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpritePal_IcicleSpear, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpritePal_Hail, ANIM_TAG_HAIL}, + {gBattleAnimSpritePal_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpritePal_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpritePal_GreenSpike, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpritePal_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePal_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpritePal_RedBrick, ANIM_TAG_RED_BRICK}, + {gBattleAnimSpritePal_WhiteFeather, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpritePal_Sparkle6, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpritePal_Splash, ANIM_TAG_SPLASH}, + {gBattleAnimSpritePal_Splash, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_1}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_2}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_3}, + {gBattleAnimSpritePal_SlamHit2, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpritePal_Recycle, ANIM_TAG_RECYCLE}, + {gBattleAnimSpritePal_RedParticles, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpritePal_Protect, ANIM_TAG_PROTECT}, + {gBattleAnimSpritePal_DirtMound, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpritePal_Shock3, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpritePal_WeatherBall, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpritePal_Bird, ANIM_TAG_BIRD}, + {gBattleAnimSpritePal_CrossImpact, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpritePal_Slash2, ANIM_TAG_SLASH_2}, + {gBattleAnimSpritePal_WhipHit, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 09a4422219..88319a2e31 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -3067,7 +3067,7 @@ void sub_8105CB4(u8 taskId) paletteNums[i] = AllocSpritePalette(ANIM_SPRITES_START - i); gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); - LZDecompressWram(gBattleAnimSpritePalette_MusicNotes2, gMonSpritesGfxPtr->field_17C); + LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->field_17C); for (i = 0; i < 3; i++) LoadPalette(&gMonSpritesGfxPtr->field_17C[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 8583276ee4..ee37d199ff 100755 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -105,34 +105,34 @@ static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] = const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] = { - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EC}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6ED}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EE}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EF}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F0}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F1}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F2}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F3}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F4}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F5}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F6}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F7}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EC}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6ED}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EE}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EF}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F0}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F1}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F2}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F3}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F4}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F5}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F6}, + {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F7}, }; const struct CompressedSpritePalette gBallOpenParticlePalettes[] = { - {gBattleAnimSpritePalette_CircleImpact, 0xD6EC}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6ED}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6EE}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6EF}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6F0}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6F1}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6F2}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6F3}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6F4}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6F5}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6F6}, - {gBattleAnimSpritePalette_CircleImpact, 0xD6F7}, + {gBattleAnimSpritePal_CircleImpact, 0xD6EC}, + {gBattleAnimSpritePal_CircleImpact, 0xD6ED}, + {gBattleAnimSpritePal_CircleImpact, 0xD6EE}, + {gBattleAnimSpritePal_CircleImpact, 0xD6EF}, + {gBattleAnimSpritePal_CircleImpact, 0xD6F0}, + {gBattleAnimSpritePal_CircleImpact, 0xD6F1}, + {gBattleAnimSpritePal_CircleImpact, 0xD6F2}, + {gBattleAnimSpritePal_CircleImpact, 0xD6F3}, + {gBattleAnimSpritePal_CircleImpact, 0xD6F4}, + {gBattleAnimSpritePal_CircleImpact, 0xD6F5}, + {gBattleAnimSpritePal_CircleImpact, 0xD6F6}, + {gBattleAnimSpritePal_CircleImpact, 0xD6F7}, }; const union AnimCmd gUnknown_085E5154[] = diff --git a/src/graphics.c b/src/graphics.c index f585a3feb0..509f5bea99 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -21,112 +21,112 @@ const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprite const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz"); // Battle anims -const u32 gBattleAnimSpriteSheet_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.gbapal.lz"); -const u32 gBattleAnimSpritePalette_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.gbapal.lz"); +const u32 gBattleAnimSpritePal_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.gbapal.lz"); +const u32 gBattleAnimSpritePal_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.gbapal.lz"); +const u32 gBattleAnimSpritePal_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.gbapal.lz"); +const u32 gBattleAnimSpritePal_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.gbapal.lz"); +const u32 gBattleAnimSpritePal_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.4bpp.lz"); +const u32 gBattleAnimSpritePal_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.4bpp.lz"); -const u32 gBattleAnimSpritePalette_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.4bpp.lz"); -const u32 gBattleAnimSpritePalette_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BlackBall[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BlackBall[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball.4bpp.lz"); const u32 gUnknownGfx_C035B8[] = INCBIN_U32("graphics/unknown/unknown_C035B8.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.4bpp.lz"); +const u32 gBattleAnimSpritePal_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.4bpp.lz"); -const u32 gBattleAnimSpritePalette_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.gbapal.lz"); -const u32 gBattleAnimSpritePalette_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.4bpp.lz"); const u32 gUnused_BattleSpritePalette_023[] = INCBIN_U32("graphics/unused/battle_anim_023.gbapal.lz"); const u32 gUnusedGfx_MusicNotes[] = INCBIN_U32("graphics/unused/music_notes.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Hit2[] = INCBIN_U32("graphics/battle_anims/sprites/hit_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Hit2[] = INCBIN_U32("graphics/battle_anims/sprites/hit_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.4bpp.lz"); +const u32 gBattleAnimSpritePal_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.4bpp.lz"); -const u32 gBattleAnimSpritePalette_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.gbapal.lz"); -const u32 gBattleAnimSpritePalette_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.4bpp.lz"); +const u32 gBattleAnimSpritePal_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.4bpp.lz"); -const u32 gBattleAnimSpritePalette_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.4bpp.lz"); +const u32 gBattleAnimSpritePal_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.4bpp.lz"); +const u32 gBattleAnimSpritePal_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.4bpp.lz"); +const u32 gBattleAnimSpritePal_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_SpinningFire[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_fire.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_FirePlume[] = INCBIN_U32("graphics/battle_anims/sprites/fire_plume.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SpinningFire[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_fire.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FirePlume[] = INCBIN_U32("graphics/battle_anims/sprites/fire_plume.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Lightning[] = INCBIN_U32("graphics/battle_anims/sprites/lightning.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Lightning[] = INCBIN_U32("graphics/battle_anims/sprites/lightning.4bpp.lz"); const u32 gUnknownGfx_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.4bpp.lz"); const u32 gUnknownPal_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.gbapal.lz"); @@ -141,118 +141,118 @@ const u32 gOldBattleInterfacePal_5_6_7[] = INCBIN_U32("graphics/unused/obi_palpa const u32 gOldBattleInterfaceGfx2[] = INCBIN_U32("graphics/unused/obi2.4bpp.lz"); const u32 gOldBattleInterfaceTilemap[] = INCBIN_U32("graphics/unused/old_battle_interface_tilemap.bin.lz"); -const u32 gBattleAnimSpritePalette_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.gbapal.lz"); +const u32 gBattleAnimSpritePal_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz"); const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.4bpp.lz"); -const u32 gBattleAnimSpritePalette_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.4bpp.lz"); const u32 gUnknown_08C08F0C[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz"); const u32 gUnknown_08C093C8[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz"); const u32 gUnknown_08C093F0[] = INCBIN_U32("graphics/interface/hp_numbers.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz"); +const u32 gBattleAnimSpritePal_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz"); -const u32 gBattleAnimSpritePalette_SapDrip2[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_SapDrip2[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip_2.gbapal.lz"); const u32 gUnusedGfx_Window2[] = INCBIN_U32("graphics/battle_interface/unused_window2.4bpp.lz"); const u32 gUnusedGfx_Window2Bar[] = INCBIN_U32("graphics/battle_interface/unused_window2bar.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Sparkle2[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sparkle2[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_MonsterFoot[] = INCBIN_U32("graphics/battle_anims/sprites/monster_foot.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_HumanoidHand[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_hand.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_MonsterFoot[] = INCBIN_U32("graphics/battle_anims/sprites/monster_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HumanoidHand[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_hand.4bpp.lz"); const u32 gUnusedGfx_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.4bpp.lz"); const u32 gUnusedPal_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.4bpp.lz"); -const u32 gBattleAnimSpritePalette_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_RedFist[] = INCBIN_U32("graphics/battle_anims/sprites/red_fist.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RedFist[] = INCBIN_U32("graphics/battle_anims/sprites/red_fist.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.4bpp.lz"); +const u32 gBattleAnimSpritePal_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.4bpp.lz"); +const u32 gBattleAnimSpritePal_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.4bpp.lz"); -const u32 gBattleAnimSpritePalette_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.gbapal.lz"); const u32 gUnusedGfx_Metronome[] = INCBIN_U32("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point -const u32 gBattleAnimSpritePalette_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.gbapal.lz"); +const u32 gBattleAnimSpritePal_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.4bpp.lz"); +const u32 gBattleAnimSpritePal_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Sparkle4[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_4.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle4[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_4.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.4bpp.lz"); +const u32 gBattleAnimSpritePal_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Shock[] = INCBIN_U32("graphics/battle_anims/sprites/shock.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Shock[] = INCBIN_U32("graphics/battle_anims/sprites/shock.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.gbapal.lz"); const u16 gUnknown_C0CA1C[] = INCBIN_U16("graphics/unknown/unknown_C0CA1C.bin"); const u16 gUnknown_C0CA40[] = INCBIN_U16("graphics/unknown/unknown_C0CA40.bin"); @@ -261,85 +261,85 @@ const u32 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch const u16 gUnknown_C0CAE0[] = INCBIN_U16("graphics/unknown/unknown_C0CAE0.bin"); const u32 gUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.bin.lz"); -const u32 gBattleAnimSpriteSheet_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.gbapal.lz"); -const u32 gBattleAnimSpritePalette_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.gbapal.lz"); +const u32 gBattleAnimSpritePal_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.gbapal.lz"); +const u32 gBattleAnimSpritePal_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.gbapal.lz"); +const u32 gBattleAnimSpritePal_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.gbapal.lz"); +const u32 gBattleAnimSpritePal_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.gbapal.lz"); +const u32 gBattleAnimSpritePal_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.gbapal.lz"); +const u32 gBattleAnimSpritePal_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.gbapal.lz"); const u32 gUnknown_D0D2B4[] = INCBIN_U32("graphics/unknown/unknown_D0D2B4.bin.lz"); -const u32 gBattleAnimSpritePalette_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.gbapal.lz"); -const u32 gBattleAnimSpritePalette_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.gbapal.lz"); -const u32 gBattleAnimSpritePalette_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.gbapal.lz"); -const u32 gBattleAnimSpritePalette_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.gbapal.lz"); +const u32 gBattleAnimSpritePal_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.gbapal.lz"); +const u32 gBattleAnimSpritePal_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.gbapal.lz"); +const u32 gBattleAnimSpritePal_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.gbapal.lz"); +const u32 gBattleAnimSpritePal_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.gbapal.lz"); +const u32 gBattleAnimSpritePal_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Web[] = INCBIN_U32("graphics/battle_anims/sprites/web.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_HatchedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/hatched_egg.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Web[] = INCBIN_U32("graphics/battle_anims/sprites/web.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HatchedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/hatched_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Explosion3[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Explosion3[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_3.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WaterDroplet2[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WaterDroplet2[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Sprout[] = INCBIN_U32("graphics/battle_anims/sprites/sprout.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sprout[] = INCBIN_U32("graphics/battle_anims/sprites/sprout.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.gbapal.lz"); const u32 gUnusedTilemap_BlueFrame[] = INCBIN_U32("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps? const u32 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U32("graphics/unused/redyellowgreen_frame.bin.lz"); const u32 gUnusedGfx_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.4bpp.lz"); const u32 gUnusedPal_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.4bpp.lz"); const u32 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U32("graphics/unused/water_splash.8bpp.lz"); const u32 gUnusedTilemap_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.bin.lz"); @@ -379,63 +379,63 @@ const u8 gUnknown_D1300C[] = INCBIN_U8("graphics/unknown/unknown_D1300C.4bpp"); const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.4bpp.lz"); -const u32 gBattleAnimSpritePalette_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.4bpp.lz"); +const u32 gBattleAnimSpritePal_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.4bpp.lz"); +const u32 gBattleAnimSpritePal_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PurpleDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/purple_droplet.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_PurpleDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/purple_droplet.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.4bpp.lz"); +const u32 gBattleAnimSpritePal_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.4bpp.lz"); +const u32 gBattleAnimSpritePal_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Whirlwind2[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Whirlwind2[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Explosion5[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_5.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Explosion5[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_5.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Smoke2[] = INCBIN_U32("graphics/battle_anims/sprites/smoke_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Smoke2[] = INCBIN_U32("graphics/battle_anims/sprites/smoke_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BlueFlames2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BlueFlames2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames_2.4bpp.lz"); // Contest @@ -479,114 +479,114 @@ const u32 gUnknown_08C1A12C[] = INCBIN_U32("graphics/contest/misc_2_tilemap_3.bi const u32 gUnknown_08C1A2B4[] = INCBIN_U32("graphics/contest/misc_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.4bpp.lz"); -const u32 gBattleAnimSpritePalette_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Scratch[] = INCBIN_U32("graphics/battle_anims/sprites/scratch.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch[] = INCBIN_U32("graphics/battle_anims/sprites/scratch.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Clamp[] = INCBIN_U32("graphics/battle_anims/sprites/clamp.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Clamp[] = INCBIN_U32("graphics/battle_anims/sprites/clamp.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Cut[] = INCBIN_U32("graphics/battle_anims/sprites/cut.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Cut[] = INCBIN_U32("graphics/battle_anims/sprites/cut.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.4bpp.lz"); +const u32 gBattleAnimSpritePal_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.4bpp.lz"); -const u32 gBattleAnimSpritePalette_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_IceSpikes[] = INCBIN_U32("graphics/battle_anims/sprites/ice_spikes.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_IceSpikes[] = INCBIN_U32("graphics/battle_anims/sprites/ice_spikes.4bpp.lz"); const u32 gUnusedGfx_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.4bpp.lz"); const u32 gUnusedPal_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WaterOrb[] = INCBIN_U32("graphics/battle_anims/sprites/water_orb.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WaterOrb[] = INCBIN_U32("graphics/battle_anims/sprites/water_orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.gbapal.lz"); -const u32 gBattleAnimSpritePalette_BrownOrb[] = INCBIN_U32("graphics/battle_anims/sprites/brown_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_BrownOrb[] = INCBIN_U32("graphics/battle_anims/sprites/brown_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_ToxicBubble[] = INCBIN_U32("graphics/battle_anims/sprites/toxic_bubble.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ToxicBubble[] = INCBIN_U32("graphics/battle_anims/sprites/toxic_bubble.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.gbapal.lz"); +const u32 gBattleAnimSpritePal_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.4bpp.lz"); +const u32 gBattleAnimSpritePal_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.gbapal.lz"); const u32 gUnknownGfx_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.4bpp.lz"); const u32 gUnknownPal_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.gbapal.lz"); const u32 gUnknownTilemap_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.bin.lz"); -const u32 gBattleAnimSpriteSheet_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.gbapal.lz"); -const u32 gBattleAnimSpritePalette_BlueRing2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_PurpleRing[] = INCBIN_U32("graphics/battle_anims/sprites/purple_ring.gbapal.lz"); -const u32 gBattleAnimSpritePalette_BlueRing[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueRing2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_PurpleRing[] = INCBIN_U32("graphics/battle_anims/sprites/purple_ring.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueRing[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.gbapal.lz"); -const u32 gBattleAnimSpritePalette_BlueLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/blue_light_wall.gbapal.lz"); -const u32 gBattleAnimSpritePalette_RedLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/red_light_wall.gbapal.lz"); -const u32 gBattleAnimSpritePalette_GrayLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/gray_light_wall.gbapal.lz"); -const u32 gBattleAnimSpritePalette_OrangeLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/orange_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/blue_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/red_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_GrayLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/gray_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_OrangeLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/orange_light_wall.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_PurpleGasCloud[] = INCBIN_U32("graphics/battle_anims/sprites/purple_gas_cloud.gbapal.lz"); +const u32 gBattleAnimSpritePal_PurpleGasCloud[] = INCBIN_U32("graphics/battle_anims/sprites/purple_gas_cloud.gbapal.lz"); const u32 gContestJudgeGfx[] = INCBIN_U32("graphics/contest/judge.4bpp.lz"); const u32 gContest2Pal[] = INCBIN_U32("graphics/contest/judge.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz"); const u32 gBattleAnimBackgroundImage_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.gbapal.lz"); @@ -600,48 +600,48 @@ const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz"); const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz"); const u32 gUnusedTilemap_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.bin.lz"); -const u32 gBattleAnimSpriteSheet_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.4bpp.lz"); -const u32 gBattleAnimSpritePalette_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.4bpp.lz"); -const u32 gBattleAnimSpritePalette_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.4bpp.lz"); -const u32 gBattleAnimSpritePalette_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.4bpp.lz"); -const u32 gBattleAnimSpritePalette_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.gbapal.lz"); -const u32 gBattleAnimSpritePalette_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.4bpp.lz"); +const u32 gBattleAnimSpritePal_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_WebThread[] = INCBIN_U32("graphics/battle_anims/sprites/web_thread.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_SpiderWeb[] = INCBIN_U32("graphics/battle_anims/sprites/spider_web.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WebThread[] = INCBIN_U32("graphics/battle_anims/sprites/web_thread.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SpiderWeb[] = INCBIN_U32("graphics/battle_anims/sprites/spider_web.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.4bpp.lz"); -const u32 gBattleAnimSpritePalette_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.4bpp.lz"); +const u32 gBattleAnimSpritePal_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz"); +const u32 gBattleAnimSpritePal_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz"); const u32 gBattleAnimBackgroundImage_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.bin.lz"); -const u32 gBattleAnimSpriteSheet_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.gbapal.lz"); const u32 gHealthboxSinglesPlayerGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_player.4bpp.lz"); const u32 gHealthboxSinglesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz"); @@ -652,136 +652,136 @@ const u32 gHealthboxSafariGfx[] = INCBIN_U32("graphics/battle_interface/healthbo const u32 gUnusedGfx_Shadow[] = INCBIN_U32("graphics/unused/shadow.4bpp.lz"); const u32 gUnusedPal_Shadow[] = INCBIN_U32("graphics/unused/shadow.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.4bpp.lz"); -const u32 gBattleAnimSpritePalette_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.4bpp.lz"); +const u32 gBattleAnimSpritePal_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.4bpp.lz"); -const u32 gBattleAnimSpritePalette_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.4bpp.lz"); -const u32 gBattleAnimSpritePalette_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.4bpp.lz"); -const u32 gBattleAnimSpritePalette_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.4bpp.lz"); +const u32 gBattleAnimSpritePal_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.gbapal.lz"); const u32 gUnknown_08C20668[] = INCBIN_U32("graphics/battle_anims/masks/curse.4bpp.lz"); const u32 gUnknown_08C20684[] = INCBIN_U32("graphics/battle_anims/masks/curse.bin.lz"); -const u32 gBattleAnimSpriteSheet_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.4bpp.lz"); +const u32 gBattleAnimSpritePal_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.4bpp.lz"); +const u32 gBattleAnimSpritePal_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.4bpp.lz"); +const u32 gBattleAnimSpritePal_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.4bpp.lz"); -const u32 gBattleAnimSpritePalette_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_TornMetal[] = INCBIN_U32("graphics/battle_anims/sprites/torn_metal.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_TornMetal[] = INCBIN_U32("graphics/battle_anims/sprites/torn_metal.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.4bpp.lz"); -const u32 gBattleAnimSpritePalette_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PinkHeart[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart.gbapal.lz"); -const u32 gBattleAnimSpritePalette_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz"); -const u32 gBattleAnimSpritePalette_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz"); const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz"); const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz"); -const u32 gBattleAnimSpriteSheet_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_CircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/circle_of_light.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Electricity[] = INCBIN_U32("graphics/battle_anims/sprites/electricity.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_CircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/circle_of_light.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Electricity[] = INCBIN_U32("graphics/battle_anims/sprites/electricity.4bpp.lz"); -const u32 gBattleAnimSpritePalette_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.gbapal.lz"); +const u32 gBattleAnimSpritePal_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Finger2[] = INCBIN_U32("graphics/battle_anims/sprites/finger_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/sprites/finger_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz"); const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); -const u32 gBattleAnimSpritePalette_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz"); +const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.4bpp.lz"); +const u32 gBattleAnimSpritePal_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.4bpp.lz"); +const u32 gBattleAnimSpritePal_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.4bpp.lz"); +const u32 gBattleAnimSpritePal_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.gbapal.lz"); -const u32 gBattleAnimSpritePalette_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.4bpp.lz"); +const u32 gBattleAnimSpritePal_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.4bpp.lz"); -const u32 gBattleAnimSpritePalette_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz"); -const u32 gBattleAnimSpritePalette_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz"); +const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); +const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.gbapal.lz"); const u32 gBattleAnimBackgroundImage_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.4bpp.lz"); @@ -790,39 +790,39 @@ const u32 gBattleAnimBackgroundTilemap_04[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBackgroundTilemap_05[] = INCBIN_U32("graphics/battle_anims/backgrounds/05.bin.lz"); const u32 gBattleAnimBackgroundTilemap_06[] = INCBIN_U32("graphics/battle_anims/backgrounds/06.bin.lz"); -const u32 gBattleAnimSpriteSheet_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz"); -const u32 gBattleAnimSpritePalette_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz"); +const u32 gBattleAnimSpritePal_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Spotlight[] = INCBIN_U32("graphics/battle_anims/sprites/spotlight.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Spotlight[] = INCBIN_U32("graphics/battle_anims/sprites/spotlight.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.4bpp.lz"); +const u32 gBattleAnimSpritePal_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.4bpp.lz"); +const u32 gBattleAnimSpritePal_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WispFire[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_fire.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WispFire[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_fire.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.4bpp.lz"); -const u32 gBattleAnimSpritePalette_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz"); const u32 gBattleAnimBackgroundImage_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.gbapal.lz"); @@ -859,30 +859,30 @@ const u32 gBattleAnimBackgroundImage_11[] = INCBIN_U32("graphics/battle_anims/ba const u32 gBattleAnimBackgroundPalette_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.bin.lz"); -const u32 gBattleAnimSpriteSheet_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz"); +const u32 gBattleAnimSpritePal_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.4bpp.lz"); -const u32 gBattleAnimSpritePalette_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.4bpp.lz"); +const u32 gBattleAnimSpritePal_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.4bpp.lz"); +const u32 gBattleAnimSpritePal_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.gbapal.lz"); const u32 gSubstituteDollPal[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.gbapal.lz"); const u32 gSubstituteDollGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz"); const u32 gSubstituteDollTilemap[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.bin.lz"); -const u32 gBattleAnimSpriteSheet_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.gbapal.lz"); const u32 gContestConfetti_Gfx[] = INCBIN_U32("graphics/misc/confetti.4bpp.lz"); const u32 gContestConfetti_Pal[] = INCBIN_U32("graphics/misc/confetti.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.4bpp.lz"); +const u32 gBattleAnimSpritePal_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.gbapal.lz"); const u32 gBattleStatMask_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/stat.4bpp.lz"); const u32 gBattleStatMask1_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_1.bin.lz"); @@ -901,52 +901,52 @@ const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbl const u32 gCureBubblesPal[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); const u32 gCureBubblesTilemap[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); -const u32 gBattleAnimSpritePalette_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_PurpleSwipe[] = INCBIN_U32("graphics/battle_anims/sprites/purple_swipe.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_PurpleSwipe[] = INCBIN_U32("graphics/battle_anims/sprites/purple_swipe.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_TagHand[] = INCBIN_U32("graphics/battle_anims/sprites/tag_hand.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_TagHand[] = INCBIN_U32("graphics/battle_anims/sprites/tag_hand.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_NoiseLine[] = INCBIN_U32("graphics/battle_anims/sprites/noise_line.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_NoiseLine[] = INCBIN_U32("graphics/battle_anims/sprites/noise_line.4bpp.lz"); const u32 gUnknown_08C2EA50[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz"); const u32 gUnknown_08C2EA9C[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.bin.lz"); -const u32 gBattleAnimSpriteSheet_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.4bpp.lz"); -const u32 gBattleAnimSpritePalette_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_XSign[] = INCBIN_U32("graphics/battle_anims/sprites/x_sign.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_XSign[] = INCBIN_U32("graphics/battle_anims/sprites/x_sign.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz"); -const u32 gBattleAnimSpritePalette_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz"); +const u32 gBattleAnimSpritePal_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.4bpp.lz"); -const u32 gBattleAnimSpritePalette_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.4bpp.lz"); -const u32 gBattleAnimSpritePalette_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.4bpp.lz"); +const u32 gBattleAnimSpritePal_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.4bpp.lz"); +const u32 gBattleAnimSpritePal_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.4bpp.lz"); -const u32 gBattleAnimSpritePalette_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.gbapal.lz"); const u32 gUnknownPal_C2F9E0[] = INCBIN_U32("graphics/unknown/unknown_C2F9E0.gbapal.lz"); @@ -1005,58 +1005,58 @@ const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tile #include "data/graphics/intro_scene.h" -const u32 gBattleAnimSpriteSheet_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz"); const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); -const u32 gBattleAnimSpritePalette_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz"); +const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); -const u32 gBattleAnimSpritePalette_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz"); const u32 gBattleAnimBackgroundImage_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.bin.lz"); -const u32 gBattleAnimSpriteSheet_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz"); -const u32 gBattleAnimSpritePalette_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz"); +const u32 gBattleAnimSpritePal_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz"); const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/nextturn.4bpp.lz"); const u8 gContestNextTurnNumbersGfx[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp"); const u8 gContestNextTurnRandomGfx[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp"); -const u32 gBattleAnimSpriteSheet_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_GlowyGreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_green_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_SleepPowder[] = INCBIN_U32("graphics/battle_anims/sprites/sleep_powder.gbapal.lz"); -const u32 gBattleAnimSpritePalette_StunSpore[] = INCBIN_U32("graphics/battle_anims/sprites/stun_spore.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyGreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_green_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_SleepPowder[] = INCBIN_U32("graphics/battle_anims/sprites/sleep_powder.gbapal.lz"); +const u32 gBattleAnimSpritePal_StunSpore[] = INCBIN_U32("graphics/battle_anims/sprites/stun_spore.gbapal.lz"); const u32 gContestApplauseGfx[] = INCBIN_U32("graphics/contest/applause.4bpp.lz"); const u8 gContestApplauseMeterGfx[] = INCBIN_U8("graphics/contest/applause_meter.4bpp"); const u16 gContestPal[] = INCBIN_U16("graphics/contest/nextturn.gbapal"); -const u32 gBattleAnimSpriteSheet_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SweatBead[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_bead.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SweatBead[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_bead.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_RedBrick[] = INCBIN_U32("graphics/battle_anims/sprites/red_brick.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RedBrick[] = INCBIN_U32("graphics/battle_anims/sprites/red_brick.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedBrick[] = INCBIN_U32("graphics/battle_anims/sprites/red_brick.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedBrick[] = INCBIN_U32("graphics/battle_anims/sprites/red_brick.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Gem2[] = INCBIN_U32("graphics/battle_anims/sprites/gem_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_Gem3[] = INCBIN_U32("graphics/battle_anims/sprites/gem_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem2[] = INCBIN_U32("graphics/battle_anims/sprites/gem_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem3[] = INCBIN_U32("graphics/battle_anims/sprites/gem_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz"); +const u32 gBattleAnimSpritePal_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz"); const u32 gBattleAnimBackgroundImage_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.bin.lz"); -const u32 gBattleAnimSpriteSheet_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); +const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); const u32 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); @@ -1070,7 +1070,7 @@ const u32 gBattleAnimBackgroundImage_02[] = INCBIN_U32("graphics/battle_anims/ba const u32 gBattleAnimBackgroundPalette_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.bin.lz"); -const u32 gBattleAnimSpritePalette_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); +const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); const u32 gBattleAnimBackgroundPalette_24[] = INCBIN_U32("graphics/battle_anims/backgrounds/24.gbapal.lz"); @@ -1085,44 +1085,44 @@ const u32 gBattleAnimBackgroundPalette_16[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBackgroundImage_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.4bpp.lz"); const u32 gBattleAnimBackgroundTilemap_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.bin.lz"); -const u32 gBattleAnimSpritePalette_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz"); const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/fog.bin.lz"); -const u32 gBattleAnimSpritePalette_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz"); const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); -const u32 gBattleAnimSpriteSheet_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.4bpp.lz"); -const u32 gBattleAnimSpritePalette_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.gbapal.lz"); -const u32 gBattleAnimSpritePalette_WhiteCircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/white_circle_of_light.gbapal.lz"); -const u32 gBattleAnimSpritePalette_GlowyBlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_blue_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.gbapal.lz"); +const u32 gBattleAnimSpritePal_WhiteCircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/white_circle_of_light.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyBlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_blue_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.4bpp.lz"); -const u32 gBattleAnimSpritePalette_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz"); -const u32 gBattleAnimSpritePalette_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz"); +const u32 gBattleAnimSpritePal_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz"); const u32 gBattleAnimBackgroundImage_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.gbapal.lz"); const u32 gBattleAnimBackgroundTilemap_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.bin.lz"); -const u32 gBattleAnimSpriteSheet_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); -const u32 gBattleAnimSpritePalette_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); const u32 gBattleAnimBackgroundImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); @@ -1133,10 +1133,10 @@ const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin. const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz"); -const u32 gBattleAnimSpritePalette_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz"); const u32 gPartyMenuMisc_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz"); const u32 gPartyMenuMisc_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz"); @@ -1223,14 +1223,14 @@ const u32 gUnknown_08D9BA44[] = INCBIN_U32("graphics/interface/pokeblock_feeding #include "data/graphics/items.h" #include "data/graphics/decorations.h" -const u32 gBattleAnimSpritePalette_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.4bpp.lz"); -const u32 gBattleAnimSpritePalette_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.4bpp.lz"); const u16 gUnknown_08DBA518[] = INCBIN_U16("graphics/misc/cable_car_bg.gbapal"); const u16 gCableCar_Pal[] = INCBIN_U16("graphics/misc/cable_car.gbapal"); diff --git a/src/rock.c b/src/rock.c index 489ef9f7d3..f05816362e 100644 --- a/src/rock.c +++ b/src/rock.c @@ -419,7 +419,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId) sub_80A6B30(&animBg); AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset); sub_80A6D60(&animBg, gUnknown_08D8D410, 0); - LoadCompressedPalette(gBattleAnimSpritePalette_FlyingDirt, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) var0 = 1; From 5183cdb35722549d6b465ccaf8c4a21422ecb254 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 6 Apr 2019 16:51:03 +0200 Subject: [PATCH 69/84] change anim sprite name --- data/battle_anim_scripts.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 8655d9bc3e..36018e7b24 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -6568,7 +6568,7 @@ Move_DYNAMIC_PUNCH: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_EXPLOSION - loadspritegfx ANIM_TAG_UNUSED_EXPLOSION + loadspritegfx ANIM_TAG_EXPLOSION_6 delay 1 monbg ANIM_DEF_PARTNER setalpha 12, 8 From b85a74afc5a5dc1225e85904ab0b583f5d359d12 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 6 Apr 2019 18:38:15 +0200 Subject: [PATCH 70/84] Give names to battle anim backgrounds --- data/battle_anim_scripts.s | 30 ++--- .../backgrounds/{20.bin => aurora.bin} | Bin .../backgrounds/{20.png => aurora.png} | Bin .../backgrounds/{22.pal => bug.pal} | 0 .../backgrounds/{16.bin => cosmic.bin} | Bin .../backgrounds/{16.png => cosmic.png} | Bin .../backgrounds/{00.bin => dark.bin} | Bin .../backgrounds/{00.png => dark.png} | Bin .../backgrounds/{07.bin => drill.bin} | Bin .../backgrounds/{07.png => drill.png} | Bin .../{08.bin => drill_contests.bin} | Bin .../backgrounds/{21.bin => fissure.bin} | Bin .../backgrounds/{21.png => fissure.png} | Bin .../backgrounds/{02.bin => ghost.bin} | Bin .../backgrounds/{02.png => ghost.png} | Bin .../backgrounds/{12.png => guillotine.png} | Bin .../{14.bin => guillotine_contests.bin} | Bin .../{12.bin => guillotine_opponent.bin} | Bin .../{13.bin => guillotine_player.bin} | Bin .../backgrounds/{09.png => highspeed.png} | Bin .../{09.bin => highspeed_opponent.bin} | Bin .../{10.bin => highspeed_player.bin} | Bin .../backgrounds/{15.bin => ice.bin} | Bin .../backgrounds/{15.png => ice.png} | Bin .../backgrounds/{04.png => impact.png} | Bin .../{06.bin => impact_contests.bin} | Bin .../{04.bin => impact_opponent.bin} | Bin .../backgrounds/{05.bin => impact_player.bin} | Bin .../backgrounds/{17.bin => in_air.bin} | Bin .../backgrounds/{17.png => in_air.png} | Bin .../backgrounds/{03.bin => psychic.bin} | Bin .../backgrounds/{03.png => psychic.png} | Bin .../backgrounds/{18.pal => sky.pal} | 0 .../backgrounds/{24.pal => solarbeam.pal} | 0 .../backgrounds/{11.bin => thunder.bin} | Bin .../backgrounds/{11.png => thunder.png} | Bin include/constants/battle_anim.h | 8 +- include/graphics.h | 106 +++++++++--------- src/battle_anim.c | 55 +++++---- src/battle_anim_effects_2.c | 6 +- src/battle_bg.c | 21 +++- src/graphics.c | 106 +++++++++--------- src/water.c | 58 +++++----- 43 files changed, 204 insertions(+), 186 deletions(-) rename graphics/battle_anims/backgrounds/{20.bin => aurora.bin} (100%) rename graphics/battle_anims/backgrounds/{20.png => aurora.png} (100%) rename graphics/battle_anims/backgrounds/{22.pal => bug.pal} (100%) rename graphics/battle_anims/backgrounds/{16.bin => cosmic.bin} (100%) rename graphics/battle_anims/backgrounds/{16.png => cosmic.png} (100%) rename graphics/battle_anims/backgrounds/{00.bin => dark.bin} (100%) rename graphics/battle_anims/backgrounds/{00.png => dark.png} (100%) rename graphics/battle_anims/backgrounds/{07.bin => drill.bin} (100%) rename graphics/battle_anims/backgrounds/{07.png => drill.png} (100%) rename graphics/battle_anims/backgrounds/{08.bin => drill_contests.bin} (100%) rename graphics/battle_anims/backgrounds/{21.bin => fissure.bin} (100%) rename graphics/battle_anims/backgrounds/{21.png => fissure.png} (100%) rename graphics/battle_anims/backgrounds/{02.bin => ghost.bin} (100%) rename graphics/battle_anims/backgrounds/{02.png => ghost.png} (100%) rename graphics/battle_anims/backgrounds/{12.png => guillotine.png} (100%) rename graphics/battle_anims/backgrounds/{14.bin => guillotine_contests.bin} (100%) rename graphics/battle_anims/backgrounds/{12.bin => guillotine_opponent.bin} (100%) rename graphics/battle_anims/backgrounds/{13.bin => guillotine_player.bin} (100%) rename graphics/battle_anims/backgrounds/{09.png => highspeed.png} (100%) rename graphics/battle_anims/backgrounds/{09.bin => highspeed_opponent.bin} (100%) rename graphics/battle_anims/backgrounds/{10.bin => highspeed_player.bin} (100%) rename graphics/battle_anims/backgrounds/{15.bin => ice.bin} (100%) rename graphics/battle_anims/backgrounds/{15.png => ice.png} (100%) rename graphics/battle_anims/backgrounds/{04.png => impact.png} (100%) rename graphics/battle_anims/backgrounds/{06.bin => impact_contests.bin} (100%) rename graphics/battle_anims/backgrounds/{04.bin => impact_opponent.bin} (100%) rename graphics/battle_anims/backgrounds/{05.bin => impact_player.bin} (100%) rename graphics/battle_anims/backgrounds/{17.bin => in_air.bin} (100%) rename graphics/battle_anims/backgrounds/{17.png => in_air.png} (100%) rename graphics/battle_anims/backgrounds/{03.bin => psychic.bin} (100%) rename graphics/battle_anims/backgrounds/{03.png => psychic.png} (100%) rename graphics/battle_anims/backgrounds/{18.pal => sky.pal} (100%) rename graphics/battle_anims/backgrounds/{24.pal => solarbeam.pal} (100%) rename graphics/battle_anims/backgrounds/{11.bin => thunder.bin} (100%) rename graphics/battle_anims/backgrounds/{11.png => thunder.png} (100%) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 36018e7b24..0d5ce89a8e 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2960,7 +2960,7 @@ SkyAttackSetUpAgainstPartner: SkyAttackUnleash: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_BIRD - call SetFlyingBg + call SetSkyBg monbg ANIM_ATTACKER createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE delay 4 @@ -2977,7 +2977,7 @@ SkyAttackUnleash: createvisualtask sub_8116620, 10, 2, 0, 15, 0, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATTACKER - call UnsetFlyingBg + call UnsetSkyBg goto SkyAttackEnd Move_FLASH: @@ -5392,7 +5392,7 @@ Move_WITHDRAW: Move_AURORA_BEAM: loadspritegfx ANIM_TAG_RAINBOW_RINGS - fadetobg BG_AURORABEAM + fadetobg BG_AURORA waitbgfadein playsewithpan SE_W062, SOUND_PAN_ATTACKER setarg 7, 0 @@ -6195,7 +6195,7 @@ Move_AEROBLAST: loadspritegfx ANIM_TAG_AIR_WAVE_2 loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER - call SetFlyingBg + call SetSkyBg monbgprio_28 ANIM_TARGET setalpha 12, 8 call Aeroblast1 @@ -6211,7 +6211,7 @@ Move_AEROBLAST: clearmonbg ANIM_DEF_PARTNER blendoff delay 0 - call UnsetFlyingBg + call UnsetSkyBg end Aeroblast1: playsewithpan SE_W026, SOUND_PAN_ATTACKER @@ -9419,7 +9419,7 @@ Move_SEISMIC_TOSS: waitforvisualfinish createvisualtask AnimTask_GetSeismicTossDamageLevel, 3 delay 1 - fadetobg BG_SEISMICTOSS_SKUUPPERCUT + fadetobg BG_IN_AIR waitbgfadeout createvisualtask sub_811152C, 3 playsewithpan SE_W327, 0 @@ -9589,7 +9589,7 @@ Move_SKY_UPPERCUT: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - fadetobg BG_SEISMICTOSS_SKUUPPERCUT + fadetobg BG_IN_AIR waitbgfadeout playsewithpan SE_W327, SOUND_PAN_ATTACKER createvisualtask sub_810DABC, 5, 55 @@ -10165,21 +10165,21 @@ UnsetPsychicBackground: waitbgfadein return -SetFlyingBg: - jumpifcontest SetBgFlyingContest - fadetobg BG_FLYING +SetSkyBg: + jumpifcontest SetSkyBgContest + fadetobg BG_SKY waitbgfadeout createvisualtask sub_8117660, 5, -2304, 768, 1, -1 -SetBgFlyingContinue: +SetSkyBgContinue: waitbgfadein return -SetBgFlyingContest: - fadetobg BG_FLYING_CONTESTS +SetSkyBgContest: + fadetobg BG_SKY_CONTESTS waitbgfadeout createvisualtask sub_8117660, 5, 2304, 768, 0, -1 - goto SetBgFlyingContinue + goto SetSkyBgContinue -UnsetFlyingBg: +UnsetSkyBg: restorebg waitbgfadeout setarg 7, -1 diff --git a/graphics/battle_anims/backgrounds/20.bin b/graphics/battle_anims/backgrounds/aurora.bin similarity index 100% rename from graphics/battle_anims/backgrounds/20.bin rename to graphics/battle_anims/backgrounds/aurora.bin diff --git a/graphics/battle_anims/backgrounds/20.png b/graphics/battle_anims/backgrounds/aurora.png similarity index 100% rename from graphics/battle_anims/backgrounds/20.png rename to graphics/battle_anims/backgrounds/aurora.png diff --git a/graphics/battle_anims/backgrounds/22.pal b/graphics/battle_anims/backgrounds/bug.pal similarity index 100% rename from graphics/battle_anims/backgrounds/22.pal rename to graphics/battle_anims/backgrounds/bug.pal diff --git a/graphics/battle_anims/backgrounds/16.bin b/graphics/battle_anims/backgrounds/cosmic.bin similarity index 100% rename from graphics/battle_anims/backgrounds/16.bin rename to graphics/battle_anims/backgrounds/cosmic.bin diff --git a/graphics/battle_anims/backgrounds/16.png b/graphics/battle_anims/backgrounds/cosmic.png similarity index 100% rename from graphics/battle_anims/backgrounds/16.png rename to graphics/battle_anims/backgrounds/cosmic.png diff --git a/graphics/battle_anims/backgrounds/00.bin b/graphics/battle_anims/backgrounds/dark.bin similarity index 100% rename from graphics/battle_anims/backgrounds/00.bin rename to graphics/battle_anims/backgrounds/dark.bin diff --git a/graphics/battle_anims/backgrounds/00.png b/graphics/battle_anims/backgrounds/dark.png similarity index 100% rename from graphics/battle_anims/backgrounds/00.png rename to graphics/battle_anims/backgrounds/dark.png diff --git a/graphics/battle_anims/backgrounds/07.bin b/graphics/battle_anims/backgrounds/drill.bin similarity index 100% rename from graphics/battle_anims/backgrounds/07.bin rename to graphics/battle_anims/backgrounds/drill.bin diff --git a/graphics/battle_anims/backgrounds/07.png b/graphics/battle_anims/backgrounds/drill.png similarity index 100% rename from graphics/battle_anims/backgrounds/07.png rename to graphics/battle_anims/backgrounds/drill.png diff --git a/graphics/battle_anims/backgrounds/08.bin b/graphics/battle_anims/backgrounds/drill_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/08.bin rename to graphics/battle_anims/backgrounds/drill_contests.bin diff --git a/graphics/battle_anims/backgrounds/21.bin b/graphics/battle_anims/backgrounds/fissure.bin similarity index 100% rename from graphics/battle_anims/backgrounds/21.bin rename to graphics/battle_anims/backgrounds/fissure.bin diff --git a/graphics/battle_anims/backgrounds/21.png b/graphics/battle_anims/backgrounds/fissure.png similarity index 100% rename from graphics/battle_anims/backgrounds/21.png rename to graphics/battle_anims/backgrounds/fissure.png diff --git a/graphics/battle_anims/backgrounds/02.bin b/graphics/battle_anims/backgrounds/ghost.bin similarity index 100% rename from graphics/battle_anims/backgrounds/02.bin rename to graphics/battle_anims/backgrounds/ghost.bin diff --git a/graphics/battle_anims/backgrounds/02.png b/graphics/battle_anims/backgrounds/ghost.png similarity index 100% rename from graphics/battle_anims/backgrounds/02.png rename to graphics/battle_anims/backgrounds/ghost.png diff --git a/graphics/battle_anims/backgrounds/12.png b/graphics/battle_anims/backgrounds/guillotine.png similarity index 100% rename from graphics/battle_anims/backgrounds/12.png rename to graphics/battle_anims/backgrounds/guillotine.png diff --git a/graphics/battle_anims/backgrounds/14.bin b/graphics/battle_anims/backgrounds/guillotine_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/14.bin rename to graphics/battle_anims/backgrounds/guillotine_contests.bin diff --git a/graphics/battle_anims/backgrounds/12.bin b/graphics/battle_anims/backgrounds/guillotine_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/12.bin rename to graphics/battle_anims/backgrounds/guillotine_opponent.bin diff --git a/graphics/battle_anims/backgrounds/13.bin b/graphics/battle_anims/backgrounds/guillotine_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/13.bin rename to graphics/battle_anims/backgrounds/guillotine_player.bin diff --git a/graphics/battle_anims/backgrounds/09.png b/graphics/battle_anims/backgrounds/highspeed.png similarity index 100% rename from graphics/battle_anims/backgrounds/09.png rename to graphics/battle_anims/backgrounds/highspeed.png diff --git a/graphics/battle_anims/backgrounds/09.bin b/graphics/battle_anims/backgrounds/highspeed_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/09.bin rename to graphics/battle_anims/backgrounds/highspeed_opponent.bin diff --git a/graphics/battle_anims/backgrounds/10.bin b/graphics/battle_anims/backgrounds/highspeed_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/10.bin rename to graphics/battle_anims/backgrounds/highspeed_player.bin diff --git a/graphics/battle_anims/backgrounds/15.bin b/graphics/battle_anims/backgrounds/ice.bin similarity index 100% rename from graphics/battle_anims/backgrounds/15.bin rename to graphics/battle_anims/backgrounds/ice.bin diff --git a/graphics/battle_anims/backgrounds/15.png b/graphics/battle_anims/backgrounds/ice.png similarity index 100% rename from graphics/battle_anims/backgrounds/15.png rename to graphics/battle_anims/backgrounds/ice.png diff --git a/graphics/battle_anims/backgrounds/04.png b/graphics/battle_anims/backgrounds/impact.png similarity index 100% rename from graphics/battle_anims/backgrounds/04.png rename to graphics/battle_anims/backgrounds/impact.png diff --git a/graphics/battle_anims/backgrounds/06.bin b/graphics/battle_anims/backgrounds/impact_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/06.bin rename to graphics/battle_anims/backgrounds/impact_contests.bin diff --git a/graphics/battle_anims/backgrounds/04.bin b/graphics/battle_anims/backgrounds/impact_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/04.bin rename to graphics/battle_anims/backgrounds/impact_opponent.bin diff --git a/graphics/battle_anims/backgrounds/05.bin b/graphics/battle_anims/backgrounds/impact_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/05.bin rename to graphics/battle_anims/backgrounds/impact_player.bin diff --git a/graphics/battle_anims/backgrounds/17.bin b/graphics/battle_anims/backgrounds/in_air.bin similarity index 100% rename from graphics/battle_anims/backgrounds/17.bin rename to graphics/battle_anims/backgrounds/in_air.bin diff --git a/graphics/battle_anims/backgrounds/17.png b/graphics/battle_anims/backgrounds/in_air.png similarity index 100% rename from graphics/battle_anims/backgrounds/17.png rename to graphics/battle_anims/backgrounds/in_air.png diff --git a/graphics/battle_anims/backgrounds/03.bin b/graphics/battle_anims/backgrounds/psychic.bin similarity index 100% rename from graphics/battle_anims/backgrounds/03.bin rename to graphics/battle_anims/backgrounds/psychic.bin diff --git a/graphics/battle_anims/backgrounds/03.png b/graphics/battle_anims/backgrounds/psychic.png similarity index 100% rename from graphics/battle_anims/backgrounds/03.png rename to graphics/battle_anims/backgrounds/psychic.png diff --git a/graphics/battle_anims/backgrounds/18.pal b/graphics/battle_anims/backgrounds/sky.pal similarity index 100% rename from graphics/battle_anims/backgrounds/18.pal rename to graphics/battle_anims/backgrounds/sky.pal diff --git a/graphics/battle_anims/backgrounds/24.pal b/graphics/battle_anims/backgrounds/solarbeam.pal similarity index 100% rename from graphics/battle_anims/backgrounds/24.pal rename to graphics/battle_anims/backgrounds/solarbeam.pal diff --git a/graphics/battle_anims/backgrounds/11.bin b/graphics/battle_anims/backgrounds/thunder.bin similarity index 100% rename from graphics/battle_anims/backgrounds/11.bin rename to graphics/battle_anims/backgrounds/thunder.bin diff --git a/graphics/battle_anims/backgrounds/11.png b/graphics/battle_anims/backgrounds/thunder.png similarity index 100% rename from graphics/battle_anims/backgrounds/11.png rename to graphics/battle_anims/backgrounds/thunder.png diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index aaa3cd2745..1209dfa19b 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -335,10 +335,10 @@ #define BG_GUILLOTINE_CONTESTS 14 #define BG_ICE 15 #define BG_COSMIC 16 -#define BG_SEISMICTOSS_SKUUPPERCUT 17 -#define BG_FLYING 18 -#define BG_FLYING_CONTESTS 19 -#define BG_AURORABEAM 20 +#define BG_IN_AIR 17 +#define BG_SKY 18 +#define BG_SKY_CONTESTS 19 +#define BG_AURORA 20 #define BG_FISSURE 21 #define BG_BUG_OPPONENT 22 #define BG_BUG_PLAYER 23 diff --git a/include/graphics.h b/include/graphics.h index 14b84724fc..5a73e7b929 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4396,9 +4396,9 @@ extern const u32 gBattleAnimSpriteGfx_Protect[]; extern const u32 gBattleAnimSpriteGfx_DirtMound[]; extern const u32 gBattleAnimSpriteGfx_Shock3[]; extern const u32 gBattleAnimSpriteGfx_WeatherBall[]; -extern const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[]; -extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[]; -extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[]; +extern const u32 gBattleAnimBgTilemap_ScaryFacePlayer[]; +extern const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[]; +extern const u32 gBattleAnimBgTilemap_ScaryFaceContest[]; extern const u32 gBattleAnimSpriteGfx_Bird[]; extern const u32 gBattleAnimSpriteGfx_CrossImpact[]; @@ -4685,57 +4685,57 @@ extern const u32 gBattleAnimSpritePal_Slash2[]; extern const u32 gBattleAnimSpritePal_WhipHit[]; extern const u32 gBattleAnimSpritePal_BlueRing2[]; -extern const u32 gBattleAnimBackgroundImage_00[]; -extern const u32 gBattleAnimBackgroundImage_02[]; -extern const u32 gBattleAnimBackgroundImage_03[]; -extern const u32 gBattleAnimBackgroundImage_04[]; -extern const u32 gBattleAnimBackgroundImage_07[]; -extern const u32 gBattleAnimBackgroundImage_09[]; -extern const u32 gBattleAnimBackgroundImage_11[]; -extern const u32 gBattleAnimBackgroundImage_12[]; -extern const u32 gBattleAnimBackgroundImage_15[]; -extern const u32 gBattleAnimBackgroundImage_16[]; -extern const u32 gBattleAnimBackgroundImage_17[]; -extern const u32 gBattleAnimBackgroundImage_20[]; -extern const u32 gBattleAnimBackgroundImage_21[]; -extern const u32 gBattleAnimBackgroundPalette_00[]; -extern const u32 gBattleAnimBackgroundPalette_02[]; -extern const u32 gBattleAnimBackgroundPalette_03[]; -extern const u32 gBattleAnimBackgroundPalette_04[]; -extern const u32 gBattleAnimBackgroundPalette_07[]; -extern const u32 gBattleAnimBackgroundPalette_09[]; -extern const u32 gBattleAnimBackgroundPalette_11[]; -extern const u32 gBattleAnimBackgroundPalette_12[]; -extern const u32 gBattleAnimBackgroundPalette_15[]; -extern const u32 gBattleAnimBackgroundPalette_16[]; -extern const u32 gBattleAnimBackgroundPalette_17[]; -extern const u32 gBattleAnimBackgroundPalette_18[]; -extern const u32 gBattleAnimBackgroundPalette_20[]; -extern const u32 gBattleAnimBackgroundPalette_21[]; -extern const u32 gBattleAnimBackgroundPalette_22[]; -extern const u32 gBattleAnimBackgroundPalette_24[]; -extern const u32 gBattleAnimBackgroundTilemap_00[]; -extern const u32 gBattleAnimBackgroundTilemap_02[]; -extern const u32 gBattleAnimBackgroundTilemap_03[]; -extern const u32 gBattleAnimBackgroundTilemap_04[]; -extern const u32 gBattleAnimBackgroundTilemap_05[]; -extern const u32 gBattleAnimBackgroundTilemap_06[]; -extern const u32 gBattleAnimBackgroundTilemap_07[]; -extern const u32 gBattleAnimBackgroundTilemap_08[]; -extern const u32 gBattleAnimBackgroundTilemap_09[]; -extern const u32 gBattleAnimBackgroundTilemap_10[]; +extern const u32 gBattleAnimBgImage_Dark[]; +extern const u32 gBattleAnimBgImage_Ghost[]; +extern const u32 gBattleAnimBgImage_Psychic[]; +extern const u32 gBattleAnimBgImage_Impact[]; +extern const u32 gBattleAnimBgImage_Drill[]; +extern const u32 gBattleAnimBgImage_Highspeed[]; +extern const u32 gBattleAnimBgImage_Thunder[]; +extern const u32 gBattleAnimBgImage_Guillotine[]; +extern const u32 gBattleAnimBgImage_Ice[]; +extern const u32 gBattleAnimBgImage_Cosmic[]; +extern const u32 gBattleAnimBgImage_InAir[]; +extern const u32 gBattleAnimBgImage_Aurora[]; +extern const u32 gBattleAnimBgImage_Fissure[]; +extern const u32 gBattleAnimBgPalette_Dark[]; +extern const u32 gBattleAnimBgPalette_Ghost[]; +extern const u32 gBattleAnimBgPalette_Psychic[]; +extern const u32 gBattleAnimBgPalette_Impact[]; +extern const u32 gBattleAnimBgPalette_Drill[]; +extern const u32 gBattleAnimBgPalette_Highspeed[]; +extern const u32 gBattleAnimBgPalette_Thunder[]; +extern const u32 gBattleAnimBgPalette_Guillotine[]; +extern const u32 gBattleAnimBgPalette_Ice[]; +extern const u32 gBattleAnimBgPalette_Cosmic[]; +extern const u32 gBattleAnimBgPalette_InAir[]; +extern const u32 gBattleAnimBgPalette_Sky[]; +extern const u32 gBattleAnimBgPalette_Aurora[]; +extern const u32 gBattleAnimBgPalette_Fissure[]; +extern const u32 gBattleAnimBgPalette_Bug[]; +extern const u32 gBattleAnimBgPalette_Solarbeam[]; +extern const u32 gBattleAnimBgTilemap_Dark[]; +extern const u32 gBattleAnimBgTilemap_Ghost[]; +extern const u32 gBattleAnimBgTilemap_Psychic[]; +extern const u32 gBattleAnimBgTilemap_ImpactOpponent[]; +extern const u32 gBattleAnimBgTilemap_ImpactPlayer[]; +extern const u32 gBattleAnimBgTilemap_ImpactContests[]; +extern const u32 gBattleAnimBgTilemap_Drill[]; +extern const u32 gBattleAnimBgTilemap_DrillContests[]; +extern const u32 gBattleAnimBgTilemap_HighspeedOpponent[]; +extern const u32 gBattleAnimBgTilemap_HighspeedPlayer[]; extern const u32 gUnknown_08C2A634[]; extern const u32 gUnknown_08C2A6D4[]; extern const u32 gUnknown_08C2A6EC[]; -extern const u32 gBattleAnimBackgroundTilemap_11[]; -extern const u32 gBattleAnimBackgroundTilemap_12[]; -extern const u32 gBattleAnimBackgroundTilemap_13[]; -extern const u32 gBattleAnimBackgroundTilemap_14[]; -extern const u32 gBattleAnimBackgroundTilemap_15[]; -extern const u32 gBattleAnimBackgroundTilemap_16[]; -extern const u32 gBattleAnimBackgroundTilemap_17[]; -extern const u32 gBattleAnimBackgroundTilemap_20[]; -extern const u32 gBattleAnimBackgroundTilemap_21[]; +extern const u32 gBattleAnimBgTilemap_Thunder[]; +extern const u32 gBattleAnimBgTilemap_GuillotineOpponent[]; +extern const u32 gBattleAnimBgTilemap_GuillotinePlayer[]; +extern const u32 gBattleAnimBgTilemap_GuillotineContests[]; +extern const u32 gBattleAnimBgTilemap_Ice[]; +extern const u32 gBattleAnimBgTilemap_Cosmic[]; +extern const u32 gBattleAnimBgTilemap_InAir[]; +extern const u32 gBattleAnimBgTilemap_Aurora[]; +extern const u32 gBattleAnimBgTilemap_Fissure[]; extern const u32 gMetalShineGfx[]; extern const u32 gMetalShinePalette[]; @@ -4777,8 +4777,8 @@ extern const u32 gContest3Pal[]; extern const u32 gUnknown_08D95E00[]; extern const u32 gUnknown_08D960D0[]; extern const u32 gUnknown_08D963A4[]; -extern const u32 gBattleAnimBackgroundImage_Surf[]; -extern const u32 gBattleAnimBackgroundPalette_Surf[]; +extern const u32 gBattleAnimBgImage_Surf[]; +extern const u32 gBattleAnimBgPalette_Surf[]; extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; extern const u32 gBattleAnimFogTilemap[]; diff --git a/src/battle_anim.c b/src/battle_anim.c index 33eb1dac48..a667c61772 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -26,7 +26,6 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2; extern const u16 gMovesWithQuietBGM[]; extern const u8 *const gBattleAnims_Moves[]; -extern const struct BattleAnimBackground gBattleAnimBackgroundTable[]; // this file's functions static void ScriptCmd_loadspritegfx(void); @@ -1712,33 +1711,33 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = const struct BattleAnimBackground gBattleAnimBackgroundTable[] = { - {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00}, - {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00}, - {gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02}, - {gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10}, - {gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14}, - {gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15}, - {gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16}, - {gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08}, - {gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20}, - {gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06}, + [BG_DARK_] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, + [BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, + [BG_GHOST] = {gBattleAnimBgImage_Ghost, gBattleAnimBgPalette_Ghost, gBattleAnimBgTilemap_Ghost}, + [BG_PSYCHIC] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_Psychic, gBattleAnimBgTilemap_Psychic}, + [BG_IMPACT_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactOpponent}, + [BG_IMPACT_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactPlayer}, + [BG_IMPACT_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactContests}, + [BG_DRILL] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_Drill}, + [BG_DRILL_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_DrillContests}, + [BG_HIGHSPEED_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_HIGHSPEED_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_THUNDER] = {gBattleAnimBgImage_Thunder, gBattleAnimBgPalette_Thunder, gBattleAnimBgTilemap_Thunder}, + [BG_GUILLOTINE_OPPONENT] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineOpponent}, + [BG_GUILLOTINE_PLAYER] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotinePlayer}, + [BG_GUILLOTINE_CONTESTS] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineContests}, + [BG_ICE] = {gBattleAnimBgImage_Ice, gBattleAnimBgPalette_Ice, gBattleAnimBgTilemap_Ice}, + [BG_COSMIC] = {gBattleAnimBgImage_Cosmic, gBattleAnimBgPalette_Cosmic, gBattleAnimBgTilemap_Cosmic}, + [BG_IN_AIR] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_InAir, gBattleAnimBgTilemap_InAir}, + [BG_SKY] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_Drill}, + [BG_SKY_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_DrillContests}, + [BG_AURORA] = {gBattleAnimBgImage_Aurora, gBattleAnimBgPalette_Aurora, gBattleAnimBgTilemap_Aurora}, + [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure}, + [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_SOLARBEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactOpponent}, + [BG_SOLARBEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactPlayer}, + [BG_SOLARBEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactContests}, }; static void (* const sScriptCmdTable[])(void) = diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 88319a2e31..580b138643 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -3381,11 +3381,11 @@ void sub_81064F8(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); sub_80A6B30(&animBg); if (IsContest()) - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceContest, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0); else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFacePlayer, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0); else - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceOpponent, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0); AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset); LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32); diff --git a/src/battle_bg.c b/src/battle_bg.c index 81e8acdf9e..a08873857a 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -598,6 +598,7 @@ const struct WindowTemplate * const gBattleWindowTemplates[] = static const struct BattleBackground gBattleTerrainTable[] = { + [BATTLE_TERRAIN_GRASS] = { .tileset = gBattleTerrainTiles_TallGrass, .tilemap = gBattleTerrainTilemap_TallGrass, @@ -605,6 +606,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_TallGrass, .palette = gBattleTerrainPalette_TallGrass, }, + + [BATTLE_TERRAIN_LONG_GRASS] = { .tileset = gBattleTerrainTiles_LongGrass, .tilemap = gBattleTerrainTilemap_LongGrass, @@ -612,6 +615,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_LongGrass, .palette = gBattleTerrainPalette_LongGrass, }, + + [BATTLE_TERRAIN_SAND] = { .tileset = gBattleTerrainTiles_Sand, .tilemap = gBattleTerrainTilemap_Sand, @@ -619,6 +624,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Sand, .palette = gBattleTerrainPalette_Sand, }, + + [BATTLE_TERRAIN_UNDERWATER] = { .tileset = gBattleTerrainTiles_Underwater, .tilemap = gBattleTerrainTilemap_Underwater, @@ -626,6 +633,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Underwater, .palette = gBattleTerrainPalette_Underwater, }, + + [BATTLE_TERRAIN_WATER] = { .tileset = gBattleTerrainTiles_Water, .tilemap = gBattleTerrainTilemap_Water, @@ -633,6 +642,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Water, .palette = gBattleTerrainPalette_Water, }, + + [BATTLE_TERRAIN_POND] = { .tileset = gBattleTerrainTiles_PondWater, .tilemap = gBattleTerrainTilemap_PondWater, @@ -640,6 +651,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_PondWater, .palette = gBattleTerrainPalette_PondWater, }, + + [BATTLE_TERRAIN_MOUNTAIN] = { .tileset = gBattleTerrainTiles_Rock, .tilemap = gBattleTerrainTilemap_Rock, @@ -647,6 +660,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Rock, .palette = gBattleTerrainPalette_Rock, }, + + [BATTLE_TERRAIN_CAVE] = { .tileset = gBattleTerrainTiles_Cave, .tilemap = gBattleTerrainTilemap_Cave, @@ -654,6 +669,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Cave, .palette = gBattleTerrainPalette_Cave, }, + + [BATTLE_TERRAIN_BUILDING] = { .tileset = gBattleTerrainTiles_Building, .tilemap = gBattleTerrainTilemap_Building, @@ -661,7 +678,9 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Building, .palette = gBattleTerrainPalette_Building, }, - {// plain + + [BATTLE_TERRAIN_PLAIN] = + { .tileset = gBattleTerrainTiles_Building, .tilemap = gBattleTerrainTilemap_Building, .entryTileset = gBattleTerrainAnimTiles_Building, diff --git a/src/graphics.c b/src/graphics.c index 509f5bea99..fd5f24d49b 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -588,9 +588,9 @@ const u32 gBattleAnimSpritePal_Spark[] = INCBIN_U32("graphics/battle_anims/sprit const u32 gBattleAnimSpriteGfx_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz"); -const u32 gBattleAnimBackgroundImage_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.bin.lz"); +const u32 gBattleAnimBgImage_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.4bpp.lz"); +const u32 gBattleAnimBgPalette_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.bin.lz"); const u32 gMetalShineGfx[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz"); const u32 gMetalShinePalette[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz"); @@ -633,9 +633,9 @@ const u32 gBattleAnimSpritePal_FocusEnergy[] = INCBIN_U32("graphics/battle_anims const u32 gBattleAnimSpriteGfx_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz"); const u32 gBattleAnimSpritePal_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.bin.lz"); +const u32 gBattleAnimBgImage_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.4bpp.lz"); +const u32 gBattleAnimBgPalette_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.bin.lz"); const u32 gBattleAnimSpriteGfx_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz"); const u32 gBattleAnimSpritePal_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz"); @@ -783,12 +783,12 @@ const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_ const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.bin.lz"); +const u32 gBattleAnimBgPalette_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.gbapal.lz"); +const u32 gBattleAnimBgImage_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.4bpp.lz"); +const u32 gBattleAnimBgTilemap_ImpactOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_opponent.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_05[] = INCBIN_U32("graphics/battle_anims/backgrounds/05.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_06[] = INCBIN_U32("graphics/battle_anims/backgrounds/06.bin.lz"); +const u32 gBattleAnimBgTilemap_ImpactPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ImpactContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_contests.bin.lz"); const u32 gBattleAnimSpriteGfx_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz"); const u32 gBattleAnimSpritePal_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz"); @@ -824,40 +824,40 @@ const u32 gBattleAnimSpritePal_GrayOrb[] = INCBIN_U32("graphics/battle_anims/spr const u32 gBattleAnimSpritePal_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz"); const u32 gBattleAnimSpritePal_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.gbapal.lz"); +const u32 gBattleAnimBgImage_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.4bpp.lz"); +const u32 gBattleAnimBgPalette_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_18[] = INCBIN_U32("graphics/battle_anims/backgrounds/18.gbapal.lz"); +const u32 gBattleAnimBgPalette_Sky[] = INCBIN_U32("graphics/battle_anims/backgrounds/sky.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_08[] = INCBIN_U32("graphics/battle_anims/backgrounds/08.bin.lz"); +const u32 gBattleAnimBgTilemap_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.bin.lz"); +const u32 gBattleAnimBgTilemap_DrillContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill_contests.bin.lz"); -const u32 gBattleAnimBackgroundImage_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.bin.lz"); +const u32 gBattleAnimBgImage_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.4bpp.lz"); +const u32 gBattleAnimBgPalette_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.bin.lz"); -const u32 gBattleAnimBackgroundPalette_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.gbapal.lz"); +const u32 gBattleAnimBgTilemap_HighspeedOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_opponent.bin.lz"); +const u32 gBattleAnimBgPalette_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_22[] = INCBIN_U32("graphics/battle_anims/backgrounds/22.gbapal.lz"); +const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgrounds/bug.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_10[] = INCBIN_U32("graphics/battle_anims/backgrounds/10.bin.lz"); +const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz"); +const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz"); const u32 gUnknown_08C2A634[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.4bpp.lz"); const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz"); const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_13[] = INCBIN_U32("graphics/battle_anims/backgrounds/13.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_14[] = INCBIN_U32("graphics/battle_anims/backgrounds/14.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotineContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_contests.bin.lz"); -const u32 gBattleAnimBackgroundImage_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.gbapal.lz"); +const u32 gBattleAnimBgImage_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.4bpp.lz"); +const u32 gBattleAnimBgPalette_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.bin.lz"); +const u32 gBattleAnimBgImage_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.4bpp.lz"); +const u32 gBattleAnimBgPalette_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.bin.lz"); const u32 gBattleAnimSpriteGfx_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz"); const u32 gBattleAnimSpritePal_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz"); @@ -1015,9 +1015,9 @@ const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimSpriteGfx_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); const u32 gBattleAnimSpritePal_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.bin.lz"); +const u32 gBattleAnimBgImage_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.bin.lz"); const u32 gBattleAnimSpriteGfx_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz"); const u32 gBattleAnimSpritePal_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz"); @@ -1051,9 +1051,9 @@ const u32 gBattleAnimSpriteGfx_Gem3[] = INCBIN_U32("graphics/battle_anims/sprite const u32 gBattleAnimSpritePal_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.bin.lz"); +const u32 gBattleAnimBgImage_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.4bpp.lz"); +const u32 gBattleAnimBgPalette_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.gbapal.lz"); +const u32 gBattleAnimBgTilemap_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.bin.lz"); const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); @@ -1066,13 +1066,13 @@ const u32 gBattleInterface_BallStatusBarGfx[] = INCBIN_U32("graphics/battle_inte const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); -const u32 gBattleAnimBackgroundImage_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.bin.lz"); +const u32 gBattleAnimBgImage_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.bin.lz"); const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_24[] = INCBIN_U32("graphics/battle_anims/backgrounds/24.gbapal.lz"); +const u32 gBattleAnimBgPalette_Solarbeam[] = INCBIN_U32("graphics/battle_anims/backgrounds/solarbeam.gbapal.lz"); const u32 gUnknown_E6BC04[] = INCBIN_U32("graphics/unknown/unknown_E6BC04.bin.lz"); @@ -1081,9 +1081,9 @@ const u32 sBlenderCenterGfx[] = INCBIN_U32("graphics/berry_blender/center.8bpp.l const u32 gUnknown_08D91DB8[] = INCBIN_U32("graphics/berry_blender/outer.4bpp.lz"); const u32 gUnknown_08D927EC[] = INCBIN_U32("graphics/berry_blender/outer_map.bin.lz"); -const u32 gBattleAnimBackgroundPalette_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.bin.lz"); +const u32 gBattleAnimBgPalette_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.gbapal.lz"); +const u32 gBattleAnimBgImage_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.4bpp.lz"); +const u32 gBattleAnimBgTilemap_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.bin.lz"); const u32 gBattleAnimSpritePal_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz"); const u32 gBattleAnimSpriteGfx_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz"); @@ -1093,9 +1093,9 @@ const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/background const u32 gBattleAnimSpritePal_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz"); const u32 gBattleAnimSpriteGfx_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); const u32 gBattleAnimSpriteGfx_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz"); const u32 gBattleAnimSpritePal_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz"); @@ -1114,9 +1114,9 @@ const u32 gBattleAnimSpritePal_RedParticles[] = INCBIN_U32("graphics/battle_anim const u32 gBattleAnimSpriteGfx_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz"); const u32 gBattleAnimSpritePal_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.bin.lz"); +const u32 gBattleAnimBgImage_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.4bpp.lz"); +const u32 gBattleAnimBgPalette_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.bin.lz"); const u32 gBattleAnimSpriteGfx_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz"); const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz"); @@ -1124,8 +1124,8 @@ const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprite const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); +const u32 gBattleAnimBgImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); +const u32 gBattleAnimBgPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); const u32 gUnknown_08D95E00[] = INCBIN_U32("graphics/unknown/unknown_D95E00.bin.lz"); diff --git a/src/water.c b/src/water.c index 20bf2542d3..9aa08bf019 100644 --- a/src/water.c +++ b/src/water.c @@ -483,7 +483,7 @@ extern const struct SpriteTemplate gUnknown_08597388; void AnimTask_CreateRaindrops(u8 taskId) { u8 x, y; - + if (gTasks[taskId].data[0] == 0) { gTasks[taskId].data[1] = gBattleAnimArgs[0]; @@ -520,7 +520,7 @@ void sub_8107228(struct Sprite *sprite) void sub_8107260(struct Sprite *sprite) { u8 spriteId; - + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0]; @@ -559,7 +559,7 @@ void sub_8107380(struct Sprite *sprite) u8 otherSpriteId = sprite->data[5]; u8 timer = gSprites[otherSpriteId].data[4]; u16 trigIndex = gSprites[otherSpriteId].data[3]; - + sprite->data[0] = 1; AnimTranslateLinear(sprite); sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]); @@ -593,7 +593,7 @@ void sub_8107430(struct Sprite *sprite) void sub_810744C(struct Sprite *sprite) { s16 unkArg; - + InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) unkArg = -gBattleAnimArgs[2]; @@ -636,7 +636,7 @@ void sub_810756C(u8 taskId) u16 *palPtr1; u16 *palPtr2; u16 rgbBuffer; - + if (++gTasks[taskId].data[10] == 3) { gTasks[taskId].data[10] = 0; @@ -724,7 +724,7 @@ _081075DE:\n\ void sub_81075EC(struct Sprite *sprite) { u16 retArg; - + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 30; sprite->data[1] = sprite->pos1.x; @@ -781,7 +781,7 @@ void sub_81076F4(u8 taskId) void sub_8107730(struct Sprite *sprite) { u8 priority; - + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); sprite->pos2.y = -10; @@ -797,7 +797,7 @@ void sub_8107730(struct Sprite *sprite) { sprite->pos2.x = -10; sprite->subpriority = priority - 2; - } + } } else { @@ -876,7 +876,7 @@ void AnimTask_CreateSurfWave(u8 taskId) { struct BattleAnimBgData animBg; u8 taskId2; - + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); @@ -894,9 +894,9 @@ void AnimTask_CreateSurfWave(u8 taskId) { sub_80A6D60(&animBg, gUnknown_08D963A4, 1); } - AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBackgroundImage_Surf, animBg.tilesOffset); + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset); if (gBattleAnimArgs[0] == 0) - LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32); else LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32); taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1); @@ -1009,7 +1009,7 @@ _081079E0:\n\ _081079EA:\n\ mov r0, sp\n\ ldrb r0, [r0, 0x9]\n\ - ldr r1, =gBattleAnimBackgroundImage_Surf\n\ + ldr r1, =gBattleAnimBgImage_Surf\n\ mov r2, sp\n\ ldrh r2, [r2, 0xA]\n\ bl AnimLoadCompressedBgGfx\n\ @@ -1018,7 +1018,7 @@ _081079EA:\n\ ldrsh r0, [r0, r1]\n\ cmp r0, 0\n\ bne _08107A24\n\ - ldr r0, =gBattleAnimBackgroundPalette_Surf\n\ + ldr r0, =gBattleAnimBgPalette_Surf\n\ mov r1, sp\n\ ldrb r1, [r1, 0x8]\n\ lsls r1, 4\n\ @@ -1182,7 +1182,7 @@ void sub_8107B84(u8 taskId) s16 unkUse; u32 palOffset; u16 palNum; - + *BGptrX += gTasks[taskId].data[0]; *BGptrY += gTasks[taskId].data[1]; sub_80A6B30(&animBg); @@ -1412,7 +1412,7 @@ void sub_8107D58(u8 taskId) struct ScanlineEffectParams params; struct Task *task = &gTasks[taskId]; // u16 *scanlineBuffer; - + switch (task->data[0]) { case 0: @@ -1883,7 +1883,7 @@ void sub_8108034(struct Sprite *sprite) { s16 randData; s16 randData2; - + sprite->oam.tileNum += 8; InitSpritePosToAnimTarget(sprite, TRUE); randData = (Random2() & 0xFF) | 256; @@ -1911,7 +1911,7 @@ void sub_8108098(struct Sprite *sprite) void sub_81080E4(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[5] = gSprites[task->data[15]].pos1.y; task->data[1] = sub_8108384(); @@ -1922,7 +1922,7 @@ void sub_81080E4(u8 taskId) void sub_8108140(u8 taskId) { struct Task *task = &gTasks[taskId]; - + switch (task->data[0]) { case 0: @@ -2011,7 +2011,7 @@ u8 sub_8108384(void) u16 maxhp; u16 partyIndex; struct Pokemon *slot; - + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; @@ -2045,7 +2045,7 @@ void sub_8108408(struct Task *task, u8 taskId) u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; s16 increment = 4 - task->data[1]; u8 spriteId; - + if (increment <= 0) increment = 1; for (i = 0; i < 20; i += increment) @@ -2094,7 +2094,7 @@ void sub_810851C(struct Sprite *sprite) void sub_81085C8(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[1] = sub_8108384(); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -2116,7 +2116,7 @@ void sub_810862C(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 taskId2; - + switch (task->data[0]) { case 0: @@ -2159,7 +2159,7 @@ void sub_810871C(struct Task *task, u8 taskId) { u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6]; u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0); - + if (spriteId != MAX_SPRITES) { gSprites[spriteId].callback = sub_81087C0; @@ -2212,7 +2212,7 @@ void sub_810886C(struct Sprite *sprite) void sub_81088E4(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1; @@ -2229,7 +2229,7 @@ void sub_81088E4(u8 taskId) void sub_8108978(u8 taskId) { struct Task *task = &gTasks[taskId]; - + switch (task->data[0]) { case 0: @@ -2298,7 +2298,7 @@ void sub_8108978(u8 taskId) void sub_8108AC0(struct Task *task) { u8 spriteId; - + if (++task->data[2] > 1) { task->data[2] = 0; @@ -2334,7 +2334,7 @@ void sub_8108B2C(struct Sprite *sprite) void sub_8108B94(struct Sprite *sprite) { u16 i; - + if (TranslateAnimHorizontalArc(sprite)) { for (i = 0; i < NUM_TASKS; i++) @@ -2397,7 +2397,7 @@ void sub_8108CDC(struct Sprite *sprite) { int xDiff = sprite->data[1] - sprite->pos1.x; int yDiff = sprite->data[2] - sprite->pos1.y; - + sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3]; sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3]; if (++sprite->data[5] == sprite->data[4]) @@ -2420,7 +2420,7 @@ void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) s16 randomSomethingX = -xDiff + (Random2() % 10) - 5; s16 i; u8 spriteId; - + for (i = 0; i <= 0; i++) { spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130); From 621e5d22639a3228c4522de342afd8010ab71689 Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Thu, 4 Apr 2019 22:40:35 -0400 Subject: [PATCH 71/84] Start documenting field move scripts --- data/scripts/field_move_scripts.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index 024ffbf850..e9ef971229 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -10,7 +10,7 @@ Route120_EventScript_2906BB:: @ 82906BB Route121_EventScript_2906BB:: @ 82906BB Route123_EventScript_2906BB:: @ 82906BB lockall - goto_if_unset FLAG_BADGE01_GET, Route103_EventScript_290721 + goto_if_unset FLAG_BADGE01_GET, Route103_EventScript_CheckTreeCantCut checkpartymove MOVE_CUT compare VAR_RESULT, 6 goto_if_eq Route103_EventScript_290721 @@ -45,7 +45,7 @@ Route103_Movement_29071F: @ 829071F cut_tree step_end -Route103_EventScript_290721:: @ 8290721 +Route103_EventScript_CheckTreeCantCut:: @ 8290721 msgbox Route103_Text_29077D, MSGBOX_DEFAULT releaseall end From 4a09a5da330cfb855989ed5390efaef219d73ecc Mon Sep 17 00:00:00 2001 From: Fontbane Date: Thu, 4 Apr 2019 23:26:53 -0400 Subject: [PATCH 72/84] Doc field move scripts completely, use fldeff constants for dofieldeffect Fix labels Fix labels again Delete extra boulder scripts Now it should build fine --- .../scripts.inc | 28 +- data/maps/BirthIsland_Exterior/scripts.inc | 4 +- .../EverGrandeCity_HallOfFame/scripts.inc | 4 +- data/maps/FieryPath/map.json | 12 +- data/maps/GraniteCave_B2F/map.json | 14 +- data/maps/LilycoveCity/scripts.inc | 4 +- data/maps/MagmaHideout_1F/map.json | 6 +- data/maps/MagmaHideout_4F/scripts.inc | 4 +- data/maps/MirageTower_3F/map.json | 4 +- data/maps/MirageTower_4F/map.json | 2 +- data/maps/PetalburgWoods/map.json | 4 +- data/maps/Route103/map.json | 4 +- data/maps/Route104/map.json | 2 +- .../Route110_TrickHouseEntrance/scripts.inc | 4 +- data/maps/Route110_TrickHousePuzzle1/map.json | 22 +- data/maps/Route110_TrickHousePuzzle3/map.json | 4 +- data/maps/Route110_TrickHousePuzzle4/map.json | 20 +- data/maps/Route111/map.json | 6 +- data/maps/Route114/map.json | 10 +- data/maps/Route115/map.json | 2 +- data/maps/Route116/map.json | 10 +- data/maps/Route117/map.json | 2 +- data/maps/Route118/map.json | 2 +- data/maps/Route120/map.json | 6 +- data/maps/Route120/scripts.inc | 4 +- data/maps/Route121/map.json | 6 +- data/maps/Route123/map.json | 6 +- data/maps/Route128/scripts.inc | 8 +- data/maps/RusturfTunnel/map.json | 4 +- data/maps/SafariZone_North/map.json | 12 +- data/maps/SafariZone_Northeast/map.json | 10 +- data/maps/SeafloorCavern_Room1/map.json | 6 +- data/maps/SeafloorCavern_Room2/map.json | 16 +- data/maps/SeafloorCavern_Room3/map.json | 14 +- data/maps/SeafloorCavern_Room5/map.json | 12 +- data/maps/SeafloorCavern_Room8/map.json | 24 +- data/maps/SeafloorCavern_Room9/scripts.inc | 4 +- data/maps/ShoalCave_LowTideLowerRoom/map.json | 2 +- data/maps/VictoryRoad_B1F/map.json | 28 +- data/scripts/field_move_scripts.inc | 240 ++++++++---------- data/scripts/secret_base.inc | 8 +- include/event_scripts.h | 6 +- src/fldeff_cut.c | 4 +- src/fldeff_rocksmash.c | 2 +- src/fldeff_strength.c | 2 +- src/fldeff_sweetscent.c | 2 +- 46 files changed, 284 insertions(+), 316 deletions(-) diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc index 1c517735ee..2d6f7ee77d 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc @@ -42,11 +42,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 setfieldeffectargument 0, 10 setfieldeffectargument 1, 10 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE specialvar VAR_RESULT, FoundAbandonedShipRoom4Key compare VAR_RESULT, 0 call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DD3 - waitfieldeffect 54 + waitfieldeffect FLDEFF_SPARKLE delay 10 end @@ -60,7 +60,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D delay 20 compare VAR_RESULT, 0 call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DB3 - waitfieldeffect 54 + waitfieldeffect FLDEFF_SPARKLE delay 10 end @@ -72,15 +72,15 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33 setfieldeffectargument 0, 8 setfieldeffectargument 1, 5 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE setfieldeffectargument 0, 11 setfieldeffectargument 1, 3 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE specialvar VAR_RESULT, FoundAbandonedShipRoom6Key compare VAR_RESULT, 0 call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DE3 - waitfieldeffect 54 + waitfieldeffect FLDEFF_SPARKLE delay 10 end @@ -89,19 +89,19 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B setfieldeffectargument 0, 16 setfieldeffectargument 1, 3 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE setfieldeffectargument 0, 25 setfieldeffectargument 1, 2 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE setfieldeffectargument 0, 24 setfieldeffectargument 1, 6 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE specialvar VAR_RESULT, FoundAbandonedShipRoom2Key compare VAR_RESULT, 0 call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DC3 - waitfieldeffect 54 + waitfieldeffect FLDEFF_SPARKLE delay 10 end @@ -112,28 +112,28 @@ AbandonedShip_HiddenFloorRooms_EventScript_238DB3:: @ 8238DB3 setfieldeffectargument 0, 42 setfieldeffectargument 1, 10 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE return AbandonedShip_HiddenFloorRooms_EventScript_238DC3:: @ 8238DC3 setfieldeffectargument 0, 20 setfieldeffectargument 1, 5 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE return AbandonedShip_HiddenFloorRooms_EventScript_238DD3:: @ 8238DD3 setfieldeffectargument 0, 1 setfieldeffectargument 1, 12 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE return AbandonedShip_HiddenFloorRooms_EventScript_238DE3:: @ 8238DE3 setfieldeffectargument 0, 1 setfieldeffectargument 1, 2 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE return AbandonedShip_HiddenFloorRooms_EventScript_238DF3:: @ 8238DF3 diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index 594790ff3f..4b5a8ef36b 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -68,9 +68,9 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 setfieldeffectargument 0, 1 setfieldeffectargument 1, 58 setfieldeffectargument 2, 26 - dofieldeffect 65 + dofieldeffect FLDEFF_65 playbgm MUS_RG_DEOEYE, 0 - waitfieldeffect 65 + waitfieldeffect FLDEFF_65 addobject 2 applymovement 2, BirthIsland_Exterior_Movement_268054 waitmovement 0 diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index f61547c148..343614d852 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -38,8 +38,8 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp waitmovement 0 delay 20 - dofieldeffect 62 - waitfieldeffect 62 + dofieldeffect FLDEFF_HALL_OF_FAME_RECORD + waitfieldeffect FLDEFF_HALL_OF_FAME_RECORD delay 40 setvar VAR_TEMP_1, 1 call EverGrandeCity_HallOfFame_EventScript_2717C1 diff --git a/data/maps/FieryPath/map.json b/data/maps/FieryPath/map.json index 9bb09fe5ac..70d1a2cfdb 100644 --- a/data/maps/FieryPath/map.json +++ b/data/maps/FieryPath/map.json @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { diff --git a/data/maps/GraniteCave_B2F/map.json b/data/maps/GraniteCave_B2F/map.json index 73a13d6d23..72e4030465 100644 --- a/data/maps/GraniteCave_B2F/map.json +++ b/data/maps/GraniteCave_B2F/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" } ], diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 7f4c9e3fdb..09fb56cfdf 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -391,10 +391,10 @@ LilycoveCity_EventScript_1E3006:: @ 81E3006 waitmovement 0 delay 50 setfieldeffectargument 0, 1 - dofieldeffect 30 + dofieldeffect FLDEFF_NPCFLY_OUT delay 15 removeobject VAR_LAST_TALKED - waitfieldeffect 30 + waitfieldeffect FLDEFF_NPCFLY_OUT savebgm MUS_DUMMY fadedefaultbgm setflag FLAG_MET_RIVAL_LILYCOVE diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json index 2bbcf77a0d..350c52b4f4 100644 --- a/data/maps/MagmaHideout_1F/map.json +++ b/data/maps/MagmaHideout_1F/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" } ], diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc index 77c339b116..e6464a7f94 100644 --- a/data/maps/MagmaHideout_4F/scripts.inc +++ b/data/maps/MagmaHideout_4F/scripts.inc @@ -12,8 +12,8 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 setfieldeffectargument 0, 18 setfieldeffectargument 1, 42 setfieldeffectargument 2, 0 - dofieldeffect 54 - waitfieldeffect 54 + dofieldeffect FLDEFF_SPARKLE + waitfieldeffect FLDEFF_SPARKLE setvar VAR_RESULT, 1 playfanfare MUS_ME_TAMA playse SE_TAMA diff --git a/data/maps/MirageTower_3F/map.json b/data/maps/MirageTower_3F/map.json index a653c6e525..c24e2a006d 100644 --- a/data/maps/MirageTower_3F/map.json +++ b/data/maps/MirageTower_3F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MirageTower_3F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MirageTower_3F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" } ], diff --git a/data/maps/MirageTower_4F/map.json b/data/maps/MirageTower_4F/map.json index d6b69a14c0..45e5fa62bd 100644 --- a/data/maps/MirageTower_4F/map.json +++ b/data/maps/MirageTower_4F/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MirageTower_4F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" } ], diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json index 6d1bc22a57..7e7de784ac 100644 --- a/data/maps/PetalburgWoods/map.json +++ b/data/maps/PetalburgWoods/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json index 91004d1abc..bf207ec2fb 100644 --- a/data/maps/Route103/map.json +++ b/data/maps/Route103/map.json @@ -204,7 +204,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -217,7 +217,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json index 7bfe6e1642..d2c7cc1463 100644 --- a/data/maps/Route104/map.json +++ b/data/maps/Route104/map.json @@ -417,7 +417,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 46610937e7..aae615a62d 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -759,8 +759,8 @@ Route110_TrickHouseEntrance_EventScript_26A459:: @ 826A459 setfieldeffectargument 0, VAR_0x8004 setfieldeffectargument 1, VAR_0x8005 setfieldeffectargument 2, VAR_0x8006 - dofieldeffect 54 - waitfieldeffect 54 + dofieldeffect FLDEFF_SPARKLE + waitfieldeffect FLDEFF_SPARKLE delay 10 return diff --git a/data/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json index c6609d103e..18dc100272 100644 --- a/data/maps/Route110_TrickHousePuzzle1/map.json +++ b/data/maps/Route110_TrickHousePuzzle1/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_17" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_16" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_15" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_19" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_18" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_1B" }, { @@ -193,7 +193,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_1C" }, { @@ -206,7 +206,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_1E" } ], diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json index e695807936..a37498fd29 100644 --- a/data/maps/Route110_TrickHousePuzzle3/map.json +++ b/data/maps/Route110_TrickHousePuzzle3/map.json @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" } ], diff --git a/data/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json index 47238a559e..f77fa9b22d 100644 --- a/data/maps/Route110_TrickHousePuzzle4/map.json +++ b/data/maps/Route110_TrickHousePuzzle4/map.json @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_18" }, { @@ -180,7 +180,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_19" }, { @@ -193,7 +193,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1A" } ], diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index d3428f8c60..ef7e29999a 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -222,7 +222,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -235,7 +235,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { @@ -378,7 +378,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/Route114/map.json b/data/maps/Route114/map.json index 08f2996d2c..1aee2d422c 100644 --- a/data/maps/Route114/map.json +++ b/data/maps/Route114/map.json @@ -165,7 +165,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -256,7 +256,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { @@ -269,7 +269,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { @@ -282,7 +282,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { @@ -295,7 +295,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json index 484699ec63..53ce80ce75 100644 --- a/data/maps/Route115/map.json +++ b/data/maps/Route115/map.json @@ -217,7 +217,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json index 0745af08c2..8a369e4079 100644 --- a/data/maps/Route116/map.json +++ b/data/maps/Route116/map.json @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { @@ -204,7 +204,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { @@ -360,7 +360,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_15" }, { diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json index efaad28022..b29b586393 100644 --- a/data/maps/Route117/map.json +++ b/data/maps/Route117/map.json @@ -217,7 +217,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json index 0a3fee2101..e7737bf1e0 100644 --- a/data/maps/Route118/map.json +++ b/data/maps/Route118/map.json @@ -183,7 +183,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json index 1bdbd0bca3..fccf5c88ed 100644 --- a/data/maps/Route120/map.json +++ b/data/maps/Route120/map.json @@ -295,7 +295,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -438,7 +438,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { @@ -451,7 +451,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index 40c9ee09ad..b484b064dd 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -245,10 +245,10 @@ Route120_EventScript_1F572C:: @ 81F572C waitmovement 0 delay 50 setfieldeffectargument 0, 1 - dofieldeffect 30 + dofieldeffect FLDEFF_NPCFLY_OUT delay 15 removeobject 31 - waitfieldeffect 30 + waitfieldeffect FLDEFF_NPCFLY_OUT setmetatile 13, 15, 663, 0 setmetatile 12, 16, 671, 0 setmetatile 12, 17, 161, 0 diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json index f1152b4653..9382ab3751 100644 --- a/data/maps/Route121/map.json +++ b/data/maps/Route121/map.json @@ -222,7 +222,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -235,7 +235,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -313,7 +313,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json index 1e562420d2..c13d17a0ce 100644 --- a/data/maps/Route123/map.json +++ b/data/maps/Route123/map.json @@ -256,7 +256,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -269,7 +269,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -282,7 +282,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index 84091ac3ad..d06abe2972 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -48,8 +48,8 @@ Route128_EventScript_1F6B57:: @ 81F6B57 removeobject 4 delay 100 setfieldeffectargument 0, 1 - dofieldeffect 30 - waitfieldeffect 30 + dofieldeffect FLDEFF_NPCFLY_OUT + waitfieldeffect FLDEFF_NPCFLY_OUT addobject 3 applymovement 3, Route128_Movement_1F6C87 waitmovement 0 @@ -69,10 +69,10 @@ Route128_EventScript_1F6B57:: @ 81F6B57 waitmovement 0 delay 50 setfieldeffectargument 0, 1 - dofieldeffect 30 + dofieldeffect FLDEFF_NPCFLY_OUT delay 15 removeobject 3 - waitfieldeffect 30 + waitfieldeffect FLDEFF_NPCFLY_OUT clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_ROUTE128_STATE, 2 releaseall diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json index 9fc3787292..bd5c8206d5 100644 --- a/data/maps/RusturfTunnel/map.json +++ b/data/maps/RusturfTunnel/map.json @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2" }, { diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json index 967e55f3ec..0dafeb1801 100644 --- a/data/maps/SafariZone_North/map.json +++ b/data/maps/SafariZone_North/map.json @@ -66,7 +66,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { @@ -92,7 +92,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { @@ -105,7 +105,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { @@ -118,7 +118,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -131,7 +131,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json index 94c2c268f4..798563263a 100644 --- a/data/maps/SafariZone_Northeast/map.json +++ b/data/maps/SafariZone_Northeast/map.json @@ -61,7 +61,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -87,7 +87,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -113,7 +113,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { @@ -126,7 +126,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { diff --git a/data/maps/SeafloorCavern_Room1/map.json b/data/maps/SeafloorCavern_Room1/map.json index bcac092567..88db72b4ab 100644 --- a/data/maps/SeafloorCavern_Room1/map.json +++ b/data/maps/SeafloorCavern_Room1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room1_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room1_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room1_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/SeafloorCavern_Room2/map.json b/data/maps/SeafloorCavern_Room2/map.json index 3e5d6b1271..f402b50d08 100644 --- a/data/maps/SeafloorCavern_Room2/map.json +++ b/data/maps/SeafloorCavern_Room2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_18" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" } ], diff --git a/data/maps/SeafloorCavern_Room3/map.json b/data/maps/SeafloorCavern_Room3/map.json index c7a90b42dc..2a33c44cf3 100644 --- a/data/maps/SeafloorCavern_Room3/map.json +++ b/data/maps/SeafloorCavern_Room3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_18" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_19" }, { diff --git a/data/maps/SeafloorCavern_Room5/map.json b/data/maps/SeafloorCavern_Room5/map.json index 975fc6a988..b9c85c9bf1 100644 --- a/data/maps/SeafloorCavern_Room5/map.json +++ b/data/maps/SeafloorCavern_Room5/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" } ], diff --git a/data/maps/SeafloorCavern_Room8/map.json b/data/maps/SeafloorCavern_Room8/map.json index 88ea40e3af..c1d3b6cc24 100644 --- a/data/maps/SeafloorCavern_Room8/map.json +++ b/data/maps/SeafloorCavern_Room8/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_18" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_19" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1A" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1B" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1C" } ], diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 4c630a1d4a..b5e5034e72 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -40,8 +40,8 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setfieldeffectargument 0, 16 setfieldeffectargument 1, 42 setfieldeffectargument 2, 0 - dofieldeffect 54 - waitfieldeffect 54 + dofieldeffect FLDEFF_SPARKLE + waitfieldeffect FLDEFF_SPARKLE closemessage setvar VAR_RESULT, 0 playfanfare MUS_ME_TAMA diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.json b/data/maps/ShoalCave_LowTideLowerRoom/map.json index 92f0fd11a0..fad5ddc003 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/map.json +++ b/data/maps/ShoalCave_LowTideLowerRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideLowerRoom_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json index 74bd3dbf8e..b8f00f4fbd 100644 --- a/data/maps/VictoryRoad_B1F/map.json +++ b/data/maps/VictoryRoad_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1E" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1A" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1B" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1C" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1D" }, { @@ -180,7 +180,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1F" }, { @@ -232,7 +232,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index e9ef971229..fa64783b5b 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -1,221 +1,189 @@ -PetalburgWoods_EventScript_2906BB:: @ 82906BB -Route103_EventScript_2906BB:: @ 82906BB -Route104_EventScript_2906BB:: @ 82906BB -Route110_TrickHousePuzzle1_EventScript_2906BB:: @ 82906BB -Route111_EventScript_2906BB:: @ 82906BB -Route116_EventScript_2906BB:: @ 82906BB -Route117_EventScript_2906BB:: @ 82906BB -Route118_EventScript_2906BB:: @ 82906BB -Route120_EventScript_2906BB:: @ 82906BB -Route121_EventScript_2906BB:: @ 82906BB -Route123_EventScript_2906BB:: @ 82906BB + +EventScript_CutTree:: @ 82906BB lockall - goto_if_unset FLAG_BADGE01_GET, Route103_EventScript_CheckTreeCantCut + goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut checkpartymove MOVE_CUT compare VAR_RESULT, 6 - goto_if_eq Route103_EventScript_290721 + goto_if_eq EventScript_CheckTreeCantCut setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT buffermovename 1, MOVE_CUT - msgbox Route103_Text_29072E, MSGBOX_YESNO + msgbox Text_WantToCut, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq Route103_EventScript_29072B - msgbox Route103_Text_290771, MSGBOX_DEFAULT + goto_if_eq EventScript_CancelCut + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage - dofieldeffect 2 + dofieldeffect FLDEFF_USE_CUT_ON_TREE waitstate - goto Route103_EventScript_290710 + goto EventScript_CutTreeDown end -Route103_EventScript_290705:: @ 8290705 +EventScript_FldEffCut:: @ 8290705 lockall - dofieldeffect 2 + dofieldeffect FLDEFF_USE_CUT_ON_TREE waitstate - goto Route103_EventScript_290710 + goto EventScript_CutTreeDown end -Route103_EventScript_290710:: @ 8290710 - applymovement VAR_LAST_TALKED, Route103_Movement_29071F +EventScript_CutTreeDown:: @ 8290710 + applymovement VAR_LAST_TALKED, Movement_CutTreeDown waitmovement 0 removeobject VAR_LAST_TALKED releaseall end -Route103_Movement_29071F: @ 829071F +Movement_CutTreeDown: @ 829071F cut_tree step_end -Route103_EventScript_CheckTreeCantCut:: @ 8290721 - msgbox Route103_Text_29077D, MSGBOX_DEFAULT +EventScript_CheckTreeCantCut:: @ 8290721 + msgbox Text_CantCut, MSGBOX_DEFAULT releaseall end -Route103_EventScript_29072B:: @ 829072B +EventScript_CancelCut:: @ 829072B closemessage releaseall end -Route103_Text_29072E: @ 829072E +Text_WantToCut: @ 829072E .string "This tree looks like it can be\n" .string "CUT down!\p" .string "Would you like to CUT it?$" -Route103_Text_290771: @ 8290771 -Route111_Text_290771: @ 8290771 +Text_MonUsedHM: @ 8290771 .string "{STR_VAR_1} used {STR_VAR_2}!$" -Route103_Text_29077D: @ 829077D +Text_CantCut: @ 829077D .string "This tree looks like it can be\n" .string "CUT down!$" -GraniteCave_B2F_EventScript_2907A6:: @ 82907A6 -MirageTower_3F_EventScript_2907A6:: @ 82907A6 -MirageTower_4F_EventScript_2907A6:: @ 82907A6 -Route110_TrickHousePuzzle3_EventScript_2907A6:: @ 82907A6 -Route111_EventScript_2907A6:: @ 82907A6 -Route114_EventScript_2907A6:: @ 82907A6 -Route115_EventScript_2907A6:: @ 82907A6 -RusturfTunnel_EventScript_2907A6:: @ 82907A6 -SafariZone_North_EventScript_2907A6:: @ 82907A6 -SafariZone_Northeast_EventScript_2907A6:: @ 82907A6 -SeafloorCavern_Room1_EventScript_2907A6:: @ 82907A6 -SeafloorCavern_Room2_EventScript_2907A6:: @ 82907A6 -SeafloorCavern_Room5_EventScript_2907A6:: @ 82907A6 -VictoryRoad_B1F_EventScript_2907A6:: @ 82907A6 +EventScript_RockSmash:: @ 82907A6 lockall - goto_if_unset FLAG_BADGE03_GET, Route111_EventScript_29082D + goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock checkpartymove MOVE_ROCK_SMASH compare VAR_RESULT, 6 - goto_if_eq Route111_EventScript_29082D + goto_if_eq EventScript_CantSmashRock setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT buffermovename 1, MOVE_ROCK_SMASH - msgbox Route111_Text_29083A, MSGBOX_YESNO + msgbox Text_WantToSmash, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_290837 - msgbox Route111_Text_290771, MSGBOX_DEFAULT + goto_if_eq EventScript_CancelSmash + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage - dofieldeffect 37 + dofieldeffect FLDEFF_USE_ROCK_SMASH waitstate - goto Route111_EventScript_2907FB + goto EventScript_RockSmash end -Route111_EventScript_2907F0:: @ 82907F0 +EventScript_FldEffRockSmash:: @ 82907F0 lockall - dofieldeffect 37 + dofieldeffect FLDEFF_USE_ROCK_SMASH waitstate - goto Route111_EventScript_2907FB + goto EventScript_RockSmash end -Route111_EventScript_2907FB:: @ 82907FB - applymovement VAR_LAST_TALKED, Route111_Movement_29082B +EventScript_SmashRock:: @ 82907FB + applymovement VAR_LAST_TALKED, Movement_SmashRock waitmovement 0 removeobject VAR_LAST_TALKED specialvar VAR_RESULT, TryUpdateRusturfTunnelState compare VAR_RESULT, 1 - goto_if_eq Route111_EventScript_290829 + goto_if_eq EventScript_EndSmash special RockSmashWildEncounter compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_290829 + goto_if_eq EventScript_EndSmash waitstate releaseall end -Route111_EventScript_290829:: @ 8290829 +EventScript_EndSmash:: @ 8290829 releaseall end -Route111_Movement_29082B: @ 829082B +Movement_SmashRock: @ 829082B rock_smash_break step_end -Route111_EventScript_29082D:: @ 829082D - msgbox Route111_Text_29087F, MSGBOX_DEFAULT +EventScript_CantSmashRock:: @ 829082D + msgbox Text_CantSmash, MSGBOX_DEFAULT releaseall end -Route111_EventScript_290837:: @ 8290837 +EventScript_CancelSmash:: @ 8290837 closemessage releaseall end -Route111_Text_29083A: @ 829083A +Text_WantToSmash: @ 829083A .string "This rock appears to be breakable.\n" .string "Would you like to use ROCK SMASH?$" -Route111_Text_29087F: @ 829087F +Text_CantSmash: @ 829087F .string "It's a rugged rock, but a POKéMON\n" .string "may be able to smash it.$" -FieryPath_EventScript_2908BA:: @ 82908BA -MagmaHideout_1F_EventScript_2908BA:: @ 82908BA -Route110_TrickHousePuzzle4_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room1_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room2_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room3_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room5_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room8_EventScript_2908BA:: @ 82908BA -ShoalCave_LowTideLowerRoom_EventScript_2908BA:: @ 82908BA -VictoryRoad_B1F_EventScript_2908BA:: @ 82908BA +EventScript_StrengthBoulder:: @ 82908BA lockall - goto_if_unset FLAG_BADGE04_GET, FieryPath_EventScript_290915 - goto_if_set FLAG_SYS_USE_STRENGTH, FieryPath_EventScript_29091F + goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength + goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder checkpartymove MOVE_STRENGTH compare VAR_RESULT, 6 - goto_if_eq FieryPath_EventScript_290915 + goto_if_eq EventScript_CantStrength setfieldeffectargument 0, VAR_RESULT - msgbox FieryPath_Text_29092C, MSGBOX_YESNO + msgbox Text_WantToStrength, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq FieryPath_EventScript_290929 + goto_if_eq EventScript_CancelStrength closemessage - dofieldeffect 40 + dofieldeffect FLDEFF_USE_STRENGTH waitstate - goto FieryPath_EventScript_290908 + goto EventScript_ActivateStrength end -FieryPath_EventScript_2908FD:: @ 82908FD +EventScript_FldEffStrength:: @ 82908FD lockall - dofieldeffect 40 + dofieldeffect FLDEFF_USE_STRENGTH waitstate - goto FieryPath_EventScript_290908 + goto EventScript_ActivateStrength end -FieryPath_EventScript_290908:: @ 8290908 +EventScript_ActivateStrength:: @ 8290908 setflag FLAG_SYS_USE_STRENGTH - msgbox FieryPath_Text_29098C, MSGBOX_DEFAULT + msgbox Text_MonUsedStrength, MSGBOX_DEFAULT releaseall end -FieryPath_EventScript_290915:: @ 8290915 - msgbox FieryPath_Text_2909D6, MSGBOX_DEFAULT +EventScript_CantStrength:: @ 8290915 + msgbox Text_CantStrength, MSGBOX_DEFAULT releaseall end -FieryPath_EventScript_29091F:: @ 829091F - msgbox FieryPath_Text_290A16, MSGBOX_DEFAULT +EventScript_CheckActivatedBoulder:: @ 829091F + msgbox Text_StrengthActivated, MSGBOX_DEFAULT releaseall end -FieryPath_EventScript_290929:: @ 8290929 +EventScript_CancelStrength:: @ 8290929 closemessage releaseall end -FieryPath_Text_29092C: @ 829092C +Text_WantToStrength: @ 829092C .string "It's a big boulder, but a POKéMON\n" .string "may be able to push it aside.\p" .string "Would you like to use STRENGTH?$" -FieryPath_Text_29098C: @ 829098C +Text_MonUsedStrength: @ 829098C .string "{STR_VAR_1} used STRENGTH!\p" .string "{STR_VAR_1}'s STRENGTH made it\n" .string "possible to move boulders around!$" -FieryPath_Text_2909D6: @ 82909D6 +Text_CantStrength: @ 82909D6 .string "It's a big boulder, but a POKéMON\n" .string "may be able to push it aside.$" -FieryPath_Text_290A16: @ 8290A16 +Text_StrengthActivated: @ 8290A16 .string "STRENGTH made it possible to move\n" .string "boulders around.$" @@ -223,59 +191,59 @@ EventScript_UseWaterfall:: @ 8290A49 lockall checkpartymove MOVE_WATERFALL compare VAR_RESULT, 6 - goto_if_eq EventScript_290A84 + goto_if_eq EventScript_CantWaterfall bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT - msgbox Text_290AC3, MSGBOX_YESNO + msgbox Text_WantToWaterfall, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq EventScript_290A8C - msgbox Text_290AFC, MSGBOX_DEFAULT - dofieldeffect 43 - goto EventScript_290A8C + goto_if_eq EventScript_EndWaterfall + msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT + dofieldeffect FLDEFF_USE_WATERFALL + goto EventScript_EndWaterfall EventScript_CannotUseWaterfall:: @ 8290A83 lockall -EventScript_290A84:: @ 8290A84 - msgbox Text_290A8E, MSGBOX_DEFAULT +EventScript_CantWaterfall:: @ 8290A84 + msgbox Text_CantWaterfall, MSGBOX_DEFAULT -EventScript_290A8C:: @ 8290A8C +EventScript_EndWaterfall:: @ 8290A8C releaseall end -Text_290A8E: @ 8290A8E +Text_CantWaterfall: @ 8290A8E .string "A wall of water is crashing down with\n" .string "a mighty roar.$" -Text_290AC3: @ 8290AC3 +Text_WantToWaterfall: @ 8290AC3 .string "It's a large waterfall.\n" .string "Would you like to use WATERFALL?$" -Text_290AFC: @ 8290AFC +Text_MonUsedWaterfall: @ 8290AFC .string "{STR_VAR_1} used WATERFALL.$" EventScript_UseDive:: @ 8290B0F lockall checkpartymove MOVE_DIVE compare VAR_RESULT, 6 - goto_if_eq EventScript_290B4E + goto_if_eq EventScript_CantDive bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT setfieldeffectargument 1, 1 - msgbox Text_290BE8, MSGBOX_YESNO + msgbox Text_WantToDive, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq EventScript_290B58 - msgbox Text_290C1A, MSGBOX_DEFAULT - dofieldeffect 44 - goto EventScript_290B58 + goto_if_eq EventScript_EndDive + msgbox Text_MonUsedDive, MSGBOX_DEFAULT + dofieldeffect FLDEFF_USE_DIVE + goto EventScript_EndDive end -EventScript_290B4E:: @ 8290B4E - msgbox Text_290BAA, MSGBOX_DEFAULT +EventScript_CantDive:: @ 8290B4E + msgbox Text_CantDive, MSGBOX_DEFAULT releaseall end -EventScript_290B58:: @ 8290B58 +EventScript_EndDive:: @ 8290B58 releaseall end @@ -283,50 +251,50 @@ EventScript_UseDiveUnderwater:: @ 8290B5A lockall checkpartymove MOVE_DIVE compare VAR_RESULT, 6 - goto_if_eq EventScript_290B99 + goto_if_eq EventScript_CantSurface bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT setfieldeffectargument 1, 1 - msgbox Text_290C6E, MSGBOX_YESNO + msgbox Text_WantToSurface, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq EventScript_290BA8 - msgbox Text_290C1A, MSGBOX_DEFAULT - dofieldeffect 44 - goto EventScript_290BA8 + goto_if_eq EventScript_EndSurface + msgbox Text_MonUsedDive, MSGBOX_DEFAULT + dofieldeffect FLDEFF_USE_DIVE + goto EventScript_EndSurface end -EventScript_290B99:: @ 8290B99 +EventScript_CantSurface:: @ 8290B99 lockall - msgbox Text_290C28, MSGBOX_DEFAULT - goto EventScript_290BA8 + msgbox Text_CantSurface, MSGBOX_DEFAULT + goto EventScript_EndSurface end -EventScript_290BA8:: @ 8290BA8 +EventScript_EndSurface:: @ 8290BA8 releaseall end -Text_290BAA: @ 8290BAA +Text_CantDive: @ 8290BAA .string "The sea is deep here. A POKéMON\n" .string "may be able to go underwater.$" -Text_290BE8: @ 8290BE8 +Text_WantToDive: @ 8290BE8 .string "The sea is deep here.\n" .string "Would you like to use DIVE?$" -Text_290C1A: @ 8290C1A +Text_MonUsedDive: @ 8290C1A .string "{STR_VAR_1} used DIVE.$" -Text_290C28: @ 8290C28 +Text_CantSurface: @ 8290C28 .string "Light is filtering down from above.\n" .string "A POKéMON may be able to surface.$" -Text_290C6E: @ 8290C6E +Text_WantToSurface: @ 8290C6E .string "Light is filtering down from above.\n" .string "Would you like to use DIVE?$" -EventScript_290CAE:: @ 8290CAE - msgbox Text_290CB7, MSGBOX_SIGN +EventScript_FailSweetScent:: @ 8290CAE + msgbox Text_FailSweetScent, MSGBOX_SIGN end -Text_290CB7: @ 8290CB7 +Text_FailSweetScent: @ 8290CB7 .string "Looks like there's nothing here…$" diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index a20469345d..81bd388f87 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -339,7 +339,7 @@ EventScript_275A50:: @ 8275A50 msgbox gText_23B704, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq EventScript_275CDE - msgbox Route103_Text_290771, MSGBOX_DEFAULT + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE waitstate @@ -371,7 +371,7 @@ EventScript_275AA9:: @ 8275AA9 msgbox Text_274779, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq EventScript_275CDE - msgbox Route103_Text_290771, MSGBOX_DEFAULT + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_TREE waitstate @@ -403,7 +403,7 @@ EventScript_275B02:: @ 8275B02 msgbox Text_274825, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq EventScript_275CDE - msgbox Route103_Text_290771, MSGBOX_DEFAULT + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB waitstate @@ -508,7 +508,7 @@ EventScript_275BE8:: @ 8275BE8 goto_if_eq EventScript_275CDE bufferpartymonnick 0, VAR_0x8004 buffermovename 1, MOVE_SECRET_POWER - msgbox Route103_Text_290771, MSGBOX_DEFAULT + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage closemessage compare VAR_0x8007, 1 diff --git a/include/event_scripts.h b/include/event_scripts.h index d35bf962d4..da96d29d83 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -381,10 +381,10 @@ extern const u8 SecretBase_RedCave1_Text_2758CC[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[]; //field effects -extern const u8 FieryPath_EventScript_2908FD[]; -extern const u8 EventScript_290CAE[]; +extern const u8 EventScript_FldEffStrength[]; +extern const u8 EventScript_FailSweetScent[]; extern const u8 EventScript_2926F8[]; -extern const u8 Route111_EventScript_2907F0[]; +extern const u8 EventScript_FldEffRockSmash[]; //player pc extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[]; diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 3da1a9217a..be655b86a8 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -23,7 +23,7 @@ extern struct MapPosition gPlayerFacingPosition; -extern const u8 Route103_EventScript_290705[]; +extern const u8 EventScript_FldEffCut[]; extern const u8 FarawayIsland_Interior_EventScript_267EDB[]; extern const u8 gFieldEffectPic_CutGrass[]; @@ -327,7 +327,7 @@ bool8 FldEff_UseCutOnGrass(void) static void FieldCallback_CutTree(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(Route103_EventScript_290705); + ScriptContext1_SetupScript(EventScript_FldEffCut); } bool8 FldEff_UseCutOnTree(void) diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index a9077f2ff9..18cebdf112 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -140,7 +140,7 @@ bool8 SetUpFieldMove_RockSmash(void) static void sub_81356C4(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(Route111_EventScript_2907F0); + ScriptContext1_SetupScript(EventScript_FldEffRockSmash); } bool8 FldEff_UseRockSmash(void) diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index c57ab8cdc6..47fc7061cb 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -30,7 +30,7 @@ bool8 SetUpFieldMove_Strength(void) static void FldEff_UseStrength(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(FieryPath_EventScript_2908FD); + ScriptContext1_SetupScript(EventScript_FldEffStrength); } bool8 sub_8145E2C(void) diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index a187353ff8..788310b5dd 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -93,7 +93,7 @@ static void FailSweetScentEncounter(u8 taskId) { CpuFastSet(gPaletteDecompressionBuffer, gPlttBufferUnfaded, 0x100); sub_80AC3E4(); - ScriptContext1_SetupScript(EventScript_290CAE); + ScriptContext1_SetupScript(EventScript_FailSweetScent); DestroyTask(taskId); } } From 6a14cd418e256e0a0c2569cf6da5c95a8cf04b74 Mon Sep 17 00:00:00 2001 From: Fontbane <36677462+Fontbane@users.noreply.github.com> Date: Fri, 5 Apr 2019 19:39:45 -0400 Subject: [PATCH 73/84] Match --- data/scripts/field_move_scripts.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index fa64783b5b..6eae552948 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -74,14 +74,14 @@ EventScript_RockSmash:: @ 82907A6 closemessage dofieldeffect FLDEFF_USE_ROCK_SMASH waitstate - goto EventScript_RockSmash + goto EventScript_SmashRock end EventScript_FldEffRockSmash:: @ 82907F0 lockall dofieldeffect FLDEFF_USE_ROCK_SMASH waitstate - goto EventScript_RockSmash + goto EventScript_SmashRock end EventScript_SmashRock:: @ 82907FB From fe12f2f4b360e68937e49af8672c8b1b1441223c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 6 Apr 2019 12:41:55 -0500 Subject: [PATCH 74/84] Document and cleanup some decoration code --- .../{unk_85a6bb0.pal => decoration_menu.pal} | 0 include/decoration.h | 74 +- include/decoration_inventory.h | 8 +- include/gba/types.h | 4 +- include/menu_helpers.h | 2 +- include/trader.h | 2 +- src/decoration.c | 1933 ++++++++--------- src/decoration_inventory.c | 45 +- src/menu_helpers.c | 14 +- src/player_pc.c | 4 +- src/secret_base.c | 4 +- src/trader.c | 10 +- 12 files changed, 1020 insertions(+), 1080 deletions(-) rename graphics/decorations/{unk_85a6bb0.pal => decoration_menu.pal} (100%) diff --git a/graphics/decorations/unk_85a6bb0.pal b/graphics/decorations/decoration_menu.pal similarity index 100% rename from graphics/decorations/unk_85a6bb0.pal rename to graphics/decorations/decoration_menu.pal diff --git a/include/decoration.h b/include/decoration.h index 0e6d6cfdd6..eed930356b 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -1,7 +1,8 @@ #ifndef GUARD_DECORATION_H #define GUARD_DECORATION_H -enum DecorPerm { +enum DecorationPermission +{ /* * The nomenclature here describes collision and placement permissions, in that order. */ @@ -9,13 +10,11 @@ enum DecorPerm { DECORPERM_PASS_FLOOR, DECORPERM_BEHIND_FLOOR, DECORPERM_NA_WALL, - DECORPERM_SPRITE + DECORPERM_SPRITE, }; -enum DecorShape { - /* - * Width-x-height - */ +enum DecorationShape +{ DECORSHAPE_1x1, DECORSHAPE_2x1, DECORSHAPE_3x1, // unused @@ -25,53 +24,52 @@ enum DecorShape { DECORSHAPE_1x3, // unused DECORSHAPE_2x4, DECORSHAPE_3x3, - DECORSHAPE_3x2 + DECORSHAPE_3x2, }; -enum DecorCat { - /* - * In which category you can find the decoration in the PC. - */ - /*0*/ DECORCAT_DESK, - /*1*/ DECORCAT_CHAIR, - /*2*/ DECORCAT_PLANT, - /*3*/ DECORCAT_ORNAMENT, - /*4*/ DECORCAT_MAT, - /*5*/ DECORCAT_POSTER, - /*6*/ DECORCAT_DOLL, - /*7*/ DECORCAT_CUSHION +enum DecorationCategory +{ + DECORCAT_DESK, + DECORCAT_CHAIR, + DECORCAT_PLANT, + DECORCAT_ORNAMENT, + DECORCAT_MAT, + DECORCAT_POSTER, + DECORCAT_DOLL, + DECORCAT_CUSHION, + DECORCAT_COUNT, }; struct Decoration { - /*0x00*/ u8 id; - /*0x01*/ u8 name[16]; - /*0x11*/ u8 permission; - /*0x12*/ u8 shape; - /*0x13*/ u8 category; - /*0x14*/ u16 price; - /*0x18*/ const u8 *description; - /*0x1c*/ const u16 *tiles; + u8 id; + u8 name[16]; + u8 permission; + u8 shape; + u8 category; + u16 price; + const u8 *description; + const u16 *tiles; }; -struct DecorPCPointers +struct DecorationPCContext { - /* 0x00 */ u8 *items; - /* 0x04 */ u8 *pos; - /* 0x08 */ u8 size; - /* 0x09 */ u8 isPlayerRoom; + u8 *items; + u8 *pos; + u8 size; + u8 isPlayerRoom; }; extern const struct Decoration gDecorations[]; -extern EWRAM_DATA u8 *gCurDecorInventoryItems; +extern EWRAM_DATA u8 *gCurDecorationItems; extern EWRAM_DATA u8 gCurDecorationIndex; -void sub_8126968(void); -void sub_8126AD8(u8 taskId); +void InitDecorationContextItems(void); +void DoSecretBaseDecorationMenu(u8 taskId); void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor); -void sub_8126B2C(u8 taskId); -void sub_8127208(u8 taskId); -void sub_8127250(u8 *dest, u8 decorCat); +void DoPlayerRoomDecorationMenu(u8 taskId); +void ShowDecorationCategoriesWindow(u8 taskId); +void CopyDecorationCategoryName(u8 *dest, u8 decorCat); bool8 IsSelectedDecorInThePC(void); u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag); diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h index 7539f72405..7362c2da20 100644 --- a/include/decoration_inventory.h +++ b/include/decoration_inventory.h @@ -11,13 +11,13 @@ extern struct DecorationInventory gDecorationInventories[]; void SetDecorationInventoriesPointers(void); void ClearDecorationInventories(void); -s8 GetFirstEmptyDecorSlot(u8 idx); +s8 GetFirstEmptyDecorSlot(u8 category); u8 CheckHasDecoration(u8); u8 DecorationAdd(u8); u8 DecorationCheckSpace(u8); s8 DecorationRemove(u8); -void CondenseDecorationCategoryN(u8); -u8 CountDecorationCategoryN(u8 idx); -u8 CountDecorations(void); +void CondenseDecorationsInCategory(u8 category); +u8 GetNumOwnedDecorationsInCategory(u8 category); +u8 GetNumOwnedDecorations(void); #endif // GUARD_DECORATION_INVENTORY_H diff --git a/include/gba/types.h b/include/gba/types.h index cb370c7854..9f25947037 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -107,8 +107,8 @@ struct OamData #define SPRITE_SIZE_16x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_V_RECTANGLE)) #define SPRITE_SIZE_32x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_V_RECTANGLE)) -#define SPRITE_SIZE(dim) (SPRITE_SIZE_##dim >> 2) -#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0xFF) +#define SPRITE_SIZE(dim) ((SPRITE_SIZE_##dim >> 2) & 0x03) +#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0x03) struct BgAffineSrcData { diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 63af4c731c..3b6c13172c 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -30,7 +30,7 @@ bool8 itemid_80BF6D8_mail_related(u16 itemId); bool8 sub_81221AC(void); bool8 sub_81221EC(void); void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount); -void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3); +void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems); void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4); void LoadListMenuArrowsGfx(void); void sub_8122344(u8 *spriteIds, u8 count); diff --git a/include/trader.h b/include/trader.h index c07ea81bd9..25d72bd3b4 100644 --- a/include/trader.h +++ b/include/trader.h @@ -6,7 +6,7 @@ #define GUARD_TRADER_H void sub_8133DA0(u8 taskId); -void sub_8133E1C(u8 taskId); +void ExitTraderMenu(u8 taskId); void TraderSetup(void); void Trader_ResetFlag(void); diff --git a/src/decoration.c b/src/decoration.c index 201fa74b1a..0f6dd082bb 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1,84 +1,83 @@ #include "global.h" -#include "constants/decorations.h" -#include "decompress.h" #include "alloc.h" -#include "text.h" -#include "string_util.h" -#include "international_string_util.h" -#include "script.h" -#include "task.h" -#include "main.h" -#include "palette.h" -#include "constants/songs.h" -#include "overworld.h" -#include "fieldmap.h" -#include "metatile_behavior.h" -#include "field_weather.h" -#include "field_player_avatar.h" -#include "field_camera.h" -#include "field_screen_effect.h" -#include "event_object_movement.h" -#include "list_menu.h" -#include "menu_helpers.h" -#include "menu.h" -#include "sound.h" -#include "event_scripts.h" -#include "event_data.h" -#include "constants/region_map_sections.h" -#include "player_pc.h" -#include "strings.h" -#include "tv.h" -#include "secret_base.h" -#include "tilesets.h" -#include "item_icon.h" -#include "trader.h" -#include "constants/event_objects.h" -#include "decoration_inventory.h" +#include "decompress.h" #include "decoration.h" +#include "decoration_inventory.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "event_scripts.h" +#include "field_camera.h" +#include "field_player_avatar.h" +#include "field_screen_effect.h" +#include "field_weather.h" +#include "fieldmap.h" #include "graphics.h" +#include "international_string_util.h" +#include "item_icon.h" +#include "list_menu.h" +#include "main.h" +#include "menu.h" +#include "menu_helpers.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "palette.h" +#include "player_pc.h" +#include "script.h" +#include "secret_base.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "tilesets.h" +#include "trader.h" +#include "tv.h" +#include "constants/decorations.h" +#include "constants/event_objects.h" +#include "constants/songs.h" +#include "constants/region_map_sections.h" -// Static type declarations +#define PLACE_DECORATION_SELECTOR_TAG 0xbe5 +#define PLACE_DECORATION_PLAYER_TAG 0x008 -#define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5 -#define OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG 0x008 - -struct DecorPCBuffer { +struct DecorationItemsMenu +{ struct ListMenuItem items[41]; u8 names[41][24]; - u8 unk_520; - u8 unk_521; - u8 unk_522; + u8 numMenuItems; + u8 maxShownItems; + u8 scrollIndicatorsTaskId; }; -struct PlaceDecorationGraphicsDataBuffer { - /*0x000; 0x0203a190*/ const struct Decoration *decoration; - /*0x004; 0x0203a194*/ u16 tiles[0x40]; - /*0x084; 0x0203a214*/ u8 image[0x800]; - /*0x884; 0x0203aa14*/ u16 palette[16]; +struct PlaceDecorationGraphicsDataBuffer +{ + const struct Decoration *decoration; + u16 tiles[0x40]; + u8 image[0x800]; + u16 palette[16]; }; -struct DecorRearrangementDataBuffer { +struct DecorRearrangementDataBuffer +{ u8 idx; u8 width; u8 height; u16 flagId; }; -// Static RAM declarations - -EWRAM_DATA u8 *gCurDecorInventoryItems = NULL; -EWRAM_DATA static u8 sSecretBasePCMenuCursorPos = 0; -EWRAM_DATA static u8 sCurDecorCatCount = 0; +EWRAM_DATA u8 *gCurDecorationItems = NULL; +EWRAM_DATA static u8 sDecorationActionsCursorPos = 0; +EWRAM_DATA static u8 sNumOwnedDecorationsInCurCategory = 0; EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {}; EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {}; -EWRAM_DATA static u16 sSecretBasePCSelectDecorLineNo = 0; -EWRAM_DATA static u16 sSecretBasePCSelectDecorPageNo = 0; +EWRAM_DATA static u16 sDecorationsCursorPos = 0; +EWRAM_DATA static u16 sDecorationsScrollOffset = 0; EWRAM_DATA u8 gCurDecorationIndex = 0; EWRAM_DATA static u8 sCurDecorationCategory = DECORCAT_DESK; EWRAM_DATA static u32 filler_0203a174[2] = {}; -EWRAM_DATA struct DecorPCPointers gUnknown_0203A17C = {}; -EWRAM_DATA static u8 sDecorMenuWindowIndices[4] = {}; -EWRAM_DATA struct DecorPCBuffer *sDecorPCBuffer = NULL; +EWRAM_DATA struct DecorationPCContext gDecorationContext = {}; +EWRAM_DATA static u8 sDecorMenuWindowIds[4] = {}; +EWRAM_DATA static struct DecorationItemsMenu *sDecorationItemsMenu = NULL; EWRAM_DATA struct PlaceDecorationGraphicsDataBuffer sPlaceDecorationGraphicsDataBuffer = {}; EWRAM_DATA static u16 sCurDecorMapX = 0; EWRAM_DATA static u16 sCurDecorMapY = 0; @@ -89,38 +88,36 @@ EWRAM_DATA static struct OamData sDecorSelectorOam = {}; EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {}; EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0; -// Static ROM declarations - -void sub_8126B80(u8 taskId); -void sub_8126C08(void); -void SecretBasePC_Decorate(u8 taskId); -void SecretBasePC_PutAway(u8 taskId); -void SecretBasePC_Toss(u8 taskId); -void sub_8126DA4(u8 taskId); -void SecretBasePC_Cancel(u8 taskId); -void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId); -void sub_8126DFC(u8 taskId); -void sub_8126E8C(u8 taskId); -void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed); -void sub_8127058(u8 *str, bool8 flag); -void sub_8127088(u8 taskId); -void sub_81270E8(u8 taskId); -void sub_8127180(u8 taskId); -void sub_812719C(u8 taskId); -void sub_81271CC(u8 taskId); -void sub_8127268(u8 taskId); -void sub_8127454(u8 *dest, u16 decorId); -void sub_8127480(s32 a0, bool8 flag, struct ListMenu *menu); +static void HandleDecorationActionsMenuInput(u8 taskId); +static void PrintCurMainMenuDescription(void); +static void DecorationMenuAction_Decorate(u8 taskId); +static void DecorationMenuAction_PutAway(u8 taskId); +static void DecorationMenuAction_Toss(u8 taskId); +static void DecorationMenuAction_Cancel(u8 taskId); +static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId); +static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId); +static void InitDecorationCategoriesWindow(u8 taskId); +static void PrintDecorationCategoryMenuItems(u8 taskId); +static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, bool8 disabled, u8 speed); +static void ColorMenuItemString(u8 *str, bool8 disabled); +static void HandleDecorationCategoriesMenuInput(u8 taskId); +static void SelectDecorationCategory(u8 taskId); +static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId); +static void ExitDecorationCategoriesMenu(u8 taskId); +static void ReturnToActionsMenuFromCategories(u8 taskId); +static void ExitTraderDecorationMenu(u8 taskId); +static void CopyDecorationMenuItemName(u8 *dest, u16 decoration); +static void DecorationItemsMenu_OnCursorMove(s32 itemIndex, bool8 flag, struct ListMenu *menu); void sub_81274A0(u8 a0, s32 a1, u8 a2); -void sub_8127620(u8 taskId); -void sub_812764C(u8 taskId); -void sub_8127744(u32 a0); -void sub_81277A8(void); +static void ShowDecorationItemsWindow(u8 taskId); +static void HandleDecorationItemsMenuInput(u8 taskId); +static void PrintDecorationItemDescription(u32 itemIndex); +static void RemoveDecorationItemsOtherWindows(void); bool8 sub_81277BC(u8 idx); bool8 sub_81277E8(u8 idx); -void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId); -void sub_812759C(u8 taskId); -void sub_8127718(u8 decorCat); +static void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId); +static void InitDecorationItemsWindow(u8 taskId); +static void ShowDecorationCategorySummaryWindow(u8 category); void sub_8127A30(u8 taskId); void sub_8127A8C(u8 taskId); void sub_8127F68(u8 taskId); @@ -168,13 +165,12 @@ void sub_812A3D4(u8 taskId); void sub_812A458(u8 taskId); void sub_812A478(u8 taskId); -// .rodata - #include "data/decoration/tiles.h" #include "data/decoration/description.h" #include "data/decoration/header.h" -const u8 *const sDecorCatNames[] = { +static const u8 *const sDecorationCategoryNames[] = +{ gText_Desk, gText_Chair, gText_Plant, @@ -185,36 +181,42 @@ const u8 *const sDecorCatNames[] = { gText_Cushion }; -const struct MenuAction sSecretBasePCMenuActions[] = { +static const struct MenuAction sDecorationMainMenuActions[] = +{ { - gText_Decorate, {.void_u8=SecretBasePC_Decorate} - }, { - gText_PutAway, {.void_u8=SecretBasePC_PutAway} - }, { - gText_Toss2, {.void_u8=SecretBasePC_Toss} - }, { - gText_Cancel, {.void_u8=SecretBasePC_Cancel} - } + .text = gText_Decorate, + .func = { .void_u8 = DecorationMenuAction_Decorate }, + }, + { + .text = gText_PutAway, + .func = { .void_u8 = DecorationMenuAction_PutAway }, + }, + { + .text = gText_Toss2, + .func = { .void_u8 = DecorationMenuAction_Toss }, + }, + { + .text = gText_Cancel, + .func = { .void_u8 = DecorationMenuAction_Cancel }, + }, }; -const u8 *const sSecretBasePCMenuItemDescriptions[] = { +static const u8 *const sSecretBasePCMenuItemDescriptions[] = +{ gText_PutOutSelectedDecorItem, gText_StoreChosenDecorInPC, gText_ThrowAwayUnwantedDecors, gText_GoBackPrevMenu }; -void (*const SecretBasePC_SelectedDecorActions[][2])(u8 taskId) = { - { - sub_8127F68, sub_8127A8C - }, { - sub_812A3D4, sub_8127A8C - }, { - sub_8133DA0, sub_8127A8C - } +static const TaskFunc sSecretBasePC_SelectedDecorationActions[][2] = +{ + { sub_8127F68, sub_8127A8C }, + { sub_812A3D4, sub_8127A8C }, + { sub_8133DA0, sub_8127A8C }, }; -const struct WindowTemplate gUnknown_085A6B90[4] = +static const struct WindowTemplate sDecorationWindowTemplates[4] = { { .bg = 0, @@ -254,12 +256,12 @@ const struct WindowTemplate gUnknown_085A6B90[4] = } }; -const u16 gUnknown_085A6BB0[] = INCBIN_U16("graphics/decorations/unk_85a6bb0.gbapal"); +static const u16 sDecorationMenuPalette[] = INCBIN_U16("graphics/decorations/decoration_menu.gbapal"); -const struct ListMenuTemplate gUnknown_085A6BD0 = +static const struct ListMenuTemplate sDecorationItemsListMenuTemplate = { .items = NULL, - .moveCursorFunc = sub_8127480, + .moveCursorFunc = DecorationItemsMenu_OnCursorMove, .itemPrintFunc = sub_81274A0, .totalItems = 0, .maxShowed = 0, @@ -280,118 +282,140 @@ const struct ListMenuTemplate gUnknown_085A6BD0 = #include "data/decoration/icon.h" #include "data/decoration/tilemaps.h" -const struct { +static const struct { u8 shape; u8 size; - u8 x; - u8 y; -} gUnknown_085A7250[] = { - {0, 1, 0x78, 0x4e}, - {1, 2, 0x80, 0x4e}, - {1, 3, 0x90, 0x56}, - {1, 3, 0x90, 0x46}, - {0, 2, 0x80, 0x46}, - {2, 2, 0x78, 0x46}, - {2, 3, 0x80, 0x56}, - {2, 3, 0x80, 0x36}, - {0, 3, 0x90, 0x46}, - {1, 3, 0x90, 0x46} + u8 cameraX; + u8 cameraY; +} sDecorationMovementInfo[] = +{ + [DECORSHAPE_1x1] = {SPRITE_SHAPE(16x16), SPRITE_SIZE(16x16), 120, 78}, + [DECORSHAPE_2x1] = {SPRITE_SHAPE(32x16), SPRITE_SIZE(32x16), 128, 78}, + [DECORSHAPE_3x1] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 86}, + [DECORSHAPE_4x2] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 70}, + [DECORSHAPE_2x2] = {SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), 128, 70}, + [DECORSHAPE_1x2] = {SPRITE_SHAPE(16x32), SPRITE_SIZE(16x32), 120, 70}, + [DECORSHAPE_1x3] = {SPRITE_SHAPE(32x64), SPRITE_SIZE(32x64), 128, 86}, + [DECORSHAPE_2x4] = {SPRITE_SHAPE(32x64), SPRITE_SIZE(32x64), 128, 54}, + [DECORSHAPE_3x3] = {SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), 144, 70}, + [DECORSHAPE_3x2] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 70}, }; -const union AnimCmd gUnknown_085A7278[] = { +static const union AnimCmd sDecorSelectorAnimCmd0[] = +{ ANIMCMD_FRAME(0, 0, FALSE, FALSE), ANIMCMD_END }; -const union AnimCmd *const sDecorSelectorAnims[] = { - gUnknown_085A7278 +static const union AnimCmd *const sDecorSelectorAnimCmds[] = { sDecorSelectorAnimCmd0 }; + +static const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = +{ + .data = (const u8 *)&sPlaceDecorationGraphicsDataBuffer.image, + .size = 0x800, }; -const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = { - (const u8 *)&sPlaceDecorationGraphicsDataBuffer.image, 0x800 -}; - -const struct SpriteTemplate sDecorSelectorSpriteTemplate = { +static const struct SpriteTemplate sDecorationSelectorSpriteTemplate = +{ 0xFFFF, - OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG, + PLACE_DECORATION_SELECTOR_TAG, &sDecorSelectorOam, - sDecorSelectorAnims, + sDecorSelectorAnimCmds, &sDecorSelectorSpriteFrameImages, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate sDecorWhilePlacingSpriteTemplate = { +const struct SpriteTemplate sDecorWhilePlacingSpriteTemplate = +{ 0x0000, 0x0000, &sDecorSelectorOam, - sDecorSelectorAnims, + sDecorSelectorAnimCmds, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpritePalette gUnknown_085A72BC = { - (const u16 *)&sPlaceDecorationGraphicsDataBuffer.palette, OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG +const struct SpritePalette gUnknown_085A72BC = +{ + .data = (const u16 *)&sPlaceDecorationGraphicsDataBuffer.palette, + .tag = PLACE_DECORATION_SELECTOR_TAG, }; -const struct YesNoFuncTable gUnknown_085A72C4 = { - sub_81289F0, - sub_8128FD8 +const struct YesNoFuncTable gUnknown_085A72C4 = +{ + .yesFunc = sub_81289F0, + .noFunc = sub_8128FD8, }; -const struct YesNoFuncTable gUnknown_085A72CC = { - sub_8128BA0, - sub_8128FD8 +const struct YesNoFuncTable gUnknown_085A72CC = +{ + .yesFunc = sub_8128BA0, + .noFunc = sub_8128FD8, }; -const struct YesNoFuncTable gUnknown_085A72D4[] = { +const struct YesNoFuncTable gUnknown_085A72D4[] = +{ { - sub_81283BC, - sub_8128414 - }, { - sub_8129BCC, - sub_8129BF8 + .yesFunc = sub_81283BC, + .noFunc = sub_8128414, + }, + { + .yesFunc = sub_8129BCC, + .noFunc = sub_8129BF8, } }; -const u8 gUnknown_085A72E4[] = { - 0x04, 0x04, 0x04, 0x04, 0x00, 0x03, 0x03, 0x00 +static const u8 sDecorationStandElevations[] = +{ + 4, 4, 4, 4, + 0, 3, 3, 0 }; -const u8 gUnknown_085A72EC[] = { - 0x04, 0x04, 0x04, 0x04, 0x00, 0x04, 0x03, 0x00 +static const u8 sDecorationSlideElevation[] = +{ + 4, 4, + 4, 4, + 0, 4, + 3, 0, }; const u16 gUnknown_085A72F4[] = { 0x04, 0x08, 0x10, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40, 0x20 }; -const u16 Unknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gbapal"); +const u16 gUnknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gbapal"); -const u16 Unknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal"); +const u16 gUnknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal"); -const struct YesNoFuncTable gUnknown_085A7348 = { - sub_812A1C0, - sub_8129B34 +const struct YesNoFuncTable gUnknown_085A7348 = +{ + .yesFunc = sub_812A1C0, + .noFunc = sub_8129B34, }; -const struct YesNoFuncTable gUnknown_085A7350 = { - sub_812A210, - sub_8129B34 +const struct YesNoFuncTable gUnknown_085A7350 = +{ + .yesFunc = sub_812A210, + .noFunc = sub_8129B34, }; -const u8 Unknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp"); +const u8 gUnknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp"); -const struct SpritePalette gUnknown_085A73D8 = { - Unknown_085A7308, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG +const struct SpritePalette gUnknown_085A73D8 = +{ + .data = gUnknown_085A7308, + .tag = PLACE_DECORATION_PLAYER_TAG, }; -const struct SpritePalette gUnknown_085A73E0 = { - Unknown_085A7328, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG +const struct SpritePalette gUnknown_085A73E0 = +{ + .data = gUnknown_085A7328, + .tag = PLACE_DECORATION_PLAYER_TAG, }; -const struct OamData Unknown_085A73E8 = +const struct OamData gUnknown_085A73E8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -405,164 +429,163 @@ const struct OamData Unknown_085A73E8 = .paletteNum = 0, }; -const union AnimCmd Unknown_085A73F0[] = { +const union AnimCmd gUnknown_085A73F0[] = +{ ANIMCMD_FRAME(0, 0, 0), ANIMCMD_END }; -const union AnimCmd *const Unknown_085A73F8[] = { - Unknown_085A73F0 +const union AnimCmd *const gUnknown_085A73F8[] = +{ + gUnknown_085A73F0, }; -const struct SpriteFrameImage Unknown_085A73FC = { - Unknown_085A7358, 0x80 +const struct SpriteFrameImage gUnknown_085A73FC = +{ + .data = gUnknown_085A7358, + .size = 0x80, }; -const struct SpriteTemplate gUnknown_085A7404 = { +const struct SpriteTemplate gUnknown_085A7404 = +{ 0xFFFF, - OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG, - &Unknown_085A73E8, - Unknown_085A73F8, - &Unknown_085A73FC, + PLACE_DECORATION_PLAYER_TAG, + &gUnknown_085A73E8, + gUnknown_085A73F8, + &gUnknown_085A73FC, gDummySpriteAffineAnimTable, sub_812A36C }; -const struct YesNoFuncTable gUnknown_085A741C = { - sub_812A478, - sub_8127A30 +const struct YesNoFuncTable gUnknown_085A741C = +{ + .yesFunc = sub_812A478, + .noFunc = sub_8127A30, }; -// .text -void sub_8126968(void) +void InitDecorationContextItems(void) { - if (sCurDecorationCategory < 8) + if (sCurDecorationCategory < DECORCAT_COUNT) + gCurDecorationItems = gDecorationInventories[sCurDecorationCategory].items; + + if (gDecorationContext.isPlayerRoom == FALSE) { - gCurDecorInventoryItems = gDecorationInventories[sCurDecorationCategory].items; + gDecorationContext.items = gSaveBlock1Ptr->secretBases[0].decorations; + gDecorationContext.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; } - if (gUnknown_0203A17C.isPlayerRoom == FALSE) + + if (gDecorationContext.isPlayerRoom == TRUE) { - gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; - } - if (gUnknown_0203A17C.isPlayerRoom == TRUE) - { - gUnknown_0203A17C.items = gSaveBlock1Ptr->playerRoomDecor; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->playerRoomDecorPos; + gDecorationContext.items = gSaveBlock1Ptr->playerRoomDecor; + gDecorationContext.pos = gSaveBlock1Ptr->playerRoomDecorPos; } } -u8 sub_81269D4(u8 idx) +static u8 AddDecorationWindow(u8 windowIndex) { - u8 *winidx; + u8 *windowId; struct WindowTemplate template; - winidx = &sDecorMenuWindowIndices[idx]; - if (idx == 0) + windowId = &sDecorMenuWindowIds[windowIndex]; + if (windowIndex == 0) { - template = gUnknown_085A6B90[0]; - template.width = GetMaxWidthInMenuTable(sSecretBasePCMenuActions, 4); + template = sDecorationWindowTemplates[0]; + template.width = GetMaxWidthInMenuTable(sDecorationMainMenuActions, ARRAY_COUNT(sDecorationMainMenuActions)); if (template.width > 18) - { template.width = 18; - } - *winidx = AddWindow(&template); + + *windowId = AddWindow(&template); } else { - *winidx = AddWindow(&gUnknown_085A6B90[idx]); + *windowId = AddWindow(&sDecorationWindowTemplates[windowIndex]); } - DrawStdFrameWithCustomTileAndPalette(*winidx, 0, 0x214, 0xe); + + DrawStdFrameWithCustomTileAndPalette(*windowId, FALSE, 0x214, 14); schedule_bg_copy_tilemap_to_vram(0); - return *winidx; + return *windowId; } -void sub_8126A58(u8 idx) +static void RemoveDecorationWindow(u8 windowIndex) { - ClearStdWindowAndFrameToTransparent(sDecorMenuWindowIndices[idx], FALSE); - ClearWindowTilemap(sDecorMenuWindowIndices[idx]); - RemoveWindow(sDecorMenuWindowIndices[idx]); + ClearStdWindowAndFrameToTransparent(sDecorMenuWindowIds[windowIndex], FALSE); + ClearWindowTilemap(sDecorMenuWindowIds[windowIndex]); + RemoveWindow(sDecorMenuWindowIds[windowIndex]); schedule_bg_copy_tilemap_to_vram(0); } -void sub_8126A88(void) +static void AddDecorationActionsWindow(void) { - u8 idx; - - idx = sub_81269D4(0); - PrintMenuTable(idx, 4, sSecretBasePCMenuActions); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(idx, 4, sSecretBasePCMenuCursorPos); + u8 windowId = AddDecorationWindow(0); + PrintMenuTable(windowId, 4, sDecorationMainMenuActions); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, 4, sDecorationActionsCursorPos); } -void sub_8126ABC(void) +static void InitDecorationActionsWindow(void) { - sSecretBasePCMenuCursorPos = 0; + sDecorationActionsCursorPos = 0; ScriptContext2_Enable(); - sub_8126A88(); - sub_8126C08(); + AddDecorationActionsWindow(); + PrintCurMainMenuDescription(); } -void sub_8126AD8(u8 taskId) +void DoSecretBaseDecorationMenu(u8 taskId) { - sub_8126ABC(); - gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; - gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations); - gUnknown_0203A17C.isPlayerRoom = FALSE; - gTasks[taskId].func = sub_8126B80; + InitDecorationActionsWindow(); + gDecorationContext.items = gSaveBlock1Ptr->secretBases[0].decorations; + gDecorationContext.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; + gDecorationContext.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations); + gDecorationContext.isPlayerRoom = FALSE; + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8126B2C(u8 taskId) +void DoPlayerRoomDecorationMenu(u8 taskId) { - sub_8126ABC(); - gUnknown_0203A17C.items = gSaveBlock1Ptr->playerRoomDecor; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->playerRoomDecorPos; - gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->playerRoomDecor); - gUnknown_0203A17C.isPlayerRoom = TRUE; - gTasks[taskId].func = sub_8126B80; + InitDecorationActionsWindow(); + gDecorationContext.items = gSaveBlock1Ptr->playerRoomDecor; + gDecorationContext.pos = gSaveBlock1Ptr->playerRoomDecorPos; + gDecorationContext.size = sizeof(gSaveBlock1Ptr->playerRoomDecor); + gDecorationContext.isPlayerRoom = TRUE; + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8126B80(u8 taskId) +static void HandleDecorationActionsMenuInput(u8 taskId) { - u8 menuPos; - if (!gPaletteFade.active) { - menuPos = Menu_GetCursorPos(); + s8 menuPos = Menu_GetCursorPos(); switch (Menu_ProcessInput()) { - default: - PlaySE(SE_SELECT); - sSecretBasePCMenuActions[sSecretBasePCMenuCursorPos].func.void_u8(taskId); - break; - case MENU_NOTHING_CHOSEN: - sSecretBasePCMenuCursorPos = Menu_GetCursorPos(); - if ((s8)menuPos != sSecretBasePCMenuCursorPos) - { - sub_8126C08(); - } - break; - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - SecretBasePC_Cancel(taskId); - break; + default: + PlaySE(SE_SELECT); + sDecorationMainMenuActions[sDecorationActionsCursorPos].func.void_u8(taskId); + break; + case MENU_NOTHING_CHOSEN: + sDecorationActionsCursorPos = Menu_GetCursorPos(); + if (menuPos != sDecorationActionsCursorPos) + PrintCurMainMenuDescription(); + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + DecorationMenuAction_Cancel(taskId); + break; } } } -void sub_8126C08(void) +static void PrintCurMainMenuDescription(void) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sSecretBasePCMenuCursorPos], 0, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sDecorationActionsCursorPos], 0, 0, 2, 1, 3); } -void SecretBasePC_Decorate(u8 taskId) +static void DecorationMenuAction_Decorate(u8 taskId) { - if (CountDecorations() == 0) + if (GetNumOwnedDecorations() == 0) { StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { @@ -572,16 +595,16 @@ void SecretBasePC_Decorate(u8 taskId) } } -void SecretBasePC_PutAway(u8 taskId) +static void DecorationMenuAction_PutAway(u8 taskId) { if (!sub_81299AC(taskId)) { StringExpandPlaceholders(gStringVar4, gText_NoDecorationsInUse); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { - sub_8126A58(0); + RemoveDecorationWindow(0); ClearDialogWindowAndFrame(0, 0); FadeScreen(1, 0); gTasks[taskId].data[2] = 0; @@ -589,12 +612,12 @@ void SecretBasePC_PutAway(u8 taskId) } } -void SecretBasePC_Toss(u8 taskId) +static void DecorationMenuAction_Toss(u8 taskId) { - if (CountDecorations() == 0) + if (GetNumOwnedDecorations() == 0) { StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { @@ -604,10 +627,10 @@ void SecretBasePC_Toss(u8 taskId) } } -void SecretBasePC_Cancel(u8 taskId) +static void DecorationMenuAction_Cancel(u8 taskId) { - sub_8126A58(0); - if (!gUnknown_0203A17C.isPlayerRoom) + RemoveDecorationWindow(0); + if (!gDecorationContext.isPlayerRoom) { ScriptContext1_SetupScript(gUnknown_0823B4E8); DestroyTask(taskId); @@ -618,260 +641,237 @@ void SecretBasePC_Cancel(u8 taskId) } } -void sub_8126DA4(u8 taskId) +static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId) { - sub_8126C08(); - gTasks[taskId].func = sub_8126B80; + PrintCurMainMenuDescription(); + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) +static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) { - LoadPalette(gUnknown_085A6BB0, 0xd0, 0x20); + LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); ClearDialogWindowAndFrame(0, 0); - sub_8126A58(0); - sub_8126DFC(taskId); + RemoveDecorationWindow(0); + InitDecorationCategoriesWindow(taskId); } -void sub_8126DFC(u8 taskId) +static void InitDecorationCategoriesWindow(u8 taskId) { - u8 winIdx; - - winIdx = sub_81269D4(1); - sub_8126E8C(taskId); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(winIdx, 9, sCurDecorationCategory); - gTasks[taskId].func = sub_8127088; + u8 windowId = AddDecorationWindow(1); + PrintDecorationCategoryMenuItems(taskId); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, DECORCAT_COUNT + 1, sCurDecorationCategory); + gTasks[taskId].func = HandleDecorationCategoriesMenuInput; } -void sub_8126E44(u8 taskId) +static void sub_8126E44(u8 taskId) { - FillWindowPixelBuffer(sDecorMenuWindowIndices[1], PIXEL_FILL(1)); - sub_8126E8C(taskId); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIndices[1], 9, sCurDecorationCategory); - gTasks[taskId].func = sub_8127088; + FillWindowPixelBuffer(sDecorMenuWindowIds[1], PIXEL_FILL(1)); + PrintDecorationCategoryMenuItems(taskId); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIds[1], DECORCAT_COUNT + 1, sCurDecorationCategory); + gTasks[taskId].func = HandleDecorationCategoriesMenuInput; } -void sub_8126E8C(u8 taskId) +static void PrintDecorationCategoryMenuItems(u8 taskId) { - s16 *data; - u8 r5; - bool8 r8; u8 i; - bool8 fl; + s16 *data = gTasks[taskId].data; + u8 windowId = sDecorMenuWindowIds[1]; + bool8 isPlayerRoom = gDecorationContext.isPlayerRoom; + bool8 shouldDisable = FALSE; + if (isPlayerRoom == TRUE && data[11] == 0) + shouldDisable = TRUE; - data = gTasks[taskId].data; - r5 = sDecorMenuWindowIndices[1]; - fl = gUnknown_0203A17C.isPlayerRoom; - r8 = FALSE; - if (fl == TRUE && data[11] == 0) + for (i = 0; i < DECORCAT_COUNT; i++) { - r8 = TRUE; - } - for (i = 0; i < 8; i ++) - { - if (r8 == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION) - { - sub_8126F68(r5, i, 8, i << 4, TRUE, 0xFF); - } + // Only DOLL and CUSHION decorations are enabled when decorating the player's room. + if (shouldDisable == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION) + PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, TRUE, TEXT_SPEED_FF); else - { - sub_8126F68(r5, i, 8, i << 4, FALSE, 0xFF); - } + PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, FALSE, TEXT_SPEED_FF); } - AddTextPrinterParameterized(r5, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, (i << 4) + 1, 0, 0); + + AddTextPrinterParameterized(windowId, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, i * 16 + 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); } -void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed) +static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, bool8 disabled, u8 speed) { u8 width; - u8 *strbuf; + u8 *str; - width = x == 8 ? 0x68 : 0x60; - y ++; - sub_8127058(gStringVar4, flag); - strbuf = StringLength(gStringVar4) + gStringVar4; - StringCopy(strbuf, sDecorCatNames[decorCat]); + width = x == 8 ? 104 : 96; + y++; + ColorMenuItemString(gStringVar4, disabled); + str = StringLength(gStringVar4) + gStringVar4; + StringCopy(str, sDecorationCategoryNames[category]); AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL); - strbuf = ConvertIntToDecimalStringN(strbuf, CountDecorationCategoryN(decorCat), STR_CONV_MODE_RIGHT_ALIGN, 2); - *strbuf++ = CHAR_SLASH; - ConvertIntToDecimalStringN(strbuf, gDecorationInventories[decorCat].size, STR_CONV_MODE_RIGHT_ALIGN, 2); + str = ConvertIntToDecimalStringN(str, GetNumOwnedDecorationsInCategory(category), STR_CONV_MODE_RIGHT_ALIGN, 2); + *(str++) = CHAR_SLASH; + ConvertIntToDecimalStringN(str, gDecorationInventories[category].size, STR_CONV_MODE_RIGHT_ALIGN, 2); x = GetStringRightAlignXOffset(1, gStringVar4, width); AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL); } -void sub_8127058(u8 *str, bool8 flag) +static void ColorMenuItemString(u8 *str, bool8 disabled) { StringCopy(str, gText_Color161Shadow161); - if (flag == TRUE) + if (disabled == TRUE) { - str[2] = 0x04; // RED - str[5] = 0x05; // LIGHT_RED + str[2] = 4; + str[5] = 5; } else { - str[2] = 0x02; // DARK_GREY - str[5] = 0x03; // LIGHT_GREY + str[2] = 2; + str[5] = 3; } } -void sub_8127088(u8 taskId) +static void HandleDecorationCategoriesMenuInput(u8 taskId) { - s8 input; - if (!gPaletteFade.active) { - input = Menu_ProcessInput(); + s8 input = Menu_ProcessInput(); switch (input) { - case MENU_B_PRESSED: - case 8: - PlaySE(SE_SELECT); - sub_812719C(taskId); - break; - case MENU_NOTHING_CHOSEN: - break; - default: - PlaySE(SE_SELECT); - sCurDecorationCategory = input; - sub_81270E8(taskId); - break; + case MENU_B_PRESSED: + case DECORCAT_COUNT: // CANCEL + PlaySE(SE_SELECT); + ExitDecorationCategoriesMenu(taskId); + break; + case MENU_NOTHING_CHOSEN: + break; + default: + PlaySE(SE_SELECT); + sCurDecorationCategory = input; + SelectDecorationCategory(taskId); + break; } } } -void sub_81270E8(u8 taskId) +static void SelectDecorationCategory(u8 taskId) { - sCurDecorCatCount = CountDecorationCategoryN(sCurDecorationCategory); - if (sCurDecorCatCount != 0) + sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory); + if (sNumOwnedDecorationsInCurCategory != 0) { - CondenseDecorationCategoryN(sCurDecorationCategory); - gCurDecorInventoryItems = gDecorationInventories[sCurDecorationCategory].items; + CondenseDecorationsInCategory(sCurDecorationCategory); + gCurDecorationItems = gDecorationInventories[sCurDecorationCategory].items; IdentifyOwnedDecorationsCurrentlyInUse(taskId); - sSecretBasePCSelectDecorPageNo = 0; - sSecretBasePCSelectDecorLineNo = 0; - gTasks[taskId].func = sub_8127620; + sDecorationsScrollOffset = 0; + sDecorationsCursorPos = 0; + gTasks[taskId].func = ShowDecorationItemsWindow; } else { - sub_8126A58(1); + RemoveDecorationWindow(1); StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8127180); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationCategoriesAfterInvalidSelection); } } -void sub_8127180(u8 taskId) +static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId) { ClearDialogWindowAndFrame(0, 0); - sub_8126DFC(taskId); + InitDecorationCategoriesWindow(taskId); } -void sub_812719C(u8 taskId) +static void ExitDecorationCategoriesMenu(u8 taskId) { if (gTasks[taskId].data[11] != 2) - { - sub_81271CC(taskId); - } + ReturnToActionsMenuFromCategories(taskId); else - { - sub_8127268(taskId); - } + ExitTraderDecorationMenu(taskId); } -void sub_81271CC(u8 taskId) +static void ReturnToActionsMenuFromCategories(u8 taskId) { - sub_8126A58(1); - sub_8126A88(); + RemoveDecorationWindow(1); + AddDecorationActionsWindow(); DrawDialogueFrame(0, 0); - sub_8126C08(); - gTasks[taskId].func = sub_8126B80; + PrintCurMainMenuDescription(); + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8127208(u8 taskId) +void ShowDecorationCategoriesWindow(u8 taskId) { - LoadPalette(gUnknown_085A6BB0, 0xd0, 0x20); + LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); ClearDialogWindowAndFrame(0, 0); gTasks[taskId].data[11] = 2; sCurDecorationCategory = DECORCAT_DESK; - sub_8126DFC(taskId); + InitDecorationCategoriesWindow(taskId); } -void sub_8127250(u8 *dest, u8 decorCat) +void CopyDecorationCategoryName(u8 *dest, u8 category) { - StringCopy(dest, sDecorCatNames[decorCat]); + StringCopy(dest, sDecorationCategoryNames[category]); } -void sub_8127268(u8 taskId) +static void ExitTraderDecorationMenu(u8 taskId) { - sub_8126A58(1); - sub_8133E1C(taskId); + RemoveDecorationWindow(1); + ExitTraderMenu(taskId); } -void sub_8127284(void) +static void InitDecorationItemsMenuLimits(void) { - sDecorPCBuffer->unk_520 = sCurDecorCatCount + 1; - if (sDecorPCBuffer->unk_520 > 8) - { - sDecorPCBuffer->unk_521 = 8; - } + sDecorationItemsMenu->numMenuItems = sNumOwnedDecorationsInCurCategory + 1; + if (sDecorationItemsMenu->numMenuItems > 8) + sDecorationItemsMenu->maxShownItems = 8; else - { - sDecorPCBuffer->unk_521 = sDecorPCBuffer->unk_520; - } + sDecorationItemsMenu->maxShownItems = sDecorationItemsMenu->numMenuItems; } -void sub_81272C8(void) +static void sub_81272C8(void) { - sub_812225C(&sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo, sDecorPCBuffer->unk_521, sDecorPCBuffer->unk_520); + sub_812225C(&sDecorationsScrollOffset, &sDecorationsCursorPos, sDecorationItemsMenu->maxShownItems, sDecorationItemsMenu->numMenuItems); } -void sub_81272F8(void) +static void sub_81272F8(void) { - sub_8122298(&sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo, sDecorPCBuffer->unk_521, sDecorPCBuffer->unk_520, 8); + sub_8122298(&sDecorationsScrollOffset, &sDecorationsCursorPos, sDecorationItemsMenu->maxShownItems, sDecorationItemsMenu->numMenuItems, 8); } -void sub_8127330(u8 taskId) +static void PrintDecorationItemMenuItems(u8 taskId) { s16 *data; u16 i; data = gTasks[taskId].data; - if ((sCurDecorationCategory < DECORCAT_DOLL || sCurDecorationCategory > DECORCAT_CUSHION) && gUnknown_0203A17C.isPlayerRoom == TRUE && data[11] == 0) - { - sub_8127058(gStringVar1, TRUE); - } + if ((sCurDecorationCategory < DECORCAT_DOLL || sCurDecorationCategory > DECORCAT_CUSHION) && gDecorationContext.isPlayerRoom == TRUE && data[11] == 0) + ColorMenuItemString(gStringVar1, TRUE); else + ColorMenuItemString(gStringVar1, FALSE); + + for (i = 0; i < sDecorationItemsMenu->numMenuItems - 1; i++) { - sub_8127058(gStringVar1, FALSE); + CopyDecorationMenuItemName(sDecorationItemsMenu->names[i], gCurDecorationItems[i]); + sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i]; + sDecorationItemsMenu->items[i].id = i; } - for (i = 0; i < sDecorPCBuffer->unk_520 - 1; i ++) - { - sub_8127454(sDecorPCBuffer->names[i], gCurDecorInventoryItems[i]); - sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i]; - sDecorPCBuffer->items[i].id = i; - } - StringCopy(sDecorPCBuffer->names[i], gText_Cancel); - sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i]; - sDecorPCBuffer->items[i].id = -2; - gMultiuseListMenuTemplate = gUnknown_085A6BD0; - gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIndices[1]; - gMultiuseListMenuTemplate.totalItems = sDecorPCBuffer->unk_520; - gMultiuseListMenuTemplate.items = sDecorPCBuffer->items; - gMultiuseListMenuTemplate.maxShowed = sDecorPCBuffer->unk_521; + + StringCopy(sDecorationItemsMenu->names[i], gText_Cancel); + sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i]; + sDecorationItemsMenu->items[i].id = -2; + gMultiuseListMenuTemplate = sDecorationItemsListMenuTemplate; + gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIds[1]; + gMultiuseListMenuTemplate.totalItems = sDecorationItemsMenu->numMenuItems; + gMultiuseListMenuTemplate.items = sDecorationItemsMenu->items; + gMultiuseListMenuTemplate.maxShowed = sDecorationItemsMenu->maxShownItems; } -void sub_8127454(u8 *dest, u16 decorId) +static void CopyDecorationMenuItemName(u8 *dest, u16 decoration) { StringCopy(dest, gStringVar1); - StringAppend(dest, gDecorations[decorId].name); + StringAppend(dest, gDecorations[decoration].name); } -void sub_8127480(s32 a0, bool8 flag, struct ListMenu *menu) +static void DecorationItemsMenu_OnCursorMove(s32 itemIndex, bool8 flag, struct ListMenu *menu) { if (flag != TRUE) - { PlaySE(SE_SELECT); - } - sub_8127744(a0); + + PrintDecorationItemDescription(itemIndex); } void sub_81274A0(u8 a0, s32 a1, u8 a2) @@ -889,53 +889,59 @@ void sub_81274A0(u8 a0, s32 a1, u8 a2) } } -void sub_8127500(void) +static void AddDecorationItemsScrollIndicators(void) { - if (sDecorPCBuffer->unk_522 == 0xFF) + if (sDecorationItemsMenu->scrollIndicatorsTaskId == 0xFF) { - sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo); + sDecorationItemsMenu->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized( + SCROLL_ARROW_UP, + 0x3c, + 0x0c, + 0x94, + sDecorationItemsMenu->numMenuItems - sDecorationItemsMenu->maxShownItems, + 0x6e, + 0x6e, + &sDecorationsScrollOffset); } } -void sub_8127554(void) +static void RemoveDecorationItemsScrollIndicators(void) { - if (sDecorPCBuffer->unk_522 != 0xFF) + if (sDecorationItemsMenu->scrollIndicatorsTaskId != 0xFF) { - RemoveScrollIndicatorArrowPair(sDecorPCBuffer->unk_522); - sDecorPCBuffer->unk_522 = 0xFF; + RemoveScrollIndicatorArrowPair(sDecorationItemsMenu->scrollIndicatorsTaskId); + sDecorationItemsMenu->scrollIndicatorsTaskId = 0xFF; } } void sub_8127580(u8 taskId) { - sub_81269D4(1); - sub_812759C(taskId); + AddDecorationWindow(1); + InitDecorationItemsWindow(taskId); } -void sub_812759C(u8 taskId) +static void InitDecorationItemsWindow(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_81269D4(3); - sub_8127718(sCurDecorationCategory); - sDecorPCBuffer = calloc(1, sizeof(struct DecorPCBuffer)); - sDecorPCBuffer->unk_522 = 0xFF; - sub_8127284(); + s16 *data = gTasks[taskId].data; + AddDecorationWindow(3); + ShowDecorationCategorySummaryWindow(sCurDecorationCategory); + sDecorationItemsMenu = AllocZeroed(sizeof(*sDecorationItemsMenu)); + sDecorationItemsMenu->scrollIndicatorsTaskId = 0xFF; + InitDecorationItemsMenuLimits(); sub_81272C8(); sub_81272F8(); - sub_8127330(taskId); - data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sSecretBasePCSelectDecorPageNo, sSecretBasePCSelectDecorLineNo); - sub_8127500(); + PrintDecorationItemMenuItems(taskId); + data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sDecorationsScrollOffset, sDecorationsCursorPos); + AddDecorationItemsScrollIndicators(); } -void sub_8127620(u8 taskId) +static void ShowDecorationItemsWindow(u8 taskId) { - sub_812759C(taskId); - gTasks[taskId].func = sub_812764C; + InitDecorationItemsWindow(taskId); + gTasks[taskId].func = HandleDecorationItemsMenuInput; } -void sub_812764C(u8 taskId) +static void HandleDecorationItemsMenuInput(u8 taskId) { s16 *data; s32 input; @@ -944,129 +950,125 @@ void sub_812764C(u8 taskId) if (!gPaletteFade.active) { input = ListMenu_ProcessInput(data[13]); - ListMenuGetScrollAndRow(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo); + ListMenuGetScrollAndRow(data[13], &sDecorationsScrollOffset, &sDecorationsCursorPos); switch (input) { - case LIST_NOTHING_CHOSEN: - break; - case LIST_CANCEL: - PlaySE(SE_SELECT); - SecretBasePC_SelectedDecorActions[data[11]][1](taskId); - break; - default: - PlaySE(SE_SELECT); - gCurDecorationIndex = input; - sub_8127554(); - DestroyListMenuTask(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo); - sub_8126A58(1); - sub_81277A8(); - free(sDecorPCBuffer); - SecretBasePC_SelectedDecorActions[data[11]][0](taskId); - break; + case LIST_NOTHING_CHOSEN: + break; + case LIST_CANCEL: + PlaySE(SE_SELECT); + sSecretBasePC_SelectedDecorationActions[data[11]][1](taskId); + break; + default: + PlaySE(SE_SELECT); + gCurDecorationIndex = input; + RemoveDecorationItemsScrollIndicators(); + DestroyListMenuTask(data[13], &sDecorationsScrollOffset, &sDecorationsCursorPos); + RemoveDecorationWindow(1); + RemoveDecorationItemsOtherWindows(); + free(sDecorationItemsMenu); + sSecretBasePC_SelectedDecorationActions[data[11]][0](taskId); + break; } } } -void sub_8127718(u8 decorCat) +static void ShowDecorationCategorySummaryWindow(u8 category) { - sub_8126F68(sub_81269D4(2), decorCat, 0, 0, 0, 0); + PrintDecorationCategoryMenuItem(AddDecorationWindow(2), category, 0, 0, 0, 0); } -void sub_8127744(u32 a0) +static void PrintDecorationItemDescription(u32 itemIndex) { - u8 winidx; - const u8 *txt; + u8 windowId; + const u8 *str; - winidx = sDecorMenuWindowIndices[3]; - FillWindowPixelBuffer(winidx, PIXEL_FILL(1)); - if (a0 >= sCurDecorCatCount) - { - txt = gText_GoBackPrevMenu; - } + windowId = sDecorMenuWindowIds[3]; + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + if (itemIndex >= sNumOwnedDecorationsInCurCategory) + str = gText_GoBackPrevMenu; else - { - txt = gDecorations[gCurDecorInventoryItems[a0]].description; - } - AddTextPrinterParameterized(winidx, 1, txt, 0, 1, 0, 0); + str = gDecorations[gCurDecorationItems[itemIndex]].description; + + AddTextPrinterParameterized(windowId, 1, str, 0, 1, 0, 0); } -void sub_81277A8(void) +static void RemoveDecorationItemsOtherWindows(void) { - sub_8126A58(3); - sub_8126A58(2); + // Remove description and category summary windows + RemoveDecorationWindow(3); + RemoveDecorationWindow(2); } bool8 sub_81277BC(u8 idx) { u8 i; - - for (i = 0; i < 16; i ++) + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { if (sSecretBaseItemsIndicesBuffer[i] == idx) - { return TRUE; - } } + return FALSE; } bool8 sub_81277E8(u8 idx) { u8 i; - - for (i = 0; i < 12; i ++) + for (i = 0; i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer); i++) { if (sPlayerRoomItemsIndicesBuffer[i] == idx) - { return TRUE; - } } + return FALSE; } -void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) +static void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) { - u16 i; - u16 j; - u16 k; - u16 cnt; + u16 i, j, k; + u16 count; - cnt = 0; - memset(sSecretBaseItemsIndicesBuffer, 0, 16); - memset(sPlayerRoomItemsIndicesBuffer, 0, 12); - for (i = 0; i < 16; i ++) + count = 0; + memset(sSecretBaseItemsIndicesBuffer, 0, sizeof(sSecretBaseItemsIndicesBuffer)); + memset(sPlayerRoomItemsIndicesBuffer, 0, sizeof(sPlayerRoomItemsIndicesBuffer)); + + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { if (gSaveBlock1Ptr->secretBases[0].decorations[i] != DECOR_NONE) { - for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j ++) + for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j++) { - if (gCurDecorInventoryItems[j] == gSaveBlock1Ptr->secretBases[0].decorations[i]) + if (gCurDecorationItems[j] == gSaveBlock1Ptr->secretBases[0].decorations[i]) { - for (k = 0; k < cnt && sSecretBaseItemsIndicesBuffer[k] != j + 1; k ++); - if (k == cnt) + for (k = 0; k < count && sSecretBaseItemsIndicesBuffer[k] != j + 1; k++) + ; + + if (k == count) { - sSecretBaseItemsIndicesBuffer[cnt] = j + 1; - cnt ++; + sSecretBaseItemsIndicesBuffer[count] = j + 1; + count++; break; } } } } } - cnt = 0; - for (i = 0; i < 12; i ++) + + count = 0; + for (i = 0; i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer); i++) { if (gSaveBlock1Ptr->playerRoomDecor[i] != DECOR_NONE) { - for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j ++) + for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j++) { - if (gCurDecorInventoryItems[j] == gSaveBlock1Ptr->playerRoomDecor[i] && sub_81277BC(j + 1) != TRUE) + if (gCurDecorationItems[j] == gSaveBlock1Ptr->playerRoomDecor[i] && sub_81277BC(j + 1) != TRUE) { - for (k = 0; k < cnt && sPlayerRoomItemsIndicesBuffer[k] != j + 1; k ++); - if (k == cnt) + for (k = 0; k < count && sPlayerRoomItemsIndicesBuffer[k] != j + 1; k++); + if (k == count) { - sPlayerRoomItemsIndicesBuffer[cnt] = j + 1; - cnt ++; + sPlayerRoomItemsIndicesBuffer[count] = j + 1; + count++; break; } } @@ -1075,7 +1077,7 @@ void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) } } -void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) +static void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) { IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); } @@ -1083,24 +1085,25 @@ void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) bool8 IsSelectedDecorInThePC(void) { u16 i; - for (i = 0; i < 16; i ++) + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { - if (sSecretBaseItemsIndicesBuffer[i] == sSecretBasePCSelectDecorPageNo + sSecretBasePCSelectDecorLineNo + 1) - { + if (sSecretBaseItemsIndicesBuffer[i] == sDecorationsScrollOffset + sDecorationsCursorPos + 1) return FALSE; - } - if (i < 12 && sPlayerRoomItemsIndicesBuffer[i] == sSecretBasePCSelectDecorPageNo + sSecretBasePCSelectDecorLineNo + 1) + + if (i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer) + && sPlayerRoomItemsIndicesBuffer[i] == sDecorationsScrollOffset + sDecorationsCursorPos + 1) { return FALSE; } } + return TRUE; } -void sub_8127A14(u8 taskId) +static void sub_8127A14(u8 taskId) { - sub_81269D4(1); - sub_8127620(taskId); + AddDecorationWindow(1); + ShowDecorationItemsWindow(taskId); } void sub_8127A30(u8 taskId) @@ -1114,20 +1117,18 @@ void sub_8127A5C(u8 taskId) if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearDialogWindowAndFrame(0, 0); - sub_81269D4(1); - sub_8127620(taskId); + AddDecorationWindow(1); + ShowDecorationItemsWindow(taskId); } } void sub_8127A8C(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_8127554(); - sub_81277A8(); + s16 *data = gTasks[taskId].data; + RemoveDecorationItemsScrollIndicators(); + RemoveDecorationItemsOtherWindows(); DestroyListMenuTask(data[13], NULL, NULL); - free(sDecorPCBuffer); + free(sDecorationItemsMenu); sub_8126E44(taskId); } @@ -1145,25 +1146,23 @@ void sub_8127B04(u8 taskId) WarpIntoMap(); } -u16 sub_8127B54(u8 decor, u8 a1) +static u16 GetDecorationElevation(u8 decoration, u8 tileIndex) { - u16 resp; - - resp = -1; - switch (decor) + u16 elevation = -1; + switch (decoration) { - case DECOR_STAND: - resp = gUnknown_085A72E4[a1] << 12; - return resp; - case DECOR_SLIDE: - resp = gUnknown_085A72EC[a1] << 12; - return resp; - default: - return resp; + case DECOR_STAND: + elevation = sDecorationStandElevations[tileIndex] << 12; + return elevation; + case DECOR_SLIDE: + elevation = sDecorationSlideElevation[tileIndex] << 12; + return elevation; + default: + return elevation; } } -void sub_8127B90(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decor) +static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decoration) { u16 i, j; s16 x, y; @@ -1178,60 +1177,60 @@ void sub_8127B90(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decor) for (i = 0; i < decWidth; i++) { x = mapX + i; - behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decor].tiles[j * decWidth + i]); - if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decor].permission != DECORPERM_PASS_FLOOR && (behavior >> 12))) + behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decoration].tiles[j * decWidth + i]); + if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decoration].permission != DECORPERM_PASS_FLOOR && (behavior >> 12))) impassableFlag = METATILE_COLLISION_MASK; else impassableFlag = 0; - if (gDecorations[decor].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE) + if (gDecorations[decoration].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE) posterSide = 1; else posterSide = 0; - elevation = sub_8127B54(gDecorations[decor].id, j * decWidth + i); + elevation = GetDecorationElevation(gDecorations[decoration].id, j * decWidth + i); if (elevation != 0xFFFF) - MapGridSetMetatileEntryAt(x, y, (gDecorations[decor].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag | elevation); + MapGridSetMetatileEntryAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag | elevation); else - MapGridSetMetatileIdAt(x, y, (gDecorations[decor].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag); + MapGridSetMetatileIdAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag); } } } -void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor) +void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration) { - switch (gDecorations[decor].shape) + switch (gDecorations[decoration].shape) { - case DECORSHAPE_1x1: - sub_8127B90(mapX, mapY, 1, 1, decor); - break; - case DECORSHAPE_2x1: - sub_8127B90(mapX, mapY, 2, 1, decor); - break; - case DECORSHAPE_3x1: // unused - sub_8127B90(mapX, mapY, 3, 1, decor); - break; - case DECORSHAPE_4x2: - sub_8127B90(mapX, mapY, 4, 2, decor); - break; - case DECORSHAPE_2x2: - sub_8127B90(mapX, mapY, 2, 2, decor); - break; - case DECORSHAPE_1x2: - sub_8127B90(mapX, mapY, 1, 2, decor); - break; - case DECORSHAPE_1x3: // unused - sub_8127B90(mapX, mapY, 1, 3, decor); - break; - case DECORSHAPE_2x4: - sub_8127B90(mapX, mapY, 2, 4, decor); - break; - case DECORSHAPE_3x3: - sub_8127B90(mapX, mapY, 3, 3, decor); - break; - case DECORSHAPE_3x2: - sub_8127B90(mapX, mapY, 3, 2, decor); - break; + case DECORSHAPE_1x1: + ShowDecorationOnMap_(mapX, mapY, 1, 1, decoration); + break; + case DECORSHAPE_2x1: + ShowDecorationOnMap_(mapX, mapY, 2, 1, decoration); + break; + case DECORSHAPE_3x1: // unused + ShowDecorationOnMap_(mapX, mapY, 3, 1, decoration); + break; + case DECORSHAPE_4x2: + ShowDecorationOnMap_(mapX, mapY, 4, 2, decoration); + break; + case DECORSHAPE_2x2: + ShowDecorationOnMap_(mapX, mapY, 2, 2, decoration); + break; + case DECORSHAPE_1x2: + ShowDecorationOnMap_(mapX, mapY, 1, 2, decoration); + break; + case DECORSHAPE_1x3: // unused + ShowDecorationOnMap_(mapX, mapY, 1, 3, decoration); + break; + case DECORSHAPE_2x4: + ShowDecorationOnMap_(mapX, mapY, 2, 4, decoration); + break; + case DECORSHAPE_3x3: + ShowDecorationOnMap_(mapX, mapY, 3, 3, decoration); + break; + case DECORSHAPE_3x2: + ShowDecorationOnMap_(mapX, mapY, 3, 2, decoration); + break; } } @@ -1240,21 +1239,21 @@ void sub_8127E18(void) u8 i; u8 j; - for (i = 0; i < 14; i ++) + for (i = 0; i < 14; i++) { if (FlagGet(FLAG_DECORATION_1 + i) == TRUE) { FlagClear(FLAG_DECORATION_1 + i); - for (j = 0; j < gMapHeader.events->eventObjectCount; j ++) + for (j = 0; j < gMapHeader.events->eventObjectCount; j++) { if (gMapHeader.events->eventObjects[j].flagId == FLAG_DECORATION_1 + i) - { break; - } } + VarSet( VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[j].graphicsId - EVENT_OBJ_GFX_VAR_0), sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]); + gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId; gSpecialVar_0x8006 = sCurDecorMapX; gSpecialVar_0x8007 = sCurDecorMapY; @@ -1270,9 +1269,9 @@ bool8 sub_8127F38(void) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] == DECOR_NONE) + if (gDecorationContext.items[i] == DECOR_NONE) { return TRUE; } @@ -1282,7 +1281,7 @@ bool8 sub_8127F38(void) void sub_8127F68(u8 taskId) { - if (gUnknown_0203A17C.isPlayerRoom == TRUE && sCurDecorationCategory != DECORCAT_DOLL && sCurDecorationCategory != DECORCAT_CUSHION) + if (gDecorationContext.isPlayerRoom == TRUE && sCurDecorationCategory != DECORCAT_DOLL && sCurDecorationCategory != DECORCAT_CUSHION) { StringExpandPlaceholders(gStringVar4, gText_CantPlaceInRoom); DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C); @@ -1297,8 +1296,8 @@ void sub_8127F68(u8 taskId) } else { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203A17C.size, STR_CONV_MODE_RIGHT_ALIGN, 2); - if (gUnknown_0203A17C.isPlayerRoom == FALSE) { + ConvertIntToDecimalStringN(gStringVar1, gDecorationContext.size, STR_CONV_MODE_RIGHT_ALIGN, 2); + if (gDecorationContext.isPlayerRoom == FALSE) { StringExpandPlaceholders(gStringVar4, gText_NoMoreDecorations); } else @@ -1328,7 +1327,7 @@ void sub_8128060(u8 taskId) break; case 1: gPaletteFade.bufferTransferDisabled = TRUE; - ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorInventoryItems[gCurDecorationIndex]); + ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]); sub_812826C(taskId); SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer); pal_fill_black(); @@ -1351,27 +1350,23 @@ void ConfigureCameraObjectForPlacingDecoration(struct PlaceDecorationGraphicsDat gFieldCamera.spriteId = gpu_pal_decompress_alloc_tag_and_upload(data, decor); gSprites[gFieldCamera.spriteId].oam.priority = 1; gSprites[gFieldCamera.spriteId].callback = sub_81292D0; - gSprites[gFieldCamera.spriteId].pos1.x = gUnknown_085A7250[data->decoration->shape].x; - gSprites[gFieldCamera.spriteId].pos1.y = gUnknown_085A7250[data->decoration->shape].y; + gSprites[gFieldCamera.spriteId].pos1.x = sDecorationMovementInfo[data->decoration->shape].cameraX; + gSprites[gFieldCamera.spriteId].pos1.y = sDecorationMovementInfo[data->decoration->shape].cameraY; } void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphicsDataBuffer *data) { - u8 v0; + u8 x; - v0 = 16 * (u8)gTasks[taskId].data[5] + gUnknown_085A7250[data->decoration->shape].x - 8 * ((u8)gTasks[taskId].data[5] - 1); + x = 16 * (u8)gTasks[taskId].data[5] + sDecorationMovementInfo[data->decoration->shape].cameraX - 8 * ((u8)gTasks[taskId].data[5] - 1); if (data->decoration->shape == DECORSHAPE_3x1 || data->decoration->shape == DECORSHAPE_3x3 || data->decoration->shape == DECORSHAPE_3x2) - { - v0 -= 8; - } + x -= 8; + if (gSaveBlock2Ptr->playerGender == MALE) - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, v0, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, x, 72, 0); else - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, v0, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, x, 72, 0); + gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1; DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]); sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId; @@ -1379,7 +1374,7 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic void sub_812826C(u8 taskId) { - switch (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].shape) + switch (gDecorations[gCurDecorationItems[gCurDecorationIndex]].shape) { case DECORSHAPE_1x1: gTasks[taskId].data[5] = 1; @@ -1467,14 +1462,12 @@ bool8 sub_81284F4(u16 behaviorAt, const struct Decoration *decoration) if (MetatileBehavior_IsBlockDecoration(behaviorAt) != TRUE) { if (decoration->id == DECOR_SOLID_BOARD && MetatileBehavior_IsSecretBaseHole(behaviorAt) == TRUE) - { return TRUE; - } + if (MetatileBehavior_IsNormal(behaviorAt)) - { return TRUE; - } } + return FALSE; } @@ -1493,127 +1486,108 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration) switch (decoration->permission) { - case DECORPERM_SOLID_FLOOR: - case DECORPERM_PASS_FLOOR: - for (i=0; itiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; - if (!sub_81284F4(behaviorAt, decoration)) - { - return FALSE; - } - if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { - return FALSE; - } - behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); - if (behaviorAt != 0 && behaviorAt != 16) - { - return FALSE; - } - } - } - break; - case DECORPERM_BEHIND_FLOOR: - for (i=0; itiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; - if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_8128484(behaviorAt, behaviorBy)) - { - return FALSE; - } - if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { - return FALSE; - } - if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) - { - return FALSE; - } - } - } - curY = gTasks[taskId].data[1] - mapY + 1; - for (j=0; jtiles[j]) & METATILE_ELEVATION_MASK; - if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt)) - { + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; + if (!sub_81284F4(behaviorAt, decoration)) return FALSE; - } + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { return FALSE; - } + behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); if (behaviorAt != 0 && behaviorAt != 16) - { return FALSE; - } } - break; - case DECORPERM_NA_WALL: - for (i=0; ishape == DECORSHAPE_1x2) - { - if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) - { - return FALSE; - } - } - else if (!MetatileBehavior_HoldsSmallDecoration(behaviorAt)) - { - if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) - { - return FALSE; - } - } - if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) - { + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; + if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_8128484(behaviorAt, behaviorBy)) + return FALSE; + + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) + return FALSE; + + if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) return FALSE; - } } - break; + } + + curY = gTasks[taskId].data[1] - mapY + 1; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & METATILE_ELEVATION_MASK; + if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt)) + return FALSE; + + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) + return FALSE; + + behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); + if (behaviorAt != 0 && behaviorAt != 16) + return FALSE; + } + break; + case DECORPERM_NA_WALL: + for (i = 0; i < mapY; i++) + { + curY = gTasks[taskId].data[1] - i; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + if (!MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(curX, curY))) + return FALSE; + + if (MapGridGetMetatileIdAt(curX, curY + 1) == 0x28c) + return FALSE; + } + } + break; + case DECORPERM_SPRITE: + curY = gTasks[taskId].data[1]; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); + if (decoration->shape == DECORSHAPE_1x2) + { + if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) + return FALSE; + } + else if (!MetatileBehavior_HoldsSmallDecoration(behaviorAt)) + { + if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) + return FALSE; + } + + if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) + return FALSE; + } + break; } return TRUE; } void sub_8128950(u8 taskId) { - if (sub_812853C(taskId, &gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]]) == TRUE) + if (sub_812853C(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE) { StringExpandPlaceholders(gStringVar4, gText_PlaceItHere); DisplayItemMessageOnField(taskId, gStringVar4, sub_81289D0); @@ -1636,9 +1610,9 @@ void sub_81289F0(u8 taskId) { ClearDialogWindowAndFrame(0, 0); sub_8128AAC(taskId); - if (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].permission != DECORPERM_SPRITE) + if (gDecorations[gCurDecorationItems[gCurDecorationIndex]].permission != DECORPERM_SPRITE) { - ShowDecorationOnMap(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorInventoryItems[gCurDecorationIndex]); + ShowDecorationOnMap(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorationItems[gCurDecorationIndex]); } else { @@ -1646,11 +1620,11 @@ void sub_81289F0(u8 taskId) sCurDecorMapY = gTasks[taskId].data[1] - 7; ScriptContext1_SetupScript(EventScript_275D1F); } + gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2; if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) - { TV_PutSecretBaseVisitOnTheAir(); - } + sub_8128BBC(taskId); } @@ -1658,18 +1632,19 @@ void sub_8128AAC(u8 taskId) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] == DECOR_NONE) + if (gDecorationContext.items[i] == DECOR_NONE) { - gUnknown_0203A17C.items[i] = gCurDecorInventoryItems[gCurDecorationIndex]; - gUnknown_0203A17C.pos[i] = ((gTasks[taskId].data[0] - 7) << 4) + (gTasks[taskId].data[1] - 7); + gDecorationContext.items[i] = gCurDecorationItems[gCurDecorationIndex]; + gDecorationContext.pos[i] = ((gTasks[taskId].data[0] - 7) << 4) + (gTasks[taskId].data[1] - 7); break; } } - if (!gUnknown_0203A17C.isPlayerRoom) + + if (!gDecorationContext.isPlayerRoom) { - for (i = 0; i < 16; i ++) + for (i = 0; i < 16; i++) { if (sSecretBaseItemsIndicesBuffer[i] == 0) { @@ -1680,7 +1655,7 @@ void sub_8128AAC(u8 taskId) } else { - for (i = 0; i < 12; i ++) + for (i = 0; i < 12; i++) { if (sPlayerRoomItemsIndicesBuffer[i] == 0) { @@ -1714,49 +1689,45 @@ void c1_overworld_prev_quest(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - ScriptContext2_Enable(); - if (!gPaletteFade.active) - { - sub_8127B04(taskId); - gTasks[taskId].data[2] = 1; - } - break; - case 1: - sub_812A3C8(); - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG); - gFieldCallback = sub_8128CD4; - SetMainCallback2(CB2_ReturnToField); - DestroyTask(taskId); - break; + case 0: + ScriptContext2_Enable(); + if (!gPaletteFade.active) + { + sub_8127B04(taskId); + gTasks[taskId].data[2] = 1; + } + break; + case 1: + sub_812A3C8(); + FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG); + gFieldCallback = sub_8128CD4; + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + break; } } void sub_8128C64(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (data[2]) { - case 0: - HideSecretBaseDecorationSprites(); - data[2] ++; - break; - case 1: - ScriptContext1_SetupScript(EventScript_275D0C); - data[2] ++; - break; - case 2: - ScriptContext2_Enable(); - data[2] ++; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - gTasks[taskId].func = sub_812764C; - } - break; + case 0: + HideSecretBaseDecorationSprites(); + data[2]++; + break; + case 1: + ScriptContext1_SetupScript(EventScript_275D0C); + data[2]++; + break; + case 2: + ScriptContext2_Enable(); + data[2]++; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + gTasks[taskId].func = HandleDecorationItemsMenuInput; + break; } } @@ -1773,41 +1744,40 @@ void sub_8128CD4(void) bool8 sub_8128D10(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (sDecorationLastDirectionMoved == DIR_SOUTH && data[1] - data[6] - 6 < 0) { - data[1] ++; + data[1]++; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapLayout->height) { - data[1] --; + data[1]--; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_WEST && data[0] - 7 < 0) { - data[0] ++; + data[0]++; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapLayout->width) { - data[0] --; + data[0]--; return FALSE; } + return TRUE; } bool8 sub_8128DB4(void) { - u16 heldKeys; - - heldKeys = gMain.heldKeys & 0x0F0; + u16 heldKeys = gMain.heldKeys & DPAD_ANY; if (heldKeys != DPAD_UP && heldKeys != DPAD_DOWN && heldKeys != DPAD_LEFT && heldKeys != DPAD_RIGHT) - { return FALSE; - } + return TRUE; } @@ -1820,68 +1790,69 @@ void sub_8128DE0(void) void sub_8128E18(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!gSprites[sDecor_CameraSpriteObjectIdx1].data[4]) { if (data[10] == 1) { gUnknown_085A72D4[data[12]].yesFunc(taskId); return; - } else if (data[10] == 2) + } + else if (data[10] == 2) { gUnknown_085A72D4[data[12]].noFunc(taskId); return; } - if ((gMain.heldKeys & 0x0F0) == DPAD_UP) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_UP) { sDecorationLastDirectionMoved = DIR_SOUTH; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = -2; data[1]--; } - if ((gMain.heldKeys & 0x0F0) == DPAD_DOWN) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_DOWN) { sDecorationLastDirectionMoved = DIR_NORTH; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 2; data[1]++; } - if ((gMain.heldKeys & 0x0F0) == DPAD_LEFT) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_LEFT) { sDecorationLastDirectionMoved = DIR_WEST; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = -2; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; data[0]--; } - if ((gMain.heldKeys & 0x0F0) == DPAD_RIGHT) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_RIGHT) { sDecorationLastDirectionMoved = DIR_EAST; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 2; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; data[0]++; } + if (!sub_8128DB4() || !sub_8128D10(taskId)) - { sub_8128DE0(); - } } + if (sDecorationLastDirectionMoved) { gSprites[sDecor_CameraSpriteObjectIdx1].data[4]++; gSprites[sDecor_CameraSpriteObjectIdx1].data[4] &= 7; } + if (!data[10]) { if (gMain.newKeys & A_BUTTON) - { data[10] = A_BUTTON; - } + if (gMain.newKeys & B_BUTTON) - { data[10] = B_BUTTON; - } } } @@ -1896,9 +1867,7 @@ void sub_8128FD8(u8 taskId) void sub_8129020(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - { sub_8128FD8(taskId); - } } void sub_8129048(struct PlaceDecorationGraphicsDataBuffer *data) @@ -1919,49 +1888,46 @@ void sub_8129088(u8 *dest, u16 tile) mode = tile >> 10; if (tile != 0) - { tile &= 0x03FF; - } + CpuFastCopy(&((u8 *)gTilesetPointer_SecretBase->tiles)[tile << 5], buffer, 32); switch (mode) { - case 0: - CpuFastCopy(buffer, dest, 32); - break; - case 1: - for (i = 0; i < 8; i ++) - { - dest[4 * i] = (buffer[4 * (i + 1) - 1] >> 4) + ((buffer[4 * (i + 1) - 1] & 0x0F) << 4); - dest[4 * i + 1] = (buffer[4 * (i + 1) - 2] >> 4) + ((buffer[4 * (i + 1) - 2] & 0x0F) << 4); - dest[4 * i + 2] = (buffer[4 * (i + 1) - 3] >> 4) + ((buffer[4 * (i + 1) - 3] & 0x0F) << 4); - dest[4 * i + 3] = (buffer[4 * (i + 1) - 4] >> 4) + ((buffer[4 * (i + 1) - 4] & 0x0F) << 4); - } - break; - case 2: - for (i = 0; i < 8; i ++) - { - dest[4 * i] = buffer[4 * (7 - i)]; - dest[4 * i + 1] = buffer[4 * (7 - i) + 1]; - dest[4 * i + 2] = buffer[4 * (7 - i) + 2]; - dest[4 * i + 3] = buffer[4 * (7 - i) + 3]; - } - break; - case 3: - for (i = 0; i < 32; i ++) - { - dest[i] = (buffer[31 - i] >> 4) + ((buffer[31 - i] & 0x0F) << 4); - } - break; + case 0: + CpuFastCopy(buffer, dest, 32); + break; + case 1: + for (i = 0; i < 8; i++) + { + dest[4 * i] = (buffer[4 * (i + 1) - 1] >> 4) + ((buffer[4 * (i + 1) - 1] & 0x0F) << 4); + dest[4 * i + 1] = (buffer[4 * (i + 1) - 2] >> 4) + ((buffer[4 * (i + 1) - 2] & 0x0F) << 4); + dest[4 * i + 2] = (buffer[4 * (i + 1) - 3] >> 4) + ((buffer[4 * (i + 1) - 3] & 0x0F) << 4); + dest[4 * i + 3] = (buffer[4 * (i + 1) - 4] >> 4) + ((buffer[4 * (i + 1) - 4] & 0x0F) << 4); + } + break; + case 2: + for (i = 0; i < 8; i++) + { + dest[4 * i] = buffer[4 * (7 - i)]; + dest[4 * i + 1] = buffer[4 * (7 - i) + 1]; + dest[4 * i + 2] = buffer[4 * (7 - i) + 2]; + dest[4 * i + 3] = buffer[4 * (7 - i) + 3]; + } + break; + case 3: + for (i = 0; i < 32; i++) + { + dest[i] = (buffer[31 - i] >> 4) + ((buffer[31 - i] & 0x0F) << 4); + } + break; } } void sub_81291A4(struct PlaceDecorationGraphicsDataBuffer *data) { u16 i; - for (i = 0; i < 64; i ++) - { + for (i = 0; i < 64; i++) sub_8129088(&data->image[i * 32], data->tiles[i]); - } } u16 sub_81291CC(u16 tile) @@ -1975,7 +1941,7 @@ void sub_81291E8(struct PlaceDecorationGraphicsDataBuffer *data) u8 shape; shape = data->decoration->shape; - for (i = 0; i < gUnknown_085A71B0[shape].size; i ++) + for (i = 0; i < gUnknown_085A71B0[shape].size; i++) { data->tiles[gUnknown_085A71B0[shape].tiles[i]] = sub_81291CC(data->decoration->tiles[gUnknown_085A71B0[shape].y[i]] * 8 + gUnknown_085A71B0[shape].x[i]); } @@ -1988,10 +1954,10 @@ void SetDecorSelectionBoxOamAttributes(u8 decorShape) sDecorSelectorOam.objMode = ST_OAM_OBJ_NORMAL; sDecorSelectorOam.mosaic = 0; sDecorSelectorOam.bpp = ST_OAM_4BPP; - sDecorSelectorOam.shape = gUnknown_085A7250[decorShape].shape; + sDecorSelectorOam.shape = sDecorationMovementInfo[decorShape].shape; sDecorSelectorOam.x = 0; sDecorSelectorOam.matrixNum = 0; - sDecorSelectorOam.size = gUnknown_085A7250[decorShape].size; + sDecorSelectorOam.size = sDecorationMovementInfo[decorShape].size; sDecorSelectorOam.tileNum = 0; sDecorSelectorOam.priority = 0; sDecorSelectorOam.paletteNum = 0; @@ -2013,14 +1979,11 @@ void sub_81292E8(struct Sprite *sprite) if (sprite->data[7] == 0) { if (sprite->data[6] < 15) - { - sprite->invisible = FALSE; - } + sprite->invisible = 0; else - { - sprite->invisible = TRUE; - } - sprite->data[6] ++; + sprite->invisible = 1; + + sprite->data[6]++; sprite->data[6] &= 0x1F; } else @@ -2034,16 +1997,15 @@ u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuf sub_8129048(data); data->decoration = &gDecorations[decor]; if (data->decoration->permission == DECORPERM_SPRITE) - { return AddPseudoEventObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1); - } - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG); + + FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG); sub_81291E8(data); SetDecorSelectionBoxOamAttributes(data->decoration->shape); sub_81291A4(data); sub_8129068(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * 8) + 7] >> 12); LoadSpritePalette(&gUnknown_085A72BC); - return CreateSprite(&sDecorSelectorSpriteTemplate, 0, 0, 0); + return CreateSprite(&sDecorationSelectorSpriteTemplate, 0, 0, 0); } u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) @@ -2054,9 +2016,8 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) u8 spriteId; if (!AllocItemIconTemporaryBuffers()) - { return MAX_SPRITES; - } + LZDecompressWram(GetDecorationIconPicOrPalette(decor, 0), gItemIconDecompressionBuffer); CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer); sheet.data = gItemIcon4x4Buffer; @@ -2078,10 +2039,9 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode) { - if (decor > 120) - { + if (decor > NUM_DECORATIONS) decor = DECOR_NONE; - } + return gUnknown_085A6BE8[decor][mode]; } @@ -2125,13 +2085,12 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 { u8 spriteId; - if (decor > 120) + if (decor > NUM_DECORATIONS) { spriteId = AddDecorationIconObjectFromIconTable(tilesTag, paletteTag, DECOR_NONE); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x + 4; gSprites[spriteId].pos2.y = y + 4; } @@ -2139,37 +2098,32 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 { spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x; if (decor == DECOR_SILVER_SHIELD || decor == DECOR_GOLD_SHIELD) - { gSprites[spriteId].pos2.y = y - 4; - } else - { gSprites[spriteId].pos2.y = y; - } } else { spriteId = AddDecorationIconObjectFromIconTable(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x + 4; gSprites[spriteId].pos2.y = y + 4; } + gSprites[spriteId].oam.priority = priority; return spriteId; } void sub_81296EC(u8 idx) { - gUnknown_0203A17C.items[idx] = 0; - gUnknown_0203A17C.pos[idx] = 0; + gDecorationContext.items[idx] = 0; + gDecorationContext.pos[idx] = 0; } void sub_8129708(void) @@ -2182,11 +2136,11 @@ void sub_8129708(void) { gSpecialVar_Result = 1; } - else if (gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SPRITE) + else if (gDecorations[gDecorationContext.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SPRITE) { gSpecialVar_0x8005 = sDecorRearrangementDataBuffer[gSpecialVar_0x8004].flagId; sub_81296EC(sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx); - for (i = 0; i < gMapHeader.events->eventObjectCount; i ++) + for (i = 0; i < gMapHeader.events->eventObjectCount; i++) { if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8005) { @@ -2201,7 +2155,7 @@ void sub_81297AC(void) { u8 i; - for (i = 0; i < gMapHeader.events->eventObjectCount; i ++) + for (i = 0; i < gMapHeader.events->eventObjectCount; i++) { if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8004) { @@ -2220,20 +2174,21 @@ void sub_81297F8(void) int posY; u8 perm; - for (i = 0; i < sCurDecorSelectedInRearrangement; i ++) + for (i = 0; i < sCurDecorSelectedInRearrangement; i++) { - perm = gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[i].idx]].permission; - posX = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] >> 4; - posY = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F; + perm = gDecorations[gDecorationContext.items[sDecorRearrangementDataBuffer[i].idx]].permission; + posX = gDecorationContext.pos[sDecorRearrangementDataBuffer[i].idx] >> 4; + posY = gDecorationContext.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F; if (perm != DECORPERM_SPRITE) { - for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y ++) + for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y++) { - for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x ++) + for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x++) { MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapLayout->map[posX + x + gMapHeader.mapLayout->width * (posY - y)] | 0x3000); } } + sub_81296EC(sDecorRearrangementDataBuffer[i].idx); } } @@ -2243,35 +2198,33 @@ void sub_81298EC(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - sub_81297F8(); - gTasks[taskId].data[2] = 1; - break; - case 1: - if (!gPaletteFade.active) { - DrawWholeMapView(); - ScriptContext1_SetupScript(EventScript_275D2E); - ClearDialogWindowAndFrame(0, 1); - gTasks[taskId].data[2] = 2; - } - break; - case 2: - ScriptContext2_Enable(); - IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); - pal_fill_black(); - gTasks[taskId].data[2] = 3; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); - if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) - { - TV_PutSecretBaseVisitOnTheAir(); - } - } - break; + case 0: + sub_81297F8(); + gTasks[taskId].data[2] = 1; + break; + case 1: + if (!gPaletteFade.active) { + DrawWholeMapView(); + ScriptContext1_SetupScript(EventScript_275D2E); + ClearDialogWindowAndFrame(0, 1); + gTasks[taskId].data[2] = 2; + } + break; + case 2: + ScriptContext2_Enable(); + IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); + pal_fill_black(); + gTasks[taskId].data[2] = 3; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + { + StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); + DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); + if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) + TV_PutSecretBaseVisitOnTheAir(); + } + break; } } @@ -2279,14 +2232,12 @@ void sub_81298EC(u8 taskId) bool8 sub_81299AC(u8 taskId) { u16 i; - - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] != DECOR_NONE) - { + if (gDecorationContext.items[i] != DECOR_NONE) return TRUE; - } } + return FALSE; } @@ -2295,15 +2246,12 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void) GetPlayerFacingDirection(); sDecor_CameraSpriteObjectIdx1 = gSprites[gFieldCamera.spriteId].data[0]; sub_812A39C(); - gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0); + gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 120, 80, 0); if (gSaveBlock2Ptr->playerGender == MALE) - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, 136, 72, 0); else - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, 0x88, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, 136, 72, 0); + gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1; DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]); sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId; @@ -2317,27 +2265,27 @@ void sub_8129ABC(u8 taskId) data = gTasks[taskId].data; switch (data[2]) { - case 0: - if (!gPaletteFade.active) - { - sub_8127ACC(taskId); - data[2] = 1; - data[6] = 1; - data[5] = 1; - } - break; - case 1: - SetUpPuttingAwayDecorationPlayerAvatar(); - pal_fill_black(); - data[2] = 2; - break; - case 2: - if (IsWeatherNotFadingIn() == TRUE) - { - data[12] = 1; - sub_8129B34(taskId); - } - break; + case 0: + if (!gPaletteFade.active) + { + sub_8127ACC(taskId); + data[2] = 1; + data[6] = 1; + data[5] = 1; + } + break; + case 1: + SetUpPuttingAwayDecorationPlayerAvatar(); + pal_fill_black(); + data[2] = 2; + break; + case 2: + if (IsWeatherNotFadingIn() == TRUE) + { + data[12] = 1; + sub_8129B34(taskId); + } + break; } } @@ -2347,8 +2295,8 @@ void sub_8129B34(u8 taskId) gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = sub_812A36C; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 0x88; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = 0x48; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 136; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = 72; gTasks[taskId].data[10] = 0; gTasks[taskId].func = sub_8128E18; } @@ -2403,9 +2351,7 @@ void sub_8129C74(u8 taskId) void sub_8129D64(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - { sub_8129B34(taskId); - } } void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data) @@ -2414,39 +2360,48 @@ void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data) { data->width = 1; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_2x1) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x1) { data->width = 2; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_3x1) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x1) { data->width = 3; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_4x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_4x2) { data->width = 4; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_2x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x2) { data->width = 2; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_1x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_1x2) { data->width = 1; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_1x3) + } + else if (gDecorations[decor].shape == DECORSHAPE_1x3) { data->width = 1; data->height = 3; - } else if (gDecorations[decor].shape == DECORSHAPE_2x4) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x4) { data->width = 2; data->height = 4; - } else if (gDecorations[decor].shape == DECORSHAPE_3x3) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x3) { data->width = 3; data->height = 3; - } else if (gDecorations[decor].shape == DECORSHAPE_3x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x2) { data->width = 3; data->height = 2; @@ -2457,8 +2412,8 @@ void sub_8129E0C(u8 x, u8 y) { gSprites[sDecor_CameraSpriteObjectIdx1].invisible = TRUE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = (x << 4) + 0x88; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = (y << 4) + 0x48; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = (x << 4) + 136; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = (y << 4) + 72; } bool8 sub_8129E74(u8 taskId, u8 idx, struct DecorRearrangementDataBuffer *data) @@ -2471,18 +2426,18 @@ bool8 sub_8129E74(u8 taskId, u8 idx, struct DecorRearrangementDataBuffer *data) x = gTasks[taskId].data[0] - 7; y = gTasks[taskId].data[1] - 7; - xOff = gUnknown_0203A17C.pos[idx] >> 4; - yOff = gUnknown_0203A17C.pos[idx] & 0x0F; + xOff = gDecorationContext.pos[idx] >> 4; + yOff = gDecorationContext.pos[idx] & 0x0F; ht = data->height; - if (gUnknown_0203A17C.items[idx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28C) - { - ht --; - } + if (gDecorationContext.items[idx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28C) + ht--; + if (x >= xOff && x < xOff + data->width && y > yOff - ht && y <= yOff) { sub_8129E0C(data->width - (x - xOff + 1), yOff - y); return TRUE; } + return FALSE; } @@ -2492,9 +2447,9 @@ void sub_8129F20(void) u8 yOff; u16 i; - xOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] >> 4; - yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F; - for (i = 0; i < 0x40; i ++) + xOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] >> 4; + yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F; + for (i = 0; i < 0x40; i++) { if (gSaveBlock1Ptr->eventObjectTemplates[i].x == xOff && gSaveBlock1Ptr->eventObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->eventObjectTemplates[i].flagId)) { @@ -2508,13 +2463,13 @@ bool8 sub_8129FC8(u8 taskId) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] != 0) + if (gDecorationContext.items[i] != 0) { - if (gDecorations[gUnknown_0203A17C.items[i]].permission == DECORPERM_SPRITE) + if (gDecorations[gDecorationContext.items[i]].permission == DECORPERM_SPRITE) { - sub_8129D8C(gUnknown_0203A17C.items[i], sDecorRearrangementDataBuffer); + sub_8129D8C(gDecorationContext.items[i], sDecorRearrangementDataBuffer); if (sub_8129E74(taskId, i, sDecorRearrangementDataBuffer) == TRUE) { sDecorRearrangementDataBuffer->idx = i; @@ -2535,11 +2490,11 @@ void sub_812A040(u8 left, u8 top, u8 right, u8 bottom) u8 yOff; u8 decorIdx; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - decorIdx = gUnknown_0203A17C.items[i]; - xOff = gUnknown_0203A17C.pos[i] >> 4; - yOff = gUnknown_0203A17C.pos[i] & 0x0F; + decorIdx = gDecorationContext.items[i]; + xOff = gDecorationContext.pos[i] >> 4; + yOff = gDecorationContext.pos[i] & 0x0F; if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SPRITE && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff) { sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx = i; @@ -2560,9 +2515,9 @@ void sub_812A0E8(u8 taskId) sCurDecorSelectedInRearrangement = 0; if (sub_8129FC8(taskId) != TRUE) { - for (i = 0; i < gUnknown_0203A17C.size; i++) + for (i = 0; i < gDecorationContext.size; i++) { - var1 = gUnknown_0203A17C.items[i]; + var1 = gDecorationContext.items[i]; if (var1 != DECOR_NONE) { sub_8129D8C(var1, &sDecorRearrangementDataBuffer[0]); @@ -2576,8 +2531,8 @@ void sub_812A0E8(u8 taskId) } if (sCurDecorSelectedInRearrangement != 0) { - xOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[0].idx] >> 4; - yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[0].idx] & 0x0F; + xOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[0].idx] >> 4; + yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[0].idx] & 0x0F; var1 = yOff - sDecorRearrangementDataBuffer[0].height + 1; var2 = sDecorRearrangementDataBuffer[0].width + xOff - 1; @@ -2622,47 +2577,43 @@ void sub_812A25C(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - if (!gPaletteFade.active) - { - sub_8127B04(taskId); - gTasks[taskId].data[2] = 1; - } - break; - case 1: - sub_812A3C8(); - gFieldCallback = sub_812A334; - SetMainCallback2(CB2_ReturnToField); - DestroyTask(taskId); - break; + case 0: + if (!gPaletteFade.active) + { + sub_8127B04(taskId); + gTasks[taskId].data[2] = 1; + } + break; + case 1: + sub_812A3C8(); + gFieldCallback = sub_812A334; + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + break; } } void sub_812A2C4(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (data[2]) { - case 0: - HideSecretBaseDecorationSprites(); - data[2] ++; - break; - case 1: - ScriptContext1_SetupScript(EventScript_275D0C); - data[2] ++; - break; - case 2: - ScriptContext2_Enable(); - data[2] ++; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - gTasks[taskId].func = sub_8126B80; - } - break; + case 0: + HideSecretBaseDecorationSprites(); + data[2]++; + break; + case 1: + ScriptContext1_SetupScript(EventScript_275D0C); + data[2]++; + break; + case 2: + ScriptContext2_Enable(); + data[2]++; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + gTasks[taskId].func = HandleDecorationActionsMenuInput; + break; } } @@ -2672,47 +2623,39 @@ void sub_812A334(void) pal_fill_black(); DrawDialogueFrame(0, 1); - sub_8126ABC(); + InitDecorationActionsWindow(); taskId = CreateTask(sub_812A2C4, 8); gTasks[taskId].data[2] = 0; } void sub_812A36C(struct Sprite *sprite) { - sprite->data[0] ++; + sprite->data[0]++; sprite->data[0] &= 0x1F; if (sprite->data[0] > 15) - { sprite->invisible = TRUE; - } else - { sprite->invisible = FALSE; - } } void sub_812A39C(void) { if (gSaveBlock2Ptr->playerGender == MALE) - { LoadSpritePalette(&gUnknown_085A73D8); - } else - { LoadSpritePalette(&gUnknown_085A73E0); - } } void sub_812A3C8(void) { - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG); + FreeSpritePaletteByTag(PLACE_DECORATION_PLAYER_TAG); } void sub_812A3D4(u8 taskId) { if (IsSelectedDecorInThePC() == TRUE) { - StringCopy(gStringVar1, gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].name); + StringCopy(gStringVar1, gDecorations[gCurDecorationItems[gCurDecorationIndex]].name); StringExpandPlaceholders(gStringVar4, gText_DecorationWillBeDiscarded); DisplayItemMessageOnField(taskId, gStringVar4, sub_812A458); } @@ -2731,9 +2674,9 @@ void sub_812A458(u8 taskId) void sub_812A478(u8 taskId) { - gCurDecorInventoryItems[gCurDecorationIndex] = DECOR_NONE; - sCurDecorCatCount = CountDecorationCategoryN(sCurDecorationCategory); - CondenseDecorationCategoryN(sCurDecorationCategory); + gCurDecorationItems[gCurDecorationIndex] = DECOR_NONE; + sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory); + CondenseDecorationsInCategory(sCurDecorationCategory); IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); StringExpandPlaceholders(gStringVar4, gText_DecorationThrownAway); DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C); diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c index 308320206c..80646c69c0 100644 --- a/src/decoration_inventory.c +++ b/src/decoration_inventory.c @@ -32,7 +32,7 @@ void SetDecorationInventoriesPointers(void) SET_DECOR_INV(5, gSaveBlock1Ptr->decorPoster); SET_DECOR_INV(6, gSaveBlock1Ptr->decorDoll); SET_DECOR_INV(7, gSaveBlock1Ptr->decorCushion); - sub_8126968(); + InitDecorationContextItems(); } static void ClearDecorationInventory(u8 idx) @@ -120,7 +120,7 @@ bool8 DecorationCheckSpace(u8 decor) s8 DecorationRemove(u8 decor) { u8 i; - u8 idx; + u8 category; i = 0; if (decor == DECOR_NONE) @@ -129,38 +129,38 @@ s8 DecorationRemove(u8 decor) } for (i = 0; i < gDecorationInventories[gDecorations[decor].category].size; i ++) { - idx = gDecorations[decor].category; - if (gDecorationInventories[idx].items[i] == decor) + category = gDecorations[decor].category; + if (gDecorationInventories[category].items[i] == decor) { - gDecorationInventories[idx].items[i] = DECOR_NONE; - CondenseDecorationCategoryN(idx); + gDecorationInventories[category].items[i] = DECOR_NONE; + CondenseDecorationsInCategory(category); return 1; } } return 0; } -void CondenseDecorationCategoryN(u8 idx) +void CondenseDecorationsInCategory(u8 category) { u8 i; u8 j; u8 tmp; - for (i = 0; i < gDecorationInventories[idx].size; i ++) + for (i = 0; i < gDecorationInventories[category].size; i ++) { - for (j = i + 1; j < gDecorationInventories[idx].size; j ++) + for (j = i + 1; j < gDecorationInventories[category].size; j ++) { - if (gDecorationInventories[idx].items[j] != DECOR_NONE && (gDecorationInventories[idx].items[i] == DECOR_NONE || gDecorationInventories[idx].items[i] > gDecorationInventories[idx].items[j])) + if (gDecorationInventories[category].items[j] != DECOR_NONE && (gDecorationInventories[category].items[i] == DECOR_NONE || gDecorationInventories[category].items[i] > gDecorationInventories[category].items[j])) { - tmp = gDecorationInventories[idx].items[i]; - gDecorationInventories[idx].items[i] = gDecorationInventories[idx].items[j]; - gDecorationInventories[idx].items[j] = tmp; + tmp = gDecorationInventories[category].items[i]; + gDecorationInventories[category].items[i] = gDecorationInventories[category].items[j]; + gDecorationInventories[category].items[j] = tmp; } } } } -u8 CountDecorationCategoryN(u8 idx) +u8 GetNumOwnedDecorationsInCategory(u8 idx) { u8 i; u8 ct; @@ -176,15 +176,14 @@ u8 CountDecorationCategoryN(u8 idx) return ct; } -u8 CountDecorations(void) +u8 GetNumOwnedDecorations(void) { - u8 idx; - u8 ct; + u8 category; + u8 count; - ct = 0; - for (idx = 0; idx < 8; idx ++) - { - ct += CountDecorationCategoryN(idx); - } - return ct; + count = 0; + for (category = 0; category < DECORCAT_COUNT; category++) + count += GetNumOwnedDecorationsInCategory(category); + + return count; } diff --git a/src/menu_helpers.c b/src/menu_helpers.c index b5745d812d..801e2546b3 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -344,17 +344,17 @@ void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, *arg2 = (*usedSlotsCount); } -void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3) +void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems) { - if ((*arg0) != 0 && (*arg0) + arg2 > arg3) - (*arg0) = arg3 - arg2; + if (*scrollOffset != 0 && *scrollOffset + maxShownItems > numItems) + *scrollOffset = numItems - maxShownItems; - if ((*arg0) + (*arg1) >= arg3) + if (*scrollOffset + *cursorPos >= numItems) { - if (arg3 == 0) - (*arg1) = 0; + if (numItems == 0) + *cursorPos = 0; else - (*arg1) = arg3 - 1; + *cursorPos = numItems - 1; } } diff --git a/src/player_pc.c b/src/player_pc.c index 49b9cc5f5c..08f24d379e 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -412,9 +412,9 @@ static void PlayerPC_Mailbox(u8 taskId) } } -static void PlayerPC_Decoration(u8 var) +static void PlayerPC_Decoration(u8 taskId) { - sub_8126B2C(var); //DoPlayerPCDecoration(var); + DoPlayerRoomDecorationMenu(taskId); } static void PlayerPC_TurnOff(u8 taskId) diff --git a/src/secret_base.c b/src/secret_base.c index a311db37d0..ac35a090a0 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -854,7 +854,7 @@ void GetCurSecretBaseRegistrationValidity(void) { if (IsSecretBaseRegistered(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE) gSpecialVar_Result = 1; - else if (GetNumRegisteredSecretBases() > 9) + else if (GetNumRegisteredSecretBases() >= 10) gSpecialVar_Result = 2; else gSpecialVar_Result = 0; @@ -868,7 +868,7 @@ void ToggleCurSecretBaseRegistry(void) void ShowSecretBaseDecorationMenu(void) { - CreateTask(sub_8126AD8, 0); + CreateTask(DoSecretBaseDecorationMenu, 0); } void ShowSecretBaseRegistryMenu(void) diff --git a/src/trader.c b/src/trader.c index 97bc4626f1..dcf1fa076d 100644 --- a/src/trader.c +++ b/src/trader.c @@ -142,7 +142,7 @@ void ScrSpecial_DoesPlayerHaveNoDecorations(void) for (i = 0; i < 8; i++) { - if (CountDecorationCategoryN(i)) + if (GetNumOwnedDecorationsInCategory(i)) { gSpecialVar_Result = FALSE; return; @@ -157,21 +157,21 @@ void ScrSpecial_IsDecorationFull(void) if (gDecorations[gSpecialVar_0x8004].category != gDecorations[gSpecialVar_0x8006].category && GetFirstEmptyDecorSlot(gDecorations[gSpecialVar_0x8004].category) == -1) { - sub_8127250(gStringVar2, gDecorations[gSpecialVar_0x8004].category); + CopyDecorationCategoryName(gStringVar2, gDecorations[gSpecialVar_0x8004].category); gSpecialVar_Result = TRUE; } } void ScrSpecial_TraderMenuGiveDecoration(void) { - CreateTask(sub_8127208, 0); + CreateTask(ShowDecorationCategoriesWindow, 0); } void sub_8133DA0(u8 taskId) { if (IsSelectedDecorInThePC() == TRUE) { - gSpecialVar_0x8006 = gCurDecorInventoryItems[gCurDecorationIndex]; + gSpecialVar_0x8006 = gCurDecorationItems[gCurDecorationIndex]; StringCopy(gStringVar3, gDecorations[gSpecialVar_0x8004].name); StringCopy(gStringVar2, gDecorations[gSpecialVar_0x8006].name); } @@ -183,7 +183,7 @@ void sub_8133DA0(u8 taskId) EnableBothScriptContexts(); } -void sub_8133E1C(u8 taskId) +void ExitTraderMenu(u8 taskId) { gSpecialVar_0x8006 = 0; DestroyTask(taskId); From b251ddf3b45a6d95d38c6c5d1561067d0223c691 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 6 Apr 2019 13:58:06 -0500 Subject: [PATCH 75/84] Add explicit return to Alloc funcs --- src/alloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/alloc.c b/src/alloc.c index 2944bc1c6b..4d1a9fe5cb 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -178,12 +178,12 @@ void InitHeap(void *heapStart, u32 heapSize) void *Alloc(u32 size) { - AllocInternal(sHeapStart, size); + return AllocInternal(sHeapStart, size); } void *AllocZeroed(u32 size) { - AllocZeroedInternal(sHeapStart, size); + return AllocZeroedInternal(sHeapStart, size); } void Free(void *pointer) From 146da2df96805b27d7063fabca2d3c5a83de7613 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 6 Apr 2019 14:48:46 -0500 Subject: [PATCH 76/84] Generate palette from zoom_tiles.png --- data/pokenav.s | 2 +- graphics/pokenav/{8622868.pal => zoom_tiles.pal} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename graphics/pokenav/{8622868.pal => zoom_tiles.pal} (100%) diff --git a/data/pokenav.s b/data/pokenav.s index cb5030b4ba..354d781d46 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -1436,7 +1436,7 @@ gUnknown_08622850:: @ 8622850 spr_template 8, 13, gUnknown_08622848, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08622868:: @ 8622868 - .incbin "graphics/pokenav/8622868.gbapal" + .incbin "graphics/pokenav/zoom_tiles.gbapal" gUnknown_08622888:: @ 8622888 .incbin "graphics/pokenav/zoom_tiles.4bpp.lz" diff --git a/graphics/pokenav/8622868.pal b/graphics/pokenav/zoom_tiles.pal similarity index 100% rename from graphics/pokenav/8622868.pal rename to graphics/pokenav/zoom_tiles.pal From c3cfd6065825ec8ddd5e1782998071518efaa322 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 6 Apr 2019 15:16:05 -0500 Subject: [PATCH 77/84] Generate zoom_tiles palette from correct image --- data/pokenav.s | 2 +- graphics/pokenav/{zoom_tiles.pal => 8622868.pal} | 0 src/graphics.c | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename graphics/pokenav/{zoom_tiles.pal => 8622868.pal} (100%) diff --git a/data/pokenav.s b/data/pokenav.s index 354d781d46..cb5030b4ba 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -1436,7 +1436,7 @@ gUnknown_08622850:: @ 8622850 spr_template 8, 13, gUnknown_08622848, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08622868:: @ 8622868 - .incbin "graphics/pokenav/zoom_tiles.gbapal" + .incbin "graphics/pokenav/8622868.gbapal" gUnknown_08622888:: @ 8622888 .incbin "graphics/pokenav/zoom_tiles.4bpp.lz" diff --git a/graphics/pokenav/zoom_tiles.pal b/graphics/pokenav/8622868.pal similarity index 100% rename from graphics/pokenav/zoom_tiles.pal rename to graphics/pokenav/8622868.pal diff --git a/src/graphics.c b/src/graphics.c index fd5f24d49b..531d337a2a 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1363,7 +1363,7 @@ const u16 gPokenavMessageBox_Pal[] = INCBIN_U16("graphics/pokenav/message.gbapal const u32 gPokenavMessageBox_Gfx[] = INCBIN_U32("graphics/pokenav/message.4bpp.lz"); const u32 gPokenavMessageBox_Tilemap[] = INCBIN_U32("graphics/pokenav/message.bin.lz"); -const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom.gbapal"); +const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom_tiles.gbapal"); const u32 gHoennMapZoomIcons_Gfx[] = INCBIN_U32("graphics/pokenav/zoom.4bpp.lz"); const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/cancel.gbapal"); From 3b45f37517a8d97f80c86f08d2e60c31a1701903 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 6 Apr 2019 16:15:52 -0400 Subject: [PATCH 78/84] Significant documentatioon progress --- asm/pokenav.s | 108 +++++----- src/pokenav.c | 551 ++++++++++++++++++++++++++------------------------ 2 files changed, 340 insertions(+), 319 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index 68dd355421..d1edebd3f3 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -946,7 +946,7 @@ sub_81C9958: @ 81C9958 strb r0, [r4, 0xC] ldr r0, =sub_81C9A10 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] ldr r0, =sub_81C99FC str r0, [r4] @@ -970,7 +970,7 @@ sub_81C9990: @ 81C9990 adds r4, r0 ldr r0, [r4] movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r5, 0x4] ldr r0, =sub_81C99FC str r0, [r5] @@ -1015,7 +1015,7 @@ sub_81C99FC: @ 81C99FC movs r0, 0x2 bl GetSubstructPtr ldr r0, [r0, 0x4] - bl sub_81C70D8 + bl IsLoopedTaskActive pop {r1} bx r1 thumb_func_end sub_81C99FC @@ -3145,7 +3145,7 @@ sub_81CAAE8: @ 81CAAE8 str r0, [r4, 0x10] ldr r0, =sub_81CAD20 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x14] movs r0, 0x1 b _081CAB1E @@ -3224,7 +3224,7 @@ _081CAB84: ldr r0, =sub_81CAC04 str r0, [r4, 0x18] strh r2, [r4] - bl sub_81C875C + bl GetSelectedMatchCall lsls r0, 2 adds r1, r4, r0 ldrb r0, [r1, 0x1C] @@ -4097,7 +4097,7 @@ sub_81CB1D0: @ 81CB1D0 movs r0, 0x5 bl GetSubstructPtr adds r4, r0, 0 - bl sub_81C875C + bl GetSelectedMatchCall adds r1, r0, 0 lsls r0, r1, 2 adds r4, r0 @@ -4169,7 +4169,7 @@ sub_81CB260: @ 81CB260 strb r0, [r4, 0x19] ldr r0, =sub_81CB324 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] ldr r0, =sub_81CB310 str r0, [r4] @@ -4196,7 +4196,7 @@ sub_81CB29C: @ 81CB29C adds r4, r0 ldr r0, [r4] movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r5, 0x4] ldr r0, =sub_81CB310 str r0, [r5] @@ -4244,7 +4244,7 @@ sub_81CB310: @ 81CB310 movs r0, 0x6 bl GetSubstructPtr ldr r0, [r0, 0x4] - bl sub_81C70D8 + bl IsLoopedTaskActive pop {r1} bx r1 thumb_func_end sub_81CB310 @@ -4471,7 +4471,7 @@ _081CB52A: beq _081CB572 b _081CB580 _081CB534: - bl sub_81C868C + bl MatchCall_MoveCursorDown cmp r0, 0x1 beq _081CB54C cmp r0, 0x1 @@ -4540,7 +4540,7 @@ _081CB5A2: beq _081CB5EA b _081CB5F8 _081CB5AC: - bl sub_81C8658 + bl MatchCall_MoveCursorUp cmp r0, 0x1 beq _081CB5C4 cmp r0, 0x1 @@ -4609,7 +4609,7 @@ _081CB61A: beq _081CB662 b _081CB670 _081CB624: - bl sub_81C870C + bl MatchCall_PageDown cmp r0, 0x1 beq _081CB63C cmp r0, 0x1 @@ -4678,7 +4678,7 @@ _081CB692: beq _081CB6DA b _081CB6E8 _081CB69C: - bl sub_81C86CC + bl MatchCall_PageUp cmp r0, 0x1 beq _081CB6B4 cmp r0, 0x1 @@ -5118,7 +5118,7 @@ _081CB9E8: .4byte _081CBA40 .4byte _081CBA4A _081CB9FC: - bl sub_81C8770 + bl GetMatchCallListTopIndex bl sub_81CB0E4 adds r5, r0, 0 cmp r5, 0 @@ -5250,7 +5250,7 @@ _081CBAF4: .4byte _081CBB4C .4byte _081CBB56 _081CBB08: - bl sub_81C8770 + bl GetMatchCallListTopIndex bl sub_81CB128 adds r5, r0, 0 cmp r5, 0 @@ -5744,7 +5744,7 @@ sub_81CBEF8: @ 81CBEF8 sub sp, 0x2C adds r5, r0, 0 adds r4, r1, 0 - bl sub_81C875C + bl GetSelectedMatchCall adds r0, r4 bl sub_81CAEA4 lsls r0, 16 @@ -6058,7 +6058,7 @@ sub_81CC158: @ 81CC158 push {r4,r5,lr} sub sp, 0xC adds r4, r0, 0 - bl sub_81C875C + bl GetSelectedMatchCall adds r1, r4, 0 adds r1, 0xF bl sub_81CAF78 @@ -6344,7 +6344,7 @@ sub_81CC370: @ 81CC370 sub_81CC39C: @ 81CC39C push {r4-r7,lr} adds r7, r0, 0 - bl sub_81C875C + bl GetSelectedMatchCall bl sub_81CAF04 cmp r0, 0 blt _081CC400 @@ -6666,7 +6666,7 @@ sub_81CC5F4: @ 81CC5F4 beq _081CC624 ldr r0, =sub_81CC6F4 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] ldr r0, =sub_81CC6BC str r0, [r4] @@ -6693,7 +6693,7 @@ sub_81CC62C: @ 81CC62C adds r4, r0 ldr r0, [r4] movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r5, 0x4] ldr r0, =sub_81CC6BC str r0, [r5] @@ -6753,7 +6753,7 @@ sub_81CC6BC: @ 81CC6BC movs r0, 0x4 bl GetSubstructPtr ldr r0, [r0, 0x4] - bl sub_81C70D8 + bl IsLoopedTaskActive pop {r1} bx r1 thumb_func_end sub_81CC6BC @@ -7518,7 +7518,7 @@ sub_81CCD10: @ 81CCD10 push {lr} ldr r0, =sub_81CCD34 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask pop {r0} bx r0 .pool @@ -7528,7 +7528,7 @@ sub_81CCD10: @ 81CCD10 sub_81CCD24: @ 81CCD24 push {lr} ldr r0, =sub_81CCD34 - bl sub_81C7124 + bl FuncIsActiveLoopedTask pop {r1} bx r1 .pool @@ -9642,7 +9642,7 @@ sub_81CDDD4: @ 81CDDD4 strb r0, [r1] ldr r0, =sub_81CDE94 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4] ldr r0, =0x00001810 adds r1, r4, r0 @@ -9675,7 +9675,7 @@ sub_81CDE2C: @ 81CDE2C adds r4, r0 ldr r0, [r4] movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r5] ldr r0, =0x00001810 adds r5, r0 @@ -9707,7 +9707,7 @@ sub_81CDE80: @ 81CDE80 movs r0, 0xC bl GetSubstructPtr ldr r0, [r0] - bl sub_81C70D8 + bl IsLoopedTaskActive pop {r1} bx r1 thumb_func_end sub_81CDE80 @@ -11639,7 +11639,7 @@ sub_81CEF3C: @ 81CEF3C str r0, [r4] ldr r0, =sub_81CF11C movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] movs r0, 0 str r0, [r4, 0x18] @@ -11726,7 +11726,7 @@ sub_81CF010: @ 81CF010 push {r4,lr} adds r4, r0, 0 ldr r0, [r4, 0x4] - bl sub_81C70D8 + bl IsLoopedTaskActive cmp r0, 0 bne _081CF022 ldr r0, =sub_81CF030 @@ -11796,7 +11796,7 @@ _081CF088: movs r0, 0 b _081CF0A6 _081CF096: - bl sub_81C875C + bl GetSelectedMatchCall ldr r1, [r4, 0x20] strh r0, [r1, 0x2] str r5, [r4, 0x1C] @@ -11862,7 +11862,7 @@ sub_81CF0F0: @ 81CF0F0 movs r0, 0x7 bl GetSubstructPtr adds r4, r0, 0 - bl sub_81C875C + bl GetSelectedMatchCall ldr r1, [r4, 0x20] lsls r0, 2 adds r1, r0 @@ -12177,7 +12177,7 @@ sub_81CF330: @ 81CF330 beq _081CF360 ldr r0, =sub_81CF418 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] ldr r0, =sub_81CF3E4 str r0, [r4] @@ -12206,7 +12206,7 @@ sub_81CF368: @ 81CF368 beq _081CF398 ldr r0, =sub_81CF418 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] ldr r0, =sub_81CF3E4 str r0, [r4] @@ -12234,7 +12234,7 @@ sub_81CF3A0: @ 81CF3A0 adds r4, r0 ldr r0, [r4] movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r5, 0x4] ldr r0, =sub_81CF3E4 str r0, [r5] @@ -12261,7 +12261,7 @@ sub_81CF3E4: @ 81CF3E4 movs r0, 0x8 bl GetSubstructPtr ldr r0, [r0, 0x4] - bl sub_81C70D8 + bl IsLoopedTaskActive pop {r1} bx r1 thumb_func_end sub_81CF3E4 @@ -12451,7 +12451,7 @@ _081CF592: beq _081CF5D8 b _081CF5E6 _081CF59C: - bl sub_81C8658 + bl MatchCall_MoveCursorUp cmp r0, 0x1 beq _081CF5B4 cmp r0, 0x1 @@ -12519,7 +12519,7 @@ _081CF60A: beq _081CF650 b _081CF65E _081CF614: - bl sub_81C868C + bl MatchCall_MoveCursorDown cmp r0, 0x1 beq _081CF62C cmp r0, 0x1 @@ -12587,7 +12587,7 @@ _081CF682: beq _081CF6C8 b _081CF6D6 _081CF68C: - bl sub_81C86CC + bl MatchCall_PageUp cmp r0, 0x1 beq _081CF6A4 cmp r0, 0x1 @@ -12655,7 +12655,7 @@ _081CF6FA: beq _081CF740 b _081CF74E _081CF704: - bl sub_81C870C + bl MatchCall_PageDown cmp r0, 0x1 beq _081CF71C cmp r0, 0x1 @@ -13008,7 +13008,7 @@ sub_81CF9BC: @ 81CF9BC str r0, [r4] ldr r0, =sub_81CFB74 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] movs r0, 0 str r0, [r4, 0x14] @@ -13082,7 +13082,7 @@ sub_81CFA68: @ 81CFA68 push {r4,lr} adds r4, r0, 0 ldr r0, [r4, 0x4] - bl sub_81C70D8 + bl IsLoopedTaskActive cmp r0, 0 bne _081CFA7A ldr r0, =sub_81CFA88 @@ -13152,7 +13152,7 @@ _081CFAE0: movs r0, 0 b _081CFAFE _081CFAEE: - bl sub_81C875C + bl GetSelectedMatchCall ldr r1, [r4, 0x1C] strh r0, [r1, 0x2] str r5, [r4, 0x18] @@ -13218,7 +13218,7 @@ sub_81CFB48: @ 81CFB48 movs r0, 0x9 bl GetSubstructPtr adds r4, r0, 0 - bl sub_81C875C + bl GetSelectedMatchCall ldr r1, [r4, 0x1C] lsls r0, 2 adds r1, r0 @@ -13563,7 +13563,7 @@ sub_81CFDD0: @ 81CFDD0 beq _081CFE00 ldr r0, =sub_81CFEB8 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] ldr r0, =sub_81CFE84 str r0, [r4] @@ -13592,7 +13592,7 @@ sub_81CFE08: @ 81CFE08 beq _081CFE38 ldr r0, =sub_81CFEB8 movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] ldr r0, =sub_81CFE84 str r0, [r4] @@ -13620,7 +13620,7 @@ sub_81CFE40: @ 81CFE40 adds r4, r0 ldr r0, [r4] movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r5, 0x4] ldr r0, =sub_81CFE84 str r0, [r5] @@ -13647,7 +13647,7 @@ sub_81CFE84: @ 81CFE84 movs r0, 0xA bl GetSubstructPtr ldr r0, [r0, 0x4] - bl sub_81C70D8 + bl IsLoopedTaskActive pop {r1} bx r1 thumb_func_end sub_81CFE84 @@ -13825,7 +13825,7 @@ _081D0016: beq _081D005C b _081D006A _081D0020: - bl sub_81C8658 + bl MatchCall_MoveCursorUp cmp r0, 0x1 beq _081D0038 cmp r0, 0x1 @@ -13893,7 +13893,7 @@ _081D008E: beq _081D00D4 b _081D00E2 _081D0098: - bl sub_81C868C + bl MatchCall_MoveCursorDown cmp r0, 0x1 beq _081D00B0 cmp r0, 0x1 @@ -13961,7 +13961,7 @@ _081D0106: beq _081D014C b _081D015A _081D0110: - bl sub_81C86CC + bl MatchCall_PageUp cmp r0, 0x1 beq _081D0128 cmp r0, 0x1 @@ -14029,7 +14029,7 @@ _081D017E: beq _081D01C4 b _081D01D2 _081D0188: - bl sub_81C870C + bl MatchCall_PageDown cmp r0, 0x1 beq _081D01A0 cmp r0, 0x1 @@ -14169,7 +14169,7 @@ sub_81D024C: @ 81D024C sub_81D0288: @ 81D0288 push {r4,r5,lr} adds r5, r0, 0 - bl sub_81C875C + bl GetSelectedMatchCall adds r4, r0, 0 bl sub_81CFB38 adds r2, r0, 0 @@ -15103,7 +15103,7 @@ sub_81D0978: @ 81D0978 beq _081D09A8 ldr r0, =sub_81D0A6C movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r4, 0x4] ldr r0, =sub_81D0A58 str r0, [r4] @@ -15130,7 +15130,7 @@ sub_81D09B0: @ 81D09B0 adds r4, r0 ldr r0, [r4] movs r1, 0x1 - bl sub_81C7078 + bl CreateLoopedTask str r0, [r5, 0x4] ldr r0, =sub_81D0A58 str r0, [r5] @@ -15196,7 +15196,7 @@ sub_81D0A58: @ 81D0A58 movs r0, 0xE bl GetSubstructPtr ldr r0, [r0, 0x4] - bl sub_81C70D8 + bl IsLoopedTaskActive pop {r1} bx r1 thumb_func_end sub_81D0A58 diff --git a/src/pokenav.c b/src/pokenav.c index cde8646bc9..4032181788 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -26,8 +26,24 @@ enum MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav. }; +// Return values of LoopedTask functions. +#define LT_INC_AND_STOP 0 +#define LT_INC_AND_CONTINUE 1 +#define LT_STOP 2 +#define LT_CONTINUE 3 +#define LT_FINISH 4 +#define LT_SET_STATE(newState) (newState + 5) + +#define LOOPED_TASK_DECODE_STATE(action) (action - 5) + +#define LOOPED_TASK_ID(primary, secondary) (((secondary) << 16) |(primary)) +#define LOOPED_TASK_PRIMARY_ID(taskId) (taskId & 0xFFFF) +#define LOOPED_TASK_SECONDARY_ID(taskId) (taskId >> 16) + #define UNKNOWN_OFFSET 100000 +typedef u32 (*LoopedTask)(s32 state); + struct UnknownSubSubStruct_0203CF40 { u8 bg; u8 unk1; @@ -42,12 +58,14 @@ struct UnknownSubSubStruct_0203CF40 { u16 unkE; }; -struct UnknownSubSubStruct_81C81D4 { - u16 unk0; - u16 unk2; +struct MatchCallWindowState { + // The index of the element at the top of the window. + u16 windowTopIndex; + u16 listLength; u16 unk4; - u16 unk6; - u16 unk8; + // The index of the cursor, relative to the top of the window. + u16 selectedIndexOffset; + u16 visibleEntries; u16 unkA; u32 unkC; u32 unk10; @@ -59,7 +77,7 @@ struct UnknownSubStruct_0203CF40 void (*unk0)(u32); u32 (*unk4)(void); u32 unk8; - u32 unkC; + u32 currentTaskId; u32 unk10; u32 unk14; struct Sprite *unk18; @@ -93,14 +111,14 @@ struct UnknownSubStruct_81C81D4 { struct UnknownInnerStruct_81C81D4 unk0; u8 tilemapBuffer[0x800]; - struct UnknownSubSubStruct_81C81D4 unk888; + struct MatchCallWindowState unk888; u32 unk89C; u32 unk8A0; }; #define SUBSTRUCT_COUNT 19 -struct UnknownStruct_0203CF40 +struct PokenavResources { u32 (*field0)(void); u32 field4; @@ -117,7 +135,7 @@ struct CompressedSpritePalette_ u32 tag; }; -struct UnknownStruct_81C9160 +struct MatchCallListTemplate { u32 unk0; u16 unk4; @@ -200,33 +218,33 @@ extern void sub_81CBD48(u16 windowId, u32 a1); extern u8 *sub_81CAFD8(u16 a0, u32 a1); extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4); -u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct UnknownStruct_81C9160 *a2, s32 a3); -void sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownStruct_81C9160 *a1); +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3); +void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1); void SpriteCB_MatchCallUpArrow(struct Sprite *sprite); void SpriteCB_MatchCallDownArrow(struct Sprite *sprite); void SpriteCB_MatchCallRightArrow(struct Sprite *sprite); void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0); -void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); void sub_81C8ED0(void); -void sub_81C8E54(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); +void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); -void sub_81C8D4C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); -void sub_81C8CB4(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); -u32 sub_81C8A28(s32 a0); -u32 sub_81C8958(s32 a0); -u32 sub_81C8870(s32 a0); -u32 sub_81C85A0(s32 a0); +u32 LoopedTask_sub_81C8A28(s32 a0); +u32 LoopedTask_sub_81C8958(s32 a0); +u32 LoopedTask_sub_81C8870(s32 a0); +u32 LoopedTask_sub_81C85A0(s32 a0); void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1); -u32 sub_81C83F0(s32 a0); +u32 LoopedTask_sub_81C83F0(s32 a0); bool32 sub_81C83E0(void); void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5); -void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); -u32 sub_81C8254(s32 a0); -u32 sub_81C791C(s32 a0); +u32 LoopedTask_sub_81C8254(s32 a0); +u32 LoopedTask_sub_81C791C(s32 a0); bool32 sub_81C756C(u32 a0); bool32 sub_81C76C4(void); static bool32 AnyMonHasRibbon(void); @@ -234,22 +252,22 @@ u32 sub_81C75E0(void); u32 sub_81C75D4(void); u32 sub_81C76FC(void); u32 sub_81C786C(void); -u32 sub_81C7764(s32 a0); -u32 sub_81C78D4(s32 a0); +u32 LoopedTask_sub_81C7764(s32 a0); +u32 LoopedTask_sub_81C78D4(s32 a0); bool32 sub_81C7738(void); void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 a1, u32 a2); void sub_81C7834(void *func1, void *func2); -static void InitMainStruct(struct UnknownStruct_0203CF40 *a0); +static void InitMainStruct(struct PokenavResources *a0); void FreeSubstruct(u32 index); void sub_81C7850(u32 a0); void sub_81C7BF8(u32 a0); -void sub_81C71E4(u8 a0); -void sub_81C7170(u8 taskId); +void Task_RunLoopedTask_LinkMode(u8 a0); +void Task_RunLoopedTask(u8 taskId); void sub_81C742C(u8 taskId); void sub_81C7710(void); static void InitKeys_(void); static void FreeVars(void); -static void VblankCb_Pokenav(void); +static void VBlankCB_Pokenav(void); static void CB2_Pokenav(void); void sub_81C7C28(void); void sub_81C72BC(void); @@ -750,127 +768,131 @@ static const struct SpriteTemplate sMatchCallUpDownArrowSprite = .callback = SpriteCallbackDummy }; -EWRAM_DATA u8 gUnknown_0203CF3C = 0; -EWRAM_DATA struct UnknownStruct_0203CF40 *gUnknown_0203CF40 = NULL; +EWRAM_DATA u8 gNextLoopedTaskId = 0; +EWRAM_DATA struct PokenavResources *gPokenavResources = NULL; EWRAM_DATA u32 gUnknown_0203CF44 = 0; // code -u32 sub_81C7078(u32 (*func)(s32), u32 priority) +u32 CreateLoopedTask(LoopedTask loopedTask, u32 priority) { u16 taskId; if (!IsUpdateLinkStateCBActive()) - taskId = CreateTask(sub_81C7170, priority); + taskId = CreateTask(Task_RunLoopedTask, priority); else - taskId = CreateTask(sub_81C71E4, priority); + taskId = CreateTask(Task_RunLoopedTask_LinkMode, priority); - SetWordTaskArg(taskId, 1, (u32)func); + SetWordTaskArg(taskId, 1, (u32)loopedTask); - gTasks[taskId].data[3] = gUnknown_0203CF3C; - return ((gUnknown_0203CF3C++) << 16) | taskId; + gTasks[taskId].data[3] = gNextLoopedTaskId; + return LOOPED_TASK_ID(taskId, gNextLoopedTaskId++); } -bool32 sub_81C70D8(u32 a0) +bool32 IsLoopedTaskActive(u32 taskId) { - u32 taskId = a0 & 0xFFFF; - u32 v2 = a0 >> 16; + u32 primaryId = LOOPED_TASK_PRIMARY_ID(taskId); + u32 secondaryId = LOOPED_TASK_SECONDARY_ID(taskId); - if (gTasks[taskId].isActive - && (gTasks[taskId].func == sub_81C7170 || gTasks[taskId].func == sub_81C71E4) - && gTasks[taskId].data[3] == v2) + if (gTasks[primaryId].isActive + && (gTasks[primaryId].func == Task_RunLoopedTask || gTasks[primaryId].func == Task_RunLoopedTask_LinkMode) + && gTasks[primaryId].data[3] == secondaryId) return TRUE; else return FALSE; } -bool32 sub_81C7124(u32 (*a0)(s32)) +bool32 FuncIsActiveLoopedTask(LoopedTask func) { s32 i; for (i = 0; i < NUM_TASKS; i++) { if (gTasks[i].isActive - && (gTasks[i].func == sub_81C7170 || gTasks[i].func == sub_81C71E4) - && (void *)GetWordTaskArg(i, 1) == a0) + && (gTasks[i].func == Task_RunLoopedTask || gTasks[i].func == Task_RunLoopedTask_LinkMode) + && (LoopedTask)GetWordTaskArg(i, 1) == func) return TRUE; } return FALSE; } -void sub_81C7170(u8 taskId) +void Task_RunLoopedTask(u8 taskId) { - u32 (*func)(s32) = (void *)GetWordTaskArg(taskId, 1); - s16 *data = gTasks[taskId].data; + LoopedTask loopedTask = (LoopedTask)GetWordTaskArg(taskId, 1); + s16 *state = &gTasks[taskId].data[0]; bool32 exitLoop = FALSE; while (!exitLoop) { - u32 var = func(data[0]); - switch (var) + u32 action = loopedTask(*state); + switch (action) { - case 1: - data[0] = data[0] + 1; + case LT_INC_AND_CONTINUE: + (*state)++; break; - case 0: - data[0]++; + case LT_INC_AND_STOP: + (*state)++; return; - case 4: + case LT_FINISH: DestroyTask(taskId); return; + // case LT_SET_STATE: default: - data[0] = var - 5; + *state = LOOPED_TASK_DECODE_STATE(action); break; - case 3: + case LT_CONTINUE: break; - case 2: + case LT_STOP: return; } } } -void sub_81C71E4(u8 taskId) +// Every "Continue" action stops instead. +void Task_RunLoopedTask_LinkMode(u8 taskId) { - u32 (*func)(u32); - s16 *data; - u32 v1; + LoopedTask task; + s16 *state; + u32 action; if (sub_8087598()) return; - func = (u32 (*)(u32))GetWordTaskArg(taskId, 1); - data = gTasks[taskId].data; - v1 = func(data[0]); - switch (v1) + + task = (LoopedTask)GetWordTaskArg(taskId, 1); + state = &gTasks[taskId].data[0]; + action = task(*state); + switch (action) { - case 0: - case 1: - data[0]++; + case LT_INC_AND_STOP: + case LT_INC_AND_CONTINUE: + (*state)++; break; - case 4: + case LT_FINISH: DestroyTask(taskId); break; + // case: LT_SET_STATE: default: - data[0] = v1 - 5; + *state = LOOPED_TASK_DECODE_STATE(action); break; - case 2: - case 3: + case LT_STOP: + case LT_CONTINUE: break; } } void CB2_InitPokeNav(void) { - gUnknown_0203CF40 = Alloc(sizeof(*gUnknown_0203CF40)); - if (gUnknown_0203CF40 == NULL) + gPokenavResources = Alloc(sizeof(*gPokenavResources)); + if (gPokenavResources == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); } else { - InitMainStruct(gUnknown_0203CF40); + InitMainStruct(gPokenavResources); ResetTasks(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); SetMainCallback2(CB2_Pokenav); - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } } @@ -886,22 +908,22 @@ void sub_81C72BC(void) if (gPaletteFade.active) return; - gUnknown_0203CF40 = Alloc(sizeof(*gUnknown_0203CF40)); - if (gUnknown_0203CF40 == NULL) + gPokenavResources = Alloc(sizeof(*gPokenavResources)); + if (gPokenavResources == NULL) { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } else { - InitMainStruct(gUnknown_0203CF40); - gUnknown_0203CF40->mode = MODE_FORCE_CALL_1; + InitMainStruct(gPokenavResources); + gPokenavResources->mode = MODE_FORCE_CALL_1; ResetTasks(); ResetSpriteData(); FreeAllSpritePalettes(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); SetMainCallback2(CB2_Pokenav); - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } } @@ -912,12 +934,12 @@ static void FreeVars(void) for (i = 0; i < SUBSTRUCT_COUNT; i++) FreeSubstruct(i); - FREE_AND_SET_NULL(gUnknown_0203CF40); + FREE_AND_SET_NULL(gPokenavResources); InitKeys(); } -// Clears UnknownStruct_0203CF40 -static void InitMainStruct(struct UnknownStruct_0203CF40 *a0) +// Clears PokenavResources +static void InitMainStruct(struct PokenavResources *a0) { s32 i; @@ -967,7 +989,7 @@ static void CB2_Pokenav(void) UpdatePaletteFade(); } -static void VblankCb_Pokenav(void) +static void VBlankCB_Pokenav(void) { TransferPlttBuffer(); LoadOam(); @@ -1004,8 +1026,8 @@ void sub_81C742C(u8 taskId) } else if (v1 >= UNKNOWN_OFFSET) { - gUnknown_0861F3EC[gUnknown_0203CF40->field4][6](); - gUnknown_0861F3EC[gUnknown_0203CF40->field4][5](); + gUnknown_0861F3EC[gPokenavResources->field4][6](); + gUnknown_0861F3EC[gPokenavResources->field4][5](); if (sub_81C756C(v1)) { data[0] = 4; @@ -1030,7 +1052,7 @@ void sub_81C742C(u8 taskId) case 5: if (!sub_81C7738()) { - bool32 calledFromScript = (gUnknown_0203CF40->mode != MODE_NORMAL); + bool32 calledFromScript = (gPokenavResources->mode != MODE_NORMAL); sub_81C9430(); FreeVars(); @@ -1054,8 +1076,8 @@ bool32 sub_81C756C(u32 a0) return FALSE; sub_81C7834(gUnknown_0861F3EC[index][3], gUnknown_0861F3EC[index][4]); - gUnknown_0203CF40->field0 = gUnknown_0861F3EC[index][1]; - gUnknown_0203CF40->field4 = index; + gPokenavResources->field0 = gUnknown_0861F3EC[index][1]; + gPokenavResources->field4 = index; return TRUE; } @@ -1066,7 +1088,7 @@ u32 sub_81C75D4(void) u32 sub_81C75E0(void) { - return gUnknown_0203CF40->field0(); + return gPokenavResources->field0(); } static void InitKeys_(void) @@ -1081,33 +1103,33 @@ void SetVBlankCallback_(IntrCallback callback) void SetPokenavVBlankCallback(void) { - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } void *AllocSubstruct(u32 index, u32 size) { - return gUnknown_0203CF40->field10[index] = Alloc(size); + return gPokenavResources->field10[index] = Alloc(size); } void *GetSubstructPtr(u32 index) { - return gUnknown_0203CF40->field10[index]; + return gPokenavResources->field10[index]; } void FreeSubstruct(u32 index) { - if (gUnknown_0203CF40->field10[index] != NULL) - FREE_AND_SET_NULL(gUnknown_0203CF40->field10[index]); + if (gPokenavResources->field10[index] != NULL) + FREE_AND_SET_NULL(gPokenavResources->field10[index]); } u16 GetPokenavMode(void) { - return gUnknown_0203CF40->mode; + return gPokenavResources->mode; } void SetPokenavMode(u16 mode) { - gUnknown_0203CF40->mode = mode; + gPokenavResources->mode = mode; } void sub_81C7694(u32 a0) @@ -1116,17 +1138,17 @@ void sub_81C7694(u32 a0) if (value > 4) value = 0; - gUnknown_0203CF40->fieldA = value; + gPokenavResources->fieldA = value; } u16 sub_81C76AC(void) { - return gUnknown_0203CF40->fieldA; + return gPokenavResources->fieldA; } bool32 CanViewRibbonsMenu(void) { - return gUnknown_0203CF40->hasAnyRibbons; + return gPokenavResources->hasAnyRibbons; } bool32 sub_81C76C4(void) @@ -1139,14 +1161,14 @@ bool32 sub_81C76C4(void) ResetSpriteData(); FreeAllSpritePalettes(); - structPtr->unkC = sub_81C7078(sub_81C7764, 1); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_sub_81C7764, 1); return TRUE; } u32 sub_81C76FC(void) { struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - return sub_81C70D8(structPtr->unkC); + return IsLoopedTaskActive(structPtr->currentTaskId); } void sub_81C7710(void) @@ -1169,7 +1191,7 @@ bool32 sub_81C7738(void) return TRUE; } -u32 sub_81C7764(s32 a0) +u32 LoopedTask_sub_81C7764(s32 a0) { struct UnknownSubStruct_0203CF40 *structPtr; @@ -1234,22 +1256,22 @@ u32 sub_81C786C(void) void sub_81C7880(void) { struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unkC = sub_81C7078(sub_81C78D4, 4); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_sub_81C78D4, 4); } void sub_81C78A0(void) { struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unkC = sub_81C7078(sub_81C791C, 4); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_sub_81C791C, 4); } bool32 sub_81C78C0(void) { struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - return sub_81C70D8(structPtr->unkC); + return IsLoopedTaskActive(structPtr->currentTaskId); } -u32 sub_81C78D4(s32 a0) +u32 LoopedTask_sub_81C78D4(s32 a0) { switch (a0) { @@ -1270,7 +1292,7 @@ u32 sub_81C78D4(s32 a0) } } -u32 sub_81C791C(s32 a0) +u32 LoopedTask_sub_81C791C(s32 a0) { if (ChangeBgY(0, 384, 2) <= 0) { @@ -1782,7 +1804,7 @@ void sub_81C817C(struct Sprite *sprite) } } -bool32 sub_81C81D4(const struct BgTemplate *arg0, struct UnknownStruct_81C9160 *arg1, s32 arg2) +bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2) { u32 v1; struct UnknownSubStruct_81C81D4 *structPtr; @@ -1798,13 +1820,13 @@ bool32 sub_81C81D4(const struct BgTemplate *arg0, struct UnknownStruct_81C9160 * if (v1 == 0) return FALSE; - sub_81C7078(sub_81C8254, 6); + CreateLoopedTask(LoopedTask_sub_81C8254, 6); return TRUE; } bool32 sub_81C8224(void) { - return sub_81C7124(sub_81C8254); + return FuncIsActiveLoopedTask(LoopedTask_sub_81C8254); } void sub_81C8234(void) @@ -1817,7 +1839,7 @@ void sub_81C8234(void) FreeSubstruct(0x11); } -u32 sub_81C8254(s32 a0) +u32 LoopedTask_sub_81C8254(s32 a0) { struct UnknownSubStruct_81C81D4 *structPtr; @@ -1877,17 +1899,17 @@ void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0) CopyWindowToVram(a0->windowId, 1); } -void sub_81C837C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) +void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) { s32 v1; s32 v2; // TODO: Clean this up. - v1 = a0->unk2 - a0->unk0; - v2 = a0->unk8; - if (v1 > a0->unk8) + v1 = a0->listLength - a0->windowTopIndex; + v2 = a0->visibleEntries; + if (v1 > a0->visibleEntries) v1 = v2; - sub_81C83AC(a0->unk10, a0->unk0, v1, a0->unkC, 0, a1); + sub_81C83AC(a0->unk10, a0->windowTopIndex, v1, a0->unkC, 0, a1); } void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5) @@ -1901,15 +1923,15 @@ void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStru a5->unk0.unkE = a2; a5->unk14 = a1; a5->unk10 = a4; - sub_81C7078(sub_81C83F0, 5); + CreateLoopedTask(LoopedTask_sub_81C83F0, 5); } bool32 sub_81C83E0(void) { - return sub_81C7124(sub_81C83F0); + return FuncIsActiveLoopedTask(LoopedTask_sub_81C83F0); } -u32 sub_81C83F0(s32 a0) +u32 LoopedTask_sub_81C83F0(s32 a0) { struct UnknownInnerStruct_81C81D4 *structPtr; u32 v1; @@ -1951,24 +1973,24 @@ u32 sub_81C83F0(s32 a0) } } -bool32 sub_81C84A4(void) +bool32 ShouldShowUpArrow(void) { u16 v1; s32 v2; struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); - return structPtr->unk888.unk0 != 0; + return structPtr->unk888.windowTopIndex != 0; } -bool32 sub_81C84C0(void) +bool32 ShouldShowDownArrow(void) { - struct UnknownSubSubStruct_81C81D4 *subPtr; + struct MatchCallWindowState *subPtr; struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); subPtr = &structPtr->unk888; - return subPtr->unk0 + subPtr->unk8 < subPtr->unk2; + return subPtr->windowTopIndex + subPtr->visibleEntries < subPtr->listLength; } @@ -1976,37 +1998,37 @@ bool32 sub_81C84C0(void) // This has some register renaming issues (r4, r5, and r6 are all switched around), and // for some reason it's creating two copies of subPtr->unk0. // TODO: Now I know why it's making two copies - one of them is UnknownInnerStruct_81C81D4. -void sub_81C84E8(s32 a0, s32 a1) +void MatchCall_MoveWindow(s32 a0, bool32 a1) { s32 v1; - struct UnknownSubSubStruct_81C81D4 *subPtr; + struct MatchCallWindowState *subPtr; struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); subPtr = &structPtr->unk888; if (a0 < 0) { - // This is where the issue is. subPtr->unk0 is being stored in r1 and then copied to + // This is where the issue is. subPtr->windowTopIndex is being stored in r1 and then copied to // r2... and then r2 is read for the if statement, r1 is read for the function call, // and then both are clobbered as expected. Between those two uses, no writes to r1/r2 // happen; it doesn't need to be duplicated/moved at all. - if (subPtr->unk0 + a0 < 0) - v1 = -1 * subPtr->unk0; + if (subPtr->windowTopIndex + a0 < 0) + v1 = -1 * subPtr->windowTopIndex; else v1 = a0; - if (a1 != 0) - sub_81C83AC(subPtr->unk10, subPtr->unk0 + v1, v1 * -1, subPtr->unkC, v1, structPtr); + if (a1) + sub_81C83AC(subPtr->unk10, subPtr->windowTopIndex + v1, v1 * -1, subPtr->unkC, v1, structPtr); } - else if (a1 != 0) + else if (a1) { - gUnknown_0203CF44 = subPtr->unk0 + subPtr->unk8; - if ((s32)(gUnknown_0203CF44) + a0 >= (s32)subPtr->unk2) - v1 = subPtr->unk2 - gUnknown_0203CF44; + gUnknown_0203CF44 = subPtr->windowTopIndex + subPtr->visibleEntries; + if ((s32)(gUnknown_0203CF44) + a0 >= (s32)subPtr->listLength) + v1 = subPtr->listLength - gUnknown_0203CF44; else v1 = a0; - sub_81C83AC(subPtr->unk10, gUnknown_0203CF44, v1, subPtr->unkC, subPtr->unk8, structPtr); + sub_81C83AC(subPtr->unk10, gUnknown_0203CF44, v1, subPtr->unkC, subPtr->visibleEntries, structPtr); // Needed to prevent GCC from combining the two sub_81C83AC calls. asm(""); } @@ -2016,11 +2038,11 @@ void sub_81C84E8(s32 a0, s32 a1) } sub_81C8568(v1, structPtr); - subPtr->unk0++; + subPtr->windowTopIndex++; } #else NAKED -void sub_81C84E8(s32 a0, s32 a1) +void MatchCall_MoveWindow(s32 a0, bool32 a1) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -2098,10 +2120,10 @@ void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1) else a1->unk30 = 2; a1->unk2C = a0; - a1->unk28 = sub_81C7078(sub_81C85A0, 6); + a1->unk28 = CreateLoopedTask(LoopedTask_sub_81C85A0, 6); } -u32 sub_81C85A0(s32 a0) +u32 LoopedTask_sub_81C85A0(s32 a0) { s32 y; s32 v1; @@ -2153,32 +2175,31 @@ bool32 sub_81C8630(void) { struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); - return sub_81C70D8(structPtr->unk0.unk28); + return IsLoopedTaskActive(structPtr->unk0.unk28); } -struct UnknownSubSubStruct_81C81D4 *sub_81C8644(void) +struct MatchCallWindowState *GetMatchCallWindowStruct(void) { struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); return &structPtr->unk888; } -u32 sub_81C8658(void) +u32 MatchCall_MoveCursorUp(void) { - struct UnknownSubSubStruct_81C81D4 *structPtr; - structPtr = sub_81C8644(); + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); - // Using unk6 as a timer. - if (structPtr->unk6 != 0) + if (structPtr->selectedIndexOffset != 0) { - structPtr->unk6--; + structPtr->selectedIndexOffset--; return 1; } else { - if (sub_81C84A4()) + if (ShouldShowUpArrow()) { - sub_81C84E8(-1, 1); + MatchCall_MoveWindow(-1, TRUE); return 2; } else @@ -2188,19 +2209,19 @@ u32 sub_81C8658(void) } } -u32 sub_81C868C(void) +u32 MatchCall_MoveCursorDown(void) { - struct UnknownSubSubStruct_81C81D4 *structPtr; - structPtr = sub_81C8644(); + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); - if (structPtr->unk0 + structPtr->unk6 < structPtr->unk2 - 1) + if (structPtr->windowTopIndex + structPtr->selectedIndexOffset < structPtr->listLength - 1) { - if (structPtr->unk6 < structPtr->unk8 - 1) + if (structPtr->selectedIndexOffset < structPtr->visibleEntries - 1) { - structPtr->unk6++; + structPtr->selectedIndexOffset++; return 1; } - else if (!sub_81C84C0()) + else if (!ShouldShowDownArrow()) { return 0; } @@ -2209,28 +2230,28 @@ u32 sub_81C868C(void) { return 0; } - sub_81C84E8(1, 1); + MatchCall_MoveWindow(1, TRUE); return 2; } -u32 sub_81C86CC(void) +u32 MatchCall_PageUp(void) { - struct UnknownSubSubStruct_81C81D4 *structPtr; - s32 v1; + struct MatchCallWindowState *structPtr; + s32 scroll; - structPtr = sub_81C8644(); - if (sub_81C84A4()) + structPtr = GetMatchCallWindowStruct(); + if (ShouldShowUpArrow()) { - if (structPtr->unk0 >= structPtr->unk8) - v1 = structPtr->unk8; + if (structPtr->windowTopIndex >= structPtr->visibleEntries) + scroll = structPtr->visibleEntries; else - v1 = structPtr->unk0; - sub_81C84E8(v1 * -1, 1); + scroll = structPtr->windowTopIndex; + MatchCall_MoveWindow(scroll * -1, TRUE); return 2; } - else if (structPtr->unk6 != 0) + else if (structPtr->selectedIndexOffset != 0) { - structPtr->unk6 = 0; + structPtr->selectedIndexOffset = 0; return 1; } else @@ -2239,64 +2260,64 @@ u32 sub_81C86CC(void) } } -u32 sub_81C870C(void) +u32 MatchCall_PageDown(void) { - struct UnknownSubSubStruct_81C81D4 *structPtr; - structPtr = sub_81C8644(); + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); - if (sub_81C84C0()) + if (ShouldShowDownArrow()) { - s32 v1; - s32 v2; + s32 scroll; + s32 windowBottomIndex; s32 v3; - v2 = structPtr->unk0 + structPtr->unk8; - v1 = structPtr->unk4 - structPtr->unk0; - if (v2 <= structPtr->unk4) - v1 = structPtr->unk8; - sub_81C84E8(v1, 1); + windowBottomIndex = structPtr->windowTopIndex + structPtr->visibleEntries; + scroll = structPtr->unk4 - structPtr->windowTopIndex; + if (windowBottomIndex <= structPtr->unk4) + scroll = structPtr->visibleEntries; + MatchCall_MoveWindow(scroll, TRUE); return 2; } else { - s32 v1; - s32 v2; - if (structPtr->unk2 >= structPtr->unk8) + s32 cursor; + s32 lastVisibleIndex; + if (structPtr->listLength >= structPtr->visibleEntries) { - v1 = structPtr->unk6; - v2 = structPtr->unk8; + cursor = structPtr->selectedIndexOffset; + lastVisibleIndex = structPtr->visibleEntries; } else { - v1 = structPtr->unk6; - v2 = structPtr->unk2; + cursor = structPtr->selectedIndexOffset; + lastVisibleIndex = structPtr->listLength; } - v2 -= 1; - if (v1 >= v2) + lastVisibleIndex -= 1; + if (cursor >= lastVisibleIndex) { return 0; } else { - structPtr->unk6 = v2; + structPtr->selectedIndexOffset = lastVisibleIndex; return 1; } } } -u32 sub_81C875C(void) +u32 GetSelectedMatchCall(void) { - struct UnknownSubSubStruct_81C81D4 *structPtr; - structPtr = sub_81C8644(); + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); - return structPtr->unk0 + structPtr->unk6; + return structPtr->windowTopIndex + structPtr->selectedIndexOffset; } -u32 sub_81C8770(void) +u32 GetMatchCallListTopIndex(void) { - struct UnknownSubSubStruct_81C81D4 *structPtr; - structPtr = sub_81C8644(); + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); - return structPtr->unk0; + return structPtr->windowTopIndex; } void sub_81C877C(void) @@ -2304,7 +2325,7 @@ void sub_81C877C(void) struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); structPtr->unk89C = 0; - structPtr->unk8A0 = sub_81C7078(sub_81C8870, 6); + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8870, 6); } void sub_81C87AC(u16 a0) @@ -2312,11 +2333,11 @@ void sub_81C87AC(u16 a0) u16 temp; struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); - temp = structPtr->unk888.unk0; + temp = structPtr->unk888.windowTopIndex; temp += a0; - structPtr->unk888.unk0 = temp; + structPtr->unk888.windowTopIndex = temp; structPtr->unk89C = 0; - structPtr->unk8A0 = sub_81C7078(sub_81C8958, 6); + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8958, 6); } void sub_81C87F0(void) @@ -2324,27 +2345,27 @@ void sub_81C87F0(void) struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); structPtr->unk89C = 0; - structPtr->unk8A0 = sub_81C7078(sub_81C8A28, 6); + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8A28, 6); } bool32 sub_81C8820(void) { struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); - return sub_81C70D8(structPtr->unk8A0); + return IsLoopedTaskActive(structPtr->unk8A0); } void sub_81C8838(void) { struct UnknownSubStruct_81C81D4 *structPtr; - struct UnknownSubSubStruct_81C81D4 *subStr; + struct MatchCallWindowState *subStr; structPtr = GetSubstructPtr(0x11); subStr = &structPtr->unk888; - structPtr->unk0.unk38(structPtr->unk0.unk0.windowId, subStr->unk0 + subStr->unk6, (structPtr->unk0.unk0.unkA + subStr->unk6) & 0xF); + structPtr->unk0.unk38(structPtr->unk0.unk0.windowId, subStr->windowTopIndex + subStr->selectedIndexOffset, (structPtr->unk0.unk0.unkA + subStr->selectedIndexOffset) & 0xF); CopyWindowToVram(structPtr->unk0.unk0.windowId, 1); } -u32 sub_81C8870(s32 a0) +u32 LoopedTask_sub_81C8870(s32 a0) { struct UnknownSubStruct_81C81D4 *structPtr; u16 v1; @@ -2360,7 +2381,7 @@ u32 sub_81C8870(s32 a0) ToggleMatchCallArrows(&structPtr->unk0, 1); // fall-through case 1: - if (structPtr->unk89C != structPtr->unk888.unk6) + if (structPtr->unk89C != structPtr->unk888.selectedIndexOffset) sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, 1); structPtr->unk89C++; @@ -2369,36 +2390,36 @@ u32 sub_81C8870(s32 a0) if (IsDma3ManagerBusyWithBgCopy()) return 2; - if (structPtr->unk89C != structPtr->unk888.unk8) + if (structPtr->unk89C != structPtr->unk888.visibleEntries) return 6; - if (structPtr->unk888.unk6 != 0) - sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, structPtr->unk888.unk6); + if (structPtr->unk888.selectedIndexOffset != 0) + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, structPtr->unk888.selectedIndexOffset); return 0; case 3: if (IsDma3ManagerBusyWithBgCopy()) return 2; - temp = &structPtr->unk888.unk6; + temp = &structPtr->unk888.selectedIndexOffset; v1 = *temp; if (v1 == 0) return 4; - sub_81C84E8(v1, 0); + MatchCall_MoveWindow(v1, FALSE); return 0; case 4: v2 = sub_81C8630(); if (v2) return 2; - structPtr->unk888.unk6 = v2; + structPtr->unk888.selectedIndexOffset = v2; return 4; default: return 4; } } -u32 sub_81C8958(s32 a0) +u32 LoopedTask_sub_81C8958(s32 a0) { struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); @@ -2437,10 +2458,10 @@ u32 sub_81C8958(s32 a0) return 0; } -u32 sub_81C8A28(s32 a0) +u32 LoopedTask_sub_81C8A28(s32 a0) { struct UnknownSubStruct_81C81D4 *structPtr; - struct UnknownSubSubStruct_81C81D4 *subPtr888; + struct MatchCallWindowState *subPtr888; register struct UnknownInnerStruct_81C81D4 *subPtr0 asm("r2"); s32 v4; @@ -2470,17 +2491,17 @@ u32 sub_81C8A28(s32 a0) v3 = &structPtr->unk89C; v1 = *v3 + 1; *v3 = v1; - if (v1 < structPtr->unk888.unk8) + if (v1 < structPtr->unk888.visibleEntries) { sub_81C8B70(&subPtr0->unk0, v1, 1); return 2; } *v3 = 0; - if (subPtr888->unk2 <= subPtr888->unk8) + if (subPtr888->listLength <= subPtr888->visibleEntries) { register u32 temp asm("r0"); - temp = subPtr888->unk0; + temp = subPtr888->windowTopIndex; if (temp == 0) return 9; v2 = temp; @@ -2488,20 +2509,20 @@ u32 sub_81C8A28(s32 a0) else { register s32 temp asm("r1"); - v2 = subPtr888->unk0 + subPtr888->unk8; - temp = (s32)subPtr888->unk2; + v2 = subPtr888->windowTopIndex + subPtr888->visibleEntries; + temp = (s32)subPtr888->listLength; if (v2 <= temp) return 9; v2 -= temp; } v4 = v2 * -1; sub_81C8B70(&subPtr0->unk0, v4, v2); - subPtr888->unk6 = v2; + subPtr888->selectedIndexOffset = v2; *v3 = v4; return 0; } case 2: - sub_81C84E8(structPtr->unk89C, 0); + MatchCall_MoveWindow(structPtr->unk89C, FALSE); return 0; case 3: if (sub_81C8630()) @@ -2510,14 +2531,14 @@ u32 sub_81C8A28(s32 a0) structPtr->unk89C = 0; return 1; case 4: - sub_81C83AC(subPtr888->unk10, subPtr888->unk0 + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, &structPtr->unk0); + sub_81C83AC(subPtr888->unk10, subPtr888->windowTopIndex + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, &structPtr->unk0); return 0; case 5: if (sub_81C83E0()) return 2; v4 = ++structPtr->unk89C; - if (v4 >= subPtr888->unk2 || v4 >= subPtr888->unk8) + if (v4 >= subPtr888->listLength || v4 >= subPtr888->visibleEntries) return 1; return 9; case 6: @@ -2593,24 +2614,24 @@ void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) } } -void sub_81C8CB4(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) +void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) { u8 colors[3]; memcpy(colors, sPokenavColors_0861FBE4, ARRAY_COUNT(sPokenavColors_0861FBE4)); - a1->unk34(a0->unk10 + a0->unkC * a0->unk0, a1->unkTextBuffer); - a1->unk38(a1->unk0.windowId, a0->unk0, a1->unk0.unkA); + a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); + a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA); FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(4), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); AddTextPrinterParameterized3(a1->unk0.windowId, a1->unk0.fontId, 8, (a1->unk0.unkA * 16) + 1, colors, TEXT_SPEED_FF, a1->unkTextBuffer); sub_81C8C64(&a1->unk0, 1); CopyWindowRectToVram(a1->unk0.windowId, 3, 0, a1->unk0.unkA * 2, a1->unk0.unk4, 2); } -void sub_81C8D4C(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) +void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) { - a1->unk34(a0->unk10 + a0->unkC * a0->unk0, a1->unkTextBuffer); + a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(1), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); AddTextPrinterParameterized(a1->unk0.windowId, a1->unk0.fontId, a1->unkTextBuffer, 8, a1->unk0.unkA * 16 + 1, TEXT_SPEED_FF, NULL); sub_81C8C64(&a1->unk0, 0); @@ -2643,14 +2664,14 @@ void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 fieldId CopyWindowRectToVram(a0->unk0.windowId, 2, 0, r4 << 1, a0->unk0.unk4, 2); } -void sub_81C8E54(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2) +void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2) { const u8 *str; u32 r6; r6 = (a1->unk0.unkA + sUnknown_0861FBF7[a2]) & 0xF; - str = sub_81CAFD8(a0->unk0, a2); + str = sub_81CAFD8(a0->windowTopIndex, a2); if (str != NULL) { sub_81DB620(a1->unk0.windowId, 1, r6 * 2, a1->unk0.unk4 - 1, 2); AddTextPrinterParameterized(a1->unk0.windowId, 7, str, 2, (r6 << 4) + 1, TEXT_SPEED_FF, NULL); @@ -2670,7 +2691,7 @@ void sub_81C8ED0(void) sub_81C795C(sMatchcallArrowPalette); } -void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStruct_81C81D4 *a1) +void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) { register u32 spriteId asm("r3"); s16 temp; @@ -2679,7 +2700,7 @@ void sub_81C8EF8(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownInnerStru a1->rightArrow = &gSprites[spriteId]; temp = a1->unk0.unk2 * 8 + (a1->unk0.unk4 - 1) * 4; - spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8 + a0->unk8 * 16, 7); + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8 + a0->visibleEntries * 16, 7); a1->downArrow = &gSprites[spriteId]; a1->downArrow->oam.tileNum += 2; a1->downArrow->callback = SpriteCB_MatchCallDownArrow; @@ -2722,12 +2743,12 @@ void SpriteCB_MatchCallRightArrow(struct Sprite *sprite) { struct UnknownSubStruct_81C81D4 *structPtr; structPtr = GetSubstructPtr(0x11); - sprite->pos2.y = structPtr->unk888.unk6 << 4; + sprite->pos2.y = structPtr->unk888.selectedIndexOffset << 4; } void SpriteCB_MatchCallDownArrow(struct Sprite *sprite) { - if (sprite->data[7] == 0 && sub_81C84C0()) + if (sprite->data[7] == 0 && ShouldShowDownArrow()) sprite->invisible = FALSE; else sprite->invisible = TRUE; @@ -2745,7 +2766,7 @@ void SpriteCB_MatchCallDownArrow(struct Sprite *sprite) void SpriteCB_MatchCallUpArrow(struct Sprite *sprite) { - if (sprite->data[7] == 0 && sub_81C84A4()) + if (sprite->data[7] == 0 && ShouldShowUpArrow()) sprite->invisible = FALSE; else sprite->invisible = TRUE; @@ -2769,44 +2790,44 @@ void ToggleMatchCallVerticalArrows(bool32 shouldHide) structPtr->unk0.downArrow->data[7] = shouldHide; } -void sub_81C9160(struct UnknownSubSubStruct_81C81D4 *a0, struct UnknownStruct_81C9160 *a1) +void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1) { u32 unused1 = a0->unk10 = a1->unk0; u32 v0 = a1->unk6; u32 zero = 0; - u32 unused2 = a0->unk0 = v0; - u32 v1 = a0->unk2 = a1->unk4; + u32 unused2 = a0->windowTopIndex = v0; + u32 v1 = a0->listLength = a1->unk4; a0->unkC = a1->unk8; - a0->unk8 = a1->unkC; - if (a0->unk8 >= (u16)v1) + a0->visibleEntries = a1->unkC; + if (a0->visibleEntries >= (u16)v1) { - a0->unk0 = 0; + a0->windowTopIndex = 0; a0->unk4 = 0; - a0->unk6 = v0; + a0->selectedIndexOffset = v0; } else { s32 v2; - a0->unk4 = a0->unk2 - a0->unk8; - v2 = a0->unk0 + a0->unk8; - if (v2 > a0->unk2) { - a0->unk6 = v2 - a0->unk2; - a0->unk0 = v0 - a0->unk6; + a0->unk4 = a0->listLength - a0->visibleEntries; + v2 = a0->windowTopIndex + a0->visibleEntries; + if (v2 > a0->listLength) { + a0->selectedIndexOffset = v2 - a0->listLength; + a0->windowTopIndex = v0 - a0->selectedIndexOffset; } else { - a0->unk6 = 0; + a0->selectedIndexOffset = 0; } } } -u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct UnknownStruct_81C9160 *a2, s32 a3) +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3) { register u32 raw_bg asm("r4") = ((a1->bg) << 30); u8 bg = raw_bg >> 30; u32 unknown = 0; - struct WindowTemplate template; + struct WindowTemplate window; u8 bg_again; a0->unk0.bg = bg; @@ -2819,15 +2840,15 @@ u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate * a0->unk0.unk4 = a2->unkA; a0->unk0.fontId = a2->unkE; - template.bg = raw_bg >> 30; - template.tilemapLeft = a2->unk9; - template.tilemapTop = 0; - template.width = a2->unkA; - template.height = 32; - template.paletteNum = a2->unkD; - template.baseBlock = a3 + 2; + window.bg = raw_bg >> 30; + window.tilemapLeft = a2->unk9; + window.tilemapTop = 0; + window.width = a2->unkA; + window.height = 32; + window.paletteNum = a2->unkD; + window.baseBlock = a3 + 2; - a0->unk0.windowId = AddWindow(&template); + a0->unk0.windowId = AddWindow(&window); if (a0->unk0.windowId == 0xFF) { return 0; From ddfe0f91cff4c7b1040d357b23b8987dfdebfcac Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 6 Apr 2019 23:34:30 -0400 Subject: [PATCH 79/84] Document decompiled parts of the pokenav main menu --- asm/pokenav.s | 60 ++++----- asm/rom_8011DC0.s | 2 +- include/menu.h | 1 + src/menu.c | 2 +- src/pokenav.c | 314 ++++++++++++++++++++++++---------------------- 5 files changed, 195 insertions(+), 184 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index d1edebd3f3..1cccd5e4c3 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -253,7 +253,7 @@ sub_81C941C: @ 81C941C sub_81C9430: @ 81C9430 push {lr} movs r0, 0x1 - bl FreeSubstruct + bl FreePokenavSubstruct pop {r0} bx r0 thumb_func_end sub_81C9430 @@ -1003,7 +1003,7 @@ sub_81C99D4: @ 81C99D4 bl sub_81C9FEC bl sub_81CA994 movs r0, 0x2 - bl FreeSubstruct + bl FreePokenavSubstruct pop {r4} pop {r0} bx r0 @@ -1715,7 +1715,7 @@ _081C9FCA: cmp r5, 0x1 bls _081C9FCA ldr r0, =gUnknown_086201D4 - bl sub_81C795C + bl Pokenav_AllocAndLoadPalettes pop {r4,r5} pop {r0} bx r0 @@ -3173,7 +3173,7 @@ sub_81CAB24: @ 81CAB24 sub_81CAB38: @ 81CAB38 push {lr} movs r0, 0x5 - bl FreeSubstruct + bl FreePokenavSubstruct pop {r0} bx r0 thumb_func_end sub_81CAB38 @@ -4232,7 +4232,7 @@ sub_81CB2E0: @ 81CB2E0 ldrb r0, [r4, 0x14] bl RemoveWindow movs r0, 0x6 - bl FreeSubstruct + bl FreePokenavSubstruct pop {r4} pop {r0} bx r0 @@ -5325,7 +5325,7 @@ _081CBB9A: bl IsPaletteFadeActive cmp r0, 0 bne _081CBBAA - bl sub_81C78C0 + bl MainMenuLoopedTaskIsBusy cmp r0, 0 beq _081CBBAE _081CBBAA: @@ -6166,7 +6166,7 @@ _081CC224: cmp r5, 0 beq _081CC224 ldr r0, =gUnknown_08622818 - bl sub_81C795C + bl Pokenav_AllocAndLoadPalettes movs r0, 0 str r0, [r6, 0x1C] ldr r1, =0x00001828 @@ -6551,9 +6551,9 @@ sub_81CC524: @ 81CC524 orrs r0, r1 strb r0, [r3, 0x15] movs r0, 0x10 - bl FreeSubstruct + bl FreePokenavSubstruct movs r0, 0x3 - bl FreeSubstruct + bl FreePokenavSubstruct pop {r0} bx r0 .pool @@ -6725,9 +6725,9 @@ sub_81CC670: @ 81CC670 ldrb r0, [r4, 0x8] bl RemoveWindow movs r0, 0x10 - bl FreeSubstruct + bl FreePokenavSubstruct movs r0, 0x4 - bl FreeSubstruct + bl FreePokenavSubstruct bl SetPokenavVBlankCallback movs r0, 0 bl SetBgMode @@ -7103,7 +7103,7 @@ _081CC982: movs r0, 0 b _081CC9BA _081CC996: - bl sub_81C78C0 + bl MainMenuLoopedTaskIsBusy cmp r0, 0 beq _081CC9A2 _081CC99E: @@ -7138,7 +7138,7 @@ _081CC9C6: cmp r5, 0 beq _081CC9C6 ldr r0, =gUnknown_08623100 - bl sub_81C795C + bl Pokenav_AllocAndLoadPalettes bl sub_81CCE58 pop {r4,r5} pop {r0} @@ -8115,10 +8115,10 @@ sub_81CD1C0: @ 81CD1C0 cmp r0, 0 bne _081CD1DA movs r0, 0x12 - bl FreeSubstruct + bl FreePokenavSubstruct _081CD1DA: movs r0, 0xB - bl FreeSubstruct + bl FreePokenavSubstruct pop {r0} bx r0 thumb_func_end sub_81CD1C0 @@ -10195,7 +10195,7 @@ _081CE33E: bl IsPaletteFadeActive cmp r0, 0 bne _081CE34E - bl sub_81C78C0 + bl MainMenuLoopedTaskIsBusy cmp r0, 0 beq _081CE352 _081CE34E: @@ -11072,7 +11072,7 @@ _081CEA78: mov r0, sp bl LoadSpriteSheets mov r0, r10 - bl sub_81C795C + bl Pokenav_AllocAndLoadPalettes movs r4, 0 add r0, sp, 0x50 mov r8, r0 @@ -11233,7 +11233,7 @@ _081CEBC6: mov r3, r10 str r0, [r3, 0x8] mov r0, r10 - bl sub_81C795C + bl Pokenav_AllocAndLoadPalettes add sp, 0x58 pop {r3-r5} mov r8, r3 @@ -11357,7 +11357,7 @@ _081CECF0: bl sub_81CEBF4 bl sub_81CEE68 movs r0, 0xC - bl FreeSubstruct + bl FreePokenavSubstruct pop {r4} pop {r0} bx r0 @@ -11713,10 +11713,10 @@ sub_81CEFF0: @ 81CEFF0 cmp r0, 0 bne _081CF004 movs r0, 0x12 - bl FreeSubstruct + bl FreePokenavSubstruct _081CF004: movs r0, 0x7 - bl FreeSubstruct + bl FreePokenavSubstruct pop {r0} bx r0 thumb_func_end sub_81CEFF0 @@ -12276,7 +12276,7 @@ sub_81CF3F8: @ 81CF3F8 ldrb r0, [r4, 0x8] bl RemoveWindow movs r0, 0x8 - bl FreeSubstruct + bl FreePokenavSubstruct pop {r4} pop {r0} bx r0 @@ -12722,7 +12722,7 @@ _081CF778: bl IsPaletteFadeActive cmp r0, 0 bne _081CF788 - bl sub_81C78C0 + bl MainMenuLoopedTaskIsBusy cmp r0, 0 beq _081CF78C _081CF788: @@ -13069,10 +13069,10 @@ sub_81CFA48: @ 81CFA48 cmp r0, 0 bne _081CFA5C movs r0, 0x12 - bl FreeSubstruct + bl FreePokenavSubstruct _081CFA5C: movs r0, 0x9 - bl FreeSubstruct + bl FreePokenavSubstruct pop {r0} bx r0 thumb_func_end sub_81CFA48 @@ -13662,7 +13662,7 @@ sub_81CFE98: @ 81CFE98 ldrb r0, [r4, 0x8] bl RemoveWindow movs r0, 0xA - bl FreeSubstruct + bl FreePokenavSubstruct pop {r4} pop {r0} bx r0 @@ -14096,7 +14096,7 @@ _081D01FC: bl IsPaletteFadeActive cmp r0, 0 bne _081D020C - bl sub_81C78C0 + bl MainMenuLoopedTaskIsBusy cmp r0, 0 beq _081D0210 _081D020C: @@ -14428,7 +14428,7 @@ sub_81D04A0: @ 81D04A0 sub_81D04B8: @ 81D04B8 push {lr} movs r0, 0xD - bl FreeSubstruct + bl FreePokenavSubstruct pop {r0} bx r0 thumb_func_end sub_81D04B8 @@ -15184,7 +15184,7 @@ sub_81D09F4: @ 81D09F4 ldr r0, [r4, 0x14] bl DestroySprite movs r0, 0xE - bl FreeSubstruct + bl FreePokenavSubstruct pop {r4} pop {r0} bx r0 @@ -16381,7 +16381,7 @@ sub_81D13FC: @ 81D13FC ldr r0, =gUnknown_08624C78 bl LoadCompressedSpriteSheet ldr r0, =gUnknown_08624C80 - bl sub_81C795C + bl Pokenav_AllocAndLoadPalettes ldr r0, =gUnknown_08624D04 movs r1, 0 movs r2, 0 diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index c13ab9a96e..d61f3f2702 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -44460,7 +44460,7 @@ _0802D178: bl CopyBgTilemapBufferToVram movs r0, 0x1 bl CopyBgTilemapBufferToVram - bl sub_8199D98 + bl ResetBgPositions b _0802D2CC .pool _0802D298: diff --git a/include/menu.h b/include/menu.h index 947f97a688..7cd6de04bd 100644 --- a/include/menu.h +++ b/include/menu.h @@ -99,5 +99,6 @@ void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile); void sub_8198314(void); void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram); +void ResetBgPositions(void); #endif // GUARD_MENU_H diff --git a/src/menu.c b/src/menu.c index b04572b812..c5bfe890ef 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1921,7 +1921,7 @@ void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP) } } -void sub_8199D98(void) +void ResetBgPositions(void) { ChangeBgX(0, 0, 0); ChangeBgX(1, 0, 0); diff --git a/src/pokenav.c b/src/pokenav.c index 4032181788..aab827074b 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -26,10 +26,21 @@ enum MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav. }; +enum +{ + NAVMENU_CB_UNK_0, + NAVMENU_CB_UNK_1, + NAVMENU_CB_UNK_2, + NAVMENU_CB_UNK_3, + NAVMENU_CB_UNK_4, + NAVMENU_CB_UNK_5, + NAVMENU_CB_UNK_6 +}; + // Return values of LoopedTask functions. -#define LT_INC_AND_STOP 0 +#define LT_INC_AND_PAUSE 0 #define LT_INC_AND_CONTINUE 1 -#define LT_STOP 2 +#define LT_PAUSE 2 #define LT_CONTINUE 3 #define LT_FINISH 4 #define LT_SET_STATE(newState) (newState + 5) @@ -72,7 +83,7 @@ struct MatchCallWindowState { }; // Generally at index 0. -struct UnknownSubStruct_0203CF40 +struct PokenavMainMenuResources { void (*unk0)(u32); u32 (*unk4)(void); @@ -80,7 +91,7 @@ struct UnknownSubStruct_0203CF40 u32 currentTaskId; u32 unk10; u32 unk14; - struct Sprite *unk18; + struct Sprite *spinningNavgear; struct Sprite *unk1C[2]; struct Sprite *unk24[2]; u8 tilemapBuffer[0x800]; @@ -120,8 +131,8 @@ struct UnknownSubStruct_81C81D4 struct PokenavResources { - u32 (*field0)(void); - u32 field4; + u32 (*currentMenuCb1)(void); + u32 currentMenuIndex; u16 mode; u16 fieldA; bool32 hasAnyRibbons; @@ -154,8 +165,7 @@ struct MatchCallListTemplate extern u32 sub_81C9430(void); extern void sub_81CAADC(void); extern u32 sub_81C99D4(void); -extern void sub_8199D98(void); -extern void sub_81C7D28(void); +extern void InitHoenMapHeaderSprites(void); extern u32 sub_81C9298(void); extern u32 sub_81C941C(void); extern u32 sub_81C9924(void); @@ -213,7 +223,7 @@ extern u32 sub_81D04B8(void); extern u32 sub_81D09F4(void); extern u32 sub_81CFA04(void); extern u32 sub_81CFE08(void); -extern void sub_81C7CB4(struct Sprite* sprite); +extern void SpriteCB_SpinningNavgear(struct Sprite* sprite); extern void sub_81CBD48(u16 windowId, u32 a1); extern u8 *sub_81CAFD8(u16 a0, u32 a1); extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4); @@ -244,35 +254,35 @@ void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C8 void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); u32 LoopedTask_sub_81C8254(s32 a0); -u32 LoopedTask_sub_81C791C(s32 a0); -bool32 sub_81C756C(u32 a0); -bool32 sub_81C76C4(void); +u32 LoopedTask_ScrollMenuHeaderUp(s32 a0); +bool32 SetActivePokenavMenu(u32 a0); +bool32 InitPokenavMainMenu(void); static bool32 AnyMonHasRibbon(void); u32 sub_81C75E0(void); u32 sub_81C75D4(void); -u32 sub_81C76FC(void); +u32 PokenavMainMenuLoopedTaskIsActive(void); u32 sub_81C786C(void); -u32 LoopedTask_sub_81C7764(s32 a0); -u32 LoopedTask_sub_81C78D4(s32 a0); -bool32 sub_81C7738(void); +u32 LoopedTask_InitPokenavMenu(s32 a0); +u32 LoopedTask_ScrollMenuHeaderDown(s32 a0); +bool32 WaitForPokenavShutdownFade(void); void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 a1, u32 a2); void sub_81C7834(void *func1, void *func2); -static void InitMainStruct(struct PokenavResources *a0); -void FreeSubstruct(u32 index); +static void InitPokenavResources(struct PokenavResources *a0); +void FreePokenavSubstruct(u32 index); void sub_81C7850(u32 a0); void sub_81C7BF8(u32 a0); void Task_RunLoopedTask_LinkMode(u8 a0); void Task_RunLoopedTask(u8 taskId); void sub_81C742C(u8 taskId); -void sub_81C7710(void); +void ShutdownPokenav(void); static void InitKeys_(void); -static void FreeVars(void); +static void FreePokenavResources(void); static void VBlankCB_Pokenav(void); static void CB2_Pokenav(void); -void sub_81C7C28(void); +void InitPokenavMainMenuResources(void); void sub_81C72BC(void); void sub_81C7B74(void); -void sub_81C7C94(void); +void CleanupPokenavMainMenuResources(void); void sub_81C7F24(u32 arg0); void sub_81C7E58(u32 arg0); void sub_81C8110(bool32 arg0); @@ -283,7 +293,7 @@ void sub_81C814C(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3); void sub_81C817C(struct Sprite *sprite); // Const rom data. -u32 (*const gUnknown_0861F3EC[15][7])(void) = +u32 (*const PokenavMenuCallbacks[15][7])(void) = { { sub_81C9298, @@ -422,11 +432,11 @@ u32 (*const gUnknown_0861F3EC[15][7])(void) = }, }; -const u16 gUnknown_0861F590[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); -const u32 gUnknown_0861F5B0[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); -const u32 gUnknown_0861F994[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); +const u16 gSpinningNavgearPaletteData[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); +const u32 gSpinningNavgearGfx[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); +const u32 gUnused_SpinningNavgearGfx2[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); -const struct BgTemplate gUnknown_0861FA04[] = +const struct BgTemplate gPokenavMainMenuBgTemplates[] = { { .bg = 0, @@ -482,25 +492,25 @@ const u8 gMenuButtonReminderColor[4] = 4, 1, 2, 0 }; -static const struct CompressedSpriteSheet sUnknown_0861FA4C[] = +static const struct CompressedSpriteSheet gSpinningNavgearSpriteSheet[] = { { - .data = gUnknown_0861F5B0, + .data = gSpinningNavgearGfx, .size = 0x1000, .tag = 0, } }; -static const struct SpritePalette sUnknown_0861FA54[] = +static const struct SpritePalette gSpinningNavgearPalette[] = { { - .data = gUnknown_0861F590, + .data = gSpinningNavgearPaletteData, .tag = 0, }, {} }; -static const struct CompressedSpriteSheet sUnknown_0861FA64 = +static const struct CompressedSpriteSheet sPokenavHoenMapLeftHeaderSpriteSheet = { .data = gPokenavLeftHeaderHoennMap_Gfx, .size = 0xC00, @@ -573,7 +583,7 @@ static const struct CompressedSpritePalette_ sUnknown_0861FA9C[] = } }; -static const struct OamData sUnknown_0861FAD4 = +static const struct OamData sSpinningNavgearSpriteOam = { .y = 0, .affineMode = 0, @@ -590,7 +600,7 @@ static const struct OamData sUnknown_0861FAD4 = .affineParam = 0 }; -static const union AnimCmd sUnknown_0861FADC[] = +static const union AnimCmd sSpinningNavgarAnims[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(16, 8), @@ -603,23 +613,23 @@ static const union AnimCmd sUnknown_0861FADC[] = ANIMCMD_JUMP(0) }; -static const union AnimCmd *const sUnknown_0861FB00[] = +static const union AnimCmd *const sSpinningNavgarAnimTable[] = { - sUnknown_0861FADC + sSpinningNavgarAnims }; -static const struct SpriteTemplate sUnknown_0861FB04 = +static const struct SpriteTemplate sSpinningNavgearSpriteTemplate = { .tileTag = 0, .paletteTag = 0, - .oam = &sUnknown_0861FAD4, - .anims = sUnknown_0861FB00, + .oam = &sSpinningNavgearSpriteOam, + .anims = sSpinningNavgarAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81C7CB4 + .callback = SpriteCB_SpinningNavgear }; -static const struct OamData sUnknown_0861FB1C = +static const struct OamData sPokenavLeftHeaderHoenMapSpriteOam = { .y = 0, .affineMode = 0, @@ -653,11 +663,11 @@ static const struct OamData sUnknown_0861FB24 = .affineParam = 0 }; -static const struct SpriteTemplate sUnknown_0861FB2C = +static const struct SpriteTemplate sPokenavLeftHeaderHoenMapSpriteTemplate = { .tileTag = 2, .paletteTag = 1, - .oam = &sUnknown_0861FB1C, + .oam = &sPokenavLeftHeaderHoenMapSpriteOam, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -828,7 +838,7 @@ void Task_RunLoopedTask(u8 taskId) case LT_INC_AND_CONTINUE: (*state)++; break; - case LT_INC_AND_STOP: + case LT_INC_AND_PAUSE: (*state)++; return; case LT_FINISH: @@ -840,13 +850,13 @@ void Task_RunLoopedTask(u8 taskId) break; case LT_CONTINUE: break; - case LT_STOP: + case LT_PAUSE: return; } } } -// Every "Continue" action stops instead. +// Every "Continue" action pauses instead. void Task_RunLoopedTask_LinkMode(u8 taskId) { LoopedTask task; @@ -861,7 +871,7 @@ void Task_RunLoopedTask_LinkMode(u8 taskId) action = task(*state); switch (action) { - case LT_INC_AND_STOP: + case LT_INC_AND_PAUSE: case LT_INC_AND_CONTINUE: (*state)++; break; @@ -872,7 +882,7 @@ void Task_RunLoopedTask_LinkMode(u8 taskId) default: *state = LOOPED_TASK_DECODE_STATE(action); break; - case LT_STOP: + case LT_PAUSE: case LT_CONTINUE: break; } @@ -887,7 +897,7 @@ void CB2_InitPokeNav(void) } else { - InitMainStruct(gPokenavResources); + InitPokenavResources(gPokenavResources); ResetTasks(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); @@ -915,7 +925,7 @@ void sub_81C72BC(void) } else { - InitMainStruct(gPokenavResources); + InitPokenavResources(gPokenavResources); gPokenavResources->mode = MODE_FORCE_CALL_1; ResetTasks(); ResetSpriteData(); @@ -927,19 +937,18 @@ void sub_81C72BC(void) } } -static void FreeVars(void) +static void FreePokenavResources(void) { s32 i; for (i = 0; i < SUBSTRUCT_COUNT; i++) - FreeSubstruct(i); + FreePokenavSubstruct(i); FREE_AND_SET_NULL(gPokenavResources); InitKeys(); } -// Clears PokenavResources -static void InitMainStruct(struct PokenavResources *a0) +static void InitPokenavResources(struct PokenavResources *a0) { s32 i; @@ -947,9 +956,9 @@ static void InitMainStruct(struct PokenavResources *a0) a0->field10[i] = NULL; a0->mode = MODE_NORMAL; - a0->field4 = 0; + a0->currentMenuIndex = 0; a0->hasAnyRibbons = AnyMonHasRibbon(); - a0->field0 = NULL; + a0->currentMenuCb1 = NULL; } static bool32 AnyMonHasRibbon(void) @@ -1004,13 +1013,14 @@ void sub_81C742C(u8 taskId) switch (data[0]) { case 0: - sub_81C76C4(); + InitPokenavMainMenu(); data[0] = 1; break; case 1: - if (sub_81C76FC()) + // Wait for LoopedTask_InitPokenavMenu to finish + if (PokenavMainMenuLoopedTaskIsActive()) break; - sub_81C756C(UNKNOWN_OFFSET); + SetActivePokenavMenu(0 + UNKNOWN_OFFSET); data[0] = 4; break; case 2: @@ -1021,20 +1031,20 @@ void sub_81C742C(u8 taskId) v1 = sub_81C75E0(); if (v1 == -1) { - sub_81C7710(); + ShutdownPokenav(); data[0] = 5; } else if (v1 >= UNKNOWN_OFFSET) { - gUnknown_0861F3EC[gPokenavResources->field4][6](); - gUnknown_0861F3EC[gPokenavResources->field4][5](); - if (sub_81C756C(v1)) + PokenavMenuCallbacks[gPokenavResources->currentMenuIndex][NAVMENU_CB_UNK_6](); + PokenavMenuCallbacks[gPokenavResources->currentMenuIndex][NAVMENU_CB_UNK_5](); + if (SetActivePokenavMenu(v1)) { data[0] = 4; } else { - sub_81C7710(); + ShutdownPokenav(); data[0] = 5; } } @@ -1050,12 +1060,12 @@ void sub_81C742C(u8 taskId) data[0] = 3; break; case 5: - if (!sub_81C7738()) + if (!WaitForPokenavShutdownFade()) { bool32 calledFromScript = (gPokenavResources->mode != MODE_NORMAL); sub_81C9430(); - FreeVars(); + FreePokenavResources(); if (calledFromScript) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else @@ -1065,19 +1075,19 @@ void sub_81C742C(u8 taskId) } } -bool32 sub_81C756C(u32 a0) +bool32 SetActivePokenavMenu(u32 indexWithOffset) { - u32 index = a0 - UNKNOWN_OFFSET; + u32 index = indexWithOffset - UNKNOWN_OFFSET; InitKeys_(); - if (!gUnknown_0861F3EC[index][0]()) + if (!PokenavMenuCallbacks[index][NAVMENU_CB_UNK_0]()) return FALSE; - if (!gUnknown_0861F3EC[index][2]()) + if (!PokenavMenuCallbacks[index][NAVMENU_CB_UNK_2]()) return FALSE; - sub_81C7834(gUnknown_0861F3EC[index][3], gUnknown_0861F3EC[index][4]); - gPokenavResources->field0 = gUnknown_0861F3EC[index][1]; - gPokenavResources->field4 = index; + sub_81C7834(PokenavMenuCallbacks[index][NAVMENU_CB_UNK_3], PokenavMenuCallbacks[index][NAVMENU_CB_UNK_4]); + gPokenavResources->currentMenuCb1 = PokenavMenuCallbacks[index][NAVMENU_CB_UNK_1]; + gPokenavResources->currentMenuIndex = index; return TRUE; } @@ -1088,7 +1098,7 @@ u32 sub_81C75D4(void) u32 sub_81C75E0(void) { - return gPokenavResources->field0(); + return gPokenavResources->currentMenuCb1(); } static void InitKeys_(void) @@ -1116,7 +1126,7 @@ void *GetSubstructPtr(u32 index) return gPokenavResources->field10[index]; } -void FreeSubstruct(u32 index) +void FreePokenavSubstruct(u32 index) { if (gPokenavResources->field10[index] != NULL) FREE_AND_SET_NULL(gPokenavResources->field10[index]); @@ -1151,39 +1161,39 @@ bool32 CanViewRibbonsMenu(void) return gPokenavResources->hasAnyRibbons; } -bool32 sub_81C76C4(void) +bool32 InitPokenavMainMenu(void) { - struct UnknownSubStruct_0203CF40 *structPtr; + struct PokenavMainMenuResources *structPtr; - structPtr = AllocSubstruct(0, sizeof(struct UnknownSubStruct_0203CF40)); + structPtr = AllocSubstruct(0, sizeof(struct PokenavMainMenuResources)); if (structPtr == NULL) return FALSE; ResetSpriteData(); FreeAllSpritePalettes(); - structPtr->currentTaskId = CreateLoopedTask(LoopedTask_sub_81C7764, 1); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_InitPokenavMenu, 1); return TRUE; } -u32 sub_81C76FC(void) +u32 PokenavMainMenuLoopedTaskIsActive(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); return IsLoopedTaskActive(structPtr->currentTaskId); } -void sub_81C7710(void) +void ShutdownPokenav(void) { PlaySE(SE_PN_OFF); sub_81CAADC(); BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); } -bool32 sub_81C7738(void) +bool32 WaitForPokenavShutdownFade(void) { if (!gPaletteFade.active) { sub_81C99D4(); - sub_81C7C94(); + CleanupPokenavMainMenuResources(); FreeAllWindowBuffers(); return FALSE; } @@ -1191,9 +1201,9 @@ bool32 sub_81C7738(void) return TRUE; } -u32 LoopedTask_sub_81C7764(s32 a0) +u32 LoopedTask_InitPokenavMenu(s32 a0) { - struct UnknownSubStruct_0203CF40 *structPtr; + struct PokenavMainMenuResources *structPtr; switch (a0) { @@ -1201,10 +1211,10 @@ u32 LoopedTask_sub_81C7764(s32 a0) SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); FreeAllWindowBuffers(); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0861FA04, ARRAY_COUNT(gUnknown_0861FA04)); - sub_8199D98(); + InitBgsFromTemplates(0, gPokenavMainMenuBgTemplates, ARRAY_COUNT(gPokenavMainMenuBgTemplates)); + ResetBgPositions(); reset_temp_tile_data_buffers(); - return 1; + return LT_INC_AND_CONTINUE; case 1: structPtr = GetSubstructPtr(0); decompress_and_copy_tile_data_to_vram(0, &gPokenavHeader_Gfx, 0, 0, 0); @@ -1212,29 +1222,29 @@ u32 LoopedTask_sub_81C7764(s32 a0) CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, 0, 0x20); CopyBgTilemapBufferToVram(0); - return 0; + return LT_INC_AND_PAUSE; case 2: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; sub_81C7B74(); - return 0; + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; - sub_81C7C28(); - sub_81C7D28(); + InitPokenavMainMenuResources(); + InitHoenMapHeaderSprites(); ShowBg(0); - return 4; + return LT_FINISH; default: - return 4; + return LT_FINISH; } } void sub_81C7834(void *func1, void *func2) // Fix types later. { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); structPtr->unk0 = func1; structPtr->unk4 = func2; structPtr->unk8 = 0; @@ -1242,57 +1252,57 @@ void sub_81C7834(void *func1, void *func2) // Fix types later. void sub_81C7850(u32 a0) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); structPtr->unk8 = 0; structPtr->unk0(a0); } u32 sub_81C786C(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); return structPtr->unk4(); } void sub_81C7880(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->currentTaskId = CreateLoopedTask(LoopedTask_sub_81C78D4, 4); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderDown, 4); } void sub_81C78A0(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->currentTaskId = CreateLoopedTask(LoopedTask_sub_81C791C, 4); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderUp, 4); } -bool32 sub_81C78C0(void) +bool32 MainMenuLoopedTaskIsBusy(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); return IsLoopedTaskActive(structPtr->currentTaskId); } -u32 LoopedTask_sub_81C78D4(s32 a0) +u32 LoopedTask_ScrollMenuHeaderDown(s32 a0) { switch (a0) { default: - return 4; + return LT_FINISH; case 1: - return 0; + return LT_INC_AND_PAUSE; case 0: - return 0; + return LT_INC_AND_PAUSE; case 2: if (ChangeBgY(0, 384, 1) >= 0x2000u) { ChangeBgY(0, 0x2000, 0); - return 4; + return LT_FINISH; } - return 2; + return LT_PAUSE; } } -u32 LoopedTask_sub_81C791C(s32 a0) +u32 LoopedTask_ScrollMenuHeaderUp(s32 a0) { if (ChangeBgY(0, 384, 2) <= 0) { @@ -1307,7 +1317,7 @@ void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size CpuCopy16(palette, gPlttBufferUnfaded + bufferOffset, size); } -void sub_81C795C(const struct SpritePalette *palettes) +void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes) { const struct SpritePalette *current; u32 index; @@ -1470,7 +1480,7 @@ _081C7AAE:\n\ void sub_81C7AC0(s32 a0) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); switch (a0) { @@ -1509,7 +1519,7 @@ void InitBgTemplates(const struct BgTemplate *templates, s32 count) void sub_81C7B74(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); InitWindows(&gUnknown_0861FA08[0]); structPtr->unk10 = 0; @@ -1520,7 +1530,7 @@ void sub_81C7B74(void) void sub_81C7BA4(u32 a0) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); sub_81C7BF8(structPtr->unk10); AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sMenuButtonReminders[a0]); @@ -1537,66 +1547,66 @@ void sub_81C7BF8(u32 windowId) FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1); } -void sub_81C7C28(void) +void InitPokenavMainMenuResources(void) { s32 i; u8 spriteId; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - for (i = 0; i < ARRAY_COUNT(sUnknown_0861FA4C); i++) - LoadCompressedSpriteSheet(&sUnknown_0861FA4C[i]); + for (i = 0; i < ARRAY_COUNT(gSpinningNavgearSpriteSheet); i++) + LoadCompressedSpriteSheet(&gSpinningNavgearSpriteSheet[i]); - sub_81C795C(sUnknown_0861FA54); + Pokenav_AllocAndLoadPalettes(gSpinningNavgearPalette); structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); - spriteId = CreateSprite(&sUnknown_0861FB04, 220, 12, 0); - structPtr->unk18 = &gSprites[spriteId]; + spriteId = CreateSprite(&sSpinningNavgearSpriteTemplate, 220, 12, 0); + structPtr->spinningNavgear = &gSprites[spriteId]; } -void sub_81C7C94(void) +void CleanupPokenavMainMenuResources(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - DestroySprite(structPtr->unk18); + DestroySprite(structPtr->spinningNavgear); FreeSpriteTilesByTag(0); FreeSpritePaletteByTag(0); } -void sub_81C7CB4(struct Sprite *sprite) +void SpriteCB_SpinningNavgear(struct Sprite *sprite) { sprite->pos2.y = (GetBgY(0) / 256u) * -1; } struct Sprite *sub_81C7CCC(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - structPtr->unk18->callback = SpriteCallbackDummy; - return structPtr->unk18; + structPtr->spinningNavgear->callback = SpriteCallbackDummy; + return structPtr->spinningNavgear; } void sub_81C7CE4(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - structPtr->unk18->pos1.x = 220; - structPtr->unk18->pos1.y = 12; - structPtr->unk18->callback = sub_81C7CB4; - structPtr->unk18->invisible = FALSE; - structPtr->unk18->oam.priority = 0; - structPtr->unk18->subpriority = 0; + structPtr->spinningNavgear->pos1.x = 220; + structPtr->spinningNavgear->pos1.y = 12; + structPtr->spinningNavgear->callback = SpriteCB_SpinningNavgear; + structPtr->spinningNavgear->invisible = FALSE; + structPtr->spinningNavgear->oam.priority = 0; + structPtr->spinningNavgear->subpriority = 0; } -void sub_81C7D28(void) +void InitHoenMapHeaderSprites(void) { s32 i, spriteId; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - LoadCompressedSpriteSheet(&sUnknown_0861FA64); + LoadCompressedSpriteSheet(&sPokenavHoenMapLeftHeaderSpriteSheet); AllocSpritePalette(1); AllocSpritePalette(2); for (i = 0; i < 2; i++) { - spriteId = CreateSprite(&sUnknown_0861FB2C, 0, 0, 1); + spriteId = CreateSprite(&sPokenavLeftHeaderHoenMapSpriteTemplate, 0, 0, 1); structPtr->unk1C[i] = &gSprites[spriteId]; structPtr->unk1C[i]->invisible = TRUE; structPtr->unk1C[i]->pos2.x = i * 64; @@ -1620,7 +1630,7 @@ void sub_81C7DFC(u32 arg0) void sub_81C7E14(u32 arg0) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); if (arg0 == 4) structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; @@ -1630,7 +1640,7 @@ void sub_81C7E14(u32 arg0) void sub_81C7E58(u32 arg0) { - struct UnknownSubStruct_0203CF40 *structPtr; + struct PokenavMainMenuResources *structPtr; u32 size, tag; if (arg0 >= 6) @@ -1690,7 +1700,7 @@ void sub_81C7FC4(u32 arg0, bool32 arg1) void sub_81C7FDC(void) { s32 i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); for (i = 0; i < 2; i++) { @@ -1701,7 +1711,7 @@ void sub_81C7FDC(void) bool32 sub_81C8010(void) { - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); if (structPtr->unk1C[0]->callback == SpriteCallbackDummy && structPtr->unk24[0]->callback == SpriteCallbackDummy) return FALSE; @@ -1712,7 +1722,7 @@ bool32 sub_81C8010(void) void sub_81C803C(u32 arg0, bool32 arg1) { s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); if (!arg1) var1 = -96, var2 = 32; @@ -1729,7 +1739,7 @@ void sub_81C803C(u32 arg0, bool32 arg1) void sub_81C8088(u32 arg0, bool32 arg1) { s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); if (!arg1) var1 = -96, var2 = 16; @@ -1746,7 +1756,7 @@ void sub_81C8088(u32 arg0, bool32 arg1) void sub_81C80D4(bool32 arg0) { s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); if (!arg0) var1 = 32, var2 = -96; @@ -1762,7 +1772,7 @@ void sub_81C80D4(bool32 arg0) void sub_81C8110(bool32 arg0) { s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); if (!arg0) var1 = 16, var2 = -96; @@ -1836,7 +1846,7 @@ void sub_81C8234(void) structPtr = GetSubstructPtr(0x11); sub_81C8FE0(&structPtr->unk0); RemoveWindow(structPtr->unk0.unk0.windowId); - FreeSubstruct(0x11); + FreePokenavSubstruct(0x11); } u32 LoopedTask_sub_81C8254(s32 a0) @@ -2688,7 +2698,7 @@ void sub_81C8ED0(void) { LoadCompressedSpriteSheet(ptr); } - sub_81C795C(sMatchcallArrowPalette); + Pokenav_AllocAndLoadPalettes(sMatchcallArrowPalette); } void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) From ad2a97935e1c1f4362f0dffa58ef437d191bab4e Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 7 Apr 2019 01:32:42 -0400 Subject: [PATCH 80/84] Document left header system --- asm/pokenav.s | 26 +++--- src/pokenav.c | 243 ++++++++++++++++++++++++++++---------------------- 2 files changed, 148 insertions(+), 121 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index 1cccd5e4c3..af47d33e7c 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -1215,14 +1215,14 @@ _081C9BEC: cmp r0, 0x4 bne _081C9C06 movs r0, 0x7 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex _081C9BFE: movs r0, 0x1 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex b _081C9AD6 _081C9C06: movs r0, 0 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex b _081C9AD6 _081C9C0E: bl IsPaletteFadeActive @@ -1339,7 +1339,7 @@ _081C9CDC: bne _081C9D34 bl sub_81CA0C8 movs r0, 0x1 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex movs r0, 0 b _081C9D3E _081C9CFA: @@ -1410,7 +1410,7 @@ _081C9D72: bne _081C9DCA bl sub_81CA0C8 movs r0, 0 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex movs r0, 0 b _081C9DD4 _081C9D90: @@ -1476,7 +1476,7 @@ _081C9E04: cmp r0, 0 bne _081C9E48 movs r0, 0x7 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex bl sub_81CA0C8 movs r0, 0 b _081C9E52 @@ -4419,7 +4419,7 @@ _081CB4A6: bl ShowBg bl sub_81CC214 movs r0, 0x3 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex movs r0, 0x3 movs r1, 0x1 movs r2, 0 @@ -5938,7 +5938,7 @@ sub_81CC058: @ 81CC058 ldrb r0, [r4, 0x14] movs r1, 0x3 bl CopyWindowToVram - bl sub_81C7CCC + bl PauseSpinningNavgearSprite movs r2, 0 movs r1, 0x18 strh r1, [r0, 0x20] @@ -6122,7 +6122,7 @@ _081CC1C4: sub_81CC1DC: @ 81CC1DC push {lr} sub sp, 0x8 - bl sub_81C7CE4 + bl ResumeSpinningNavgearSprite movs r0, 0x20 str r0, [sp] movs r0, 0x14 @@ -6900,7 +6900,7 @@ _081CC804: movs r4, 0x4 _081CC812: adds r0, r4, 0 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex adds r0, r4, 0 movs r1, 0x1 movs r2, 0x1 @@ -10052,7 +10052,7 @@ _081CE1EC: b _081CDFB0 _081CE1FC: movs r0, 0x6 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex movs r0, 0x1 movs r1, 0x1 movs r2, 0 @@ -12398,7 +12398,7 @@ _081CF4F6: lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex adds r0, r4, 0 movs r1, 0x1 movs r2, 0 @@ -13779,7 +13779,7 @@ _081CFFA4: cmp r0, 0 bne _081CFF32 movs r0, 0x2 - bl sub_81C7DFC + bl LoadLeftHeaderGfxForIndex movs r0, 0x2 movs r1, 0x1 movs r2, 0 diff --git a/src/pokenav.c b/src/pokenav.c index aab827074b..6299d26473 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -37,6 +37,31 @@ enum NAVMENU_CB_UNK_6 }; +enum +{ + NAVGEAR_GFX_MAIN_MENU, + NAVGEAR_GFX_CONDITION_MENU, + NAVGEAR_GFX_RIBBONS_MENU, + NAVGEAR_GFX_MATCH_CALL_MENU, + + // One of these is for the zoomed-in map, and the other is for the + // zoomed-out map. Don't know which is which yet. + NAVGEAR_GFX_MAP_MENU_UNK0, + NAVGEAR_GFX_MAP_MENU_UNK1, + + NAVGEAR_GFX_PARTY_MENU, + NAVGEAR_GFX_SEARCH_MENU, + NAVGEAR_GFX_COOL_MENU, + NAVGEAR_GFX_BEAUTY_MENU, + NAVGEAR_GFX_CUTE_MENU, + NAVGEAR_GFX_SMART_MENU, + NAVGEAR_GFX_TOUGH_MENU, + + NAVGEAR_GFX_MENUS_END +}; + +#define NAVGEAR_GFX_SUBMENUS_START NAVGEAR_GFX_PARTY_MENU + // Return values of LoopedTask functions. #define LT_INC_AND_PAUSE 0 #define LT_INC_AND_CONTINUE 1 @@ -92,8 +117,8 @@ struct PokenavMainMenuResources u32 unk10; u32 unk14; struct Sprite *spinningNavgear; - struct Sprite *unk1C[2]; - struct Sprite *unk24[2]; + struct Sprite *leftHeaderSprites[2]; + struct Sprite *submenuLeftHeaderSprites[2]; u8 tilemapBuffer[0x800]; }; @@ -139,8 +164,9 @@ struct PokenavResources void *field10[SUBSTRUCT_COUNT]; }; -// Needed to match u32/u16 tag field difference. -struct CompressedSpritePalette_ +// This struct uses a 32bit tag, and doesn't have a size field. +// Needed to match LoadLeftHeaderGfxForSubMenu. +struct CompressedSpriteSheetNoSize { const u32 *data; // LZ77 compressed palette data u32 tag; @@ -283,14 +309,14 @@ void InitPokenavMainMenuResources(void); void sub_81C72BC(void); void sub_81C7B74(void); void CleanupPokenavMainMenuResources(void); -void sub_81C7F24(u32 arg0); -void sub_81C7E58(u32 arg0); -void sub_81C8110(bool32 arg0); -void sub_81C80D4(bool32 arg0); -void sub_81C803C(u32 arg0, bool32 arg1); -void sub_81C8088(u32 arg0, bool32 arg1); -void sub_81C814C(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3); -void sub_81C817C(struct Sprite *sprite); +void LoadLeftHeaderGfxForSubMenu(u32 arg0); +void LoadLeftHeaderGfxForMenu(u32 arg0); +void HideLeftHeaderSubmenuSprites(bool32 arg0); +void HideLeftHeaderSprites(bool32 arg0); +void ShowLeftHeaderSprites(u32 arg0, bool32 arg1); +void ShowLeftHeaderSubmenuSprites(u32 arg0, bool32 arg1); +void MoveLeftHeader(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3); +void SpriteCB_MoveLeftHeader(struct Sprite *sprite); // Const rom data. u32 (*const PokenavMenuCallbacks[15][7])(void) = @@ -517,67 +543,67 @@ static const struct CompressedSpriteSheet sPokenavHoenMapLeftHeaderSpriteSheet = .tag = 2 }; -static const struct CompressedSpriteSheet sUnknown_0861FA6C[] = +static const struct CompressedSpriteSheet sPokenavMenuLeftHeaderSpriteSheets[] = { - { + [NAVGEAR_GFX_MAIN_MENU] = { .data = gPokenavLeftHeaderMainMenu_Gfx, .size = 0x20, .tag = 3 }, - { + [NAVGEAR_GFX_CONDITION_MENU] = { .data = gPokenavLeftHeaderCondition_Gfx, .size = 0x20, .tag = 1 }, - { + [NAVGEAR_GFX_RIBBONS_MENU] = { .data = gPokenavLeftHeaderRibbons_Gfx, .size = 0x20, .tag = 2 }, - { + [NAVGEAR_GFX_MATCH_CALL_MENU] = { .data = gPokenavLeftHeaderMatchCall_Gfx, .size = 0x20, .tag = 4 }, - { + [NAVGEAR_GFX_MAP_MENU_UNK0] = { .data = gPokenavLeftHeaderHoennMap_Gfx, .size = 0x20, .tag = 0 }, - { + [NAVGEAR_GFX_MAP_MENU_UNK1] = { .data = gPokenavLeftHeaderHoennMap_Gfx, .size = 0x40, .tag = 0 } }; -static const struct CompressedSpritePalette_ sUnknown_0861FA9C[] = +static const struct CompressedSpriteSheetNoSize sPokenavSubMenuLeftHeaderSpriteSheets[] = { - { + [NAVGEAR_GFX_PARTY_MENU - NAVGEAR_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderParty_Gfx, .tag = 1 }, - { + [NAVGEAR_GFX_SEARCH_MENU - NAVGEAR_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderSearch_Gfx, .tag = 1 }, - { + [NAVGEAR_GFX_COOL_MENU - NAVGEAR_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderCool_Gfx, .tag = 4 }, - { + [NAVGEAR_GFX_BEAUTY_MENU - NAVGEAR_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderBeauty_Gfx, .tag = 1 }, - { + [NAVGEAR_GFX_CUTE_MENU - NAVGEAR_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderCute_Gfx, .tag = 2 }, - { + [NAVGEAR_GFX_SMART_MENU - NAVGEAR_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderSmart_Gfx, .tag = 0 }, - { + [NAVGEAR_GFX_TOUGH_MENU - NAVGEAR_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderTough_Gfx, .tag = 0 } @@ -600,7 +626,7 @@ static const struct OamData sSpinningNavgearSpriteOam = .affineParam = 0 }; -static const union AnimCmd sSpinningNavgarAnims[] = +static const union AnimCmd sSpinningNavgearAnims[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(16, 8), @@ -613,9 +639,9 @@ static const union AnimCmd sSpinningNavgarAnims[] = ANIMCMD_JUMP(0) }; -static const union AnimCmd *const sSpinningNavgarAnimTable[] = +static const union AnimCmd *const sSpinningNavgearAnimTable[] = { - sSpinningNavgarAnims + sSpinningNavgearAnims }; static const struct SpriteTemplate sSpinningNavgearSpriteTemplate = @@ -623,7 +649,7 @@ static const struct SpriteTemplate sSpinningNavgearSpriteTemplate = .tileTag = 0, .paletteTag = 0, .oam = &sSpinningNavgearSpriteOam, - .anims = sSpinningNavgarAnimTable, + .anims = sSpinningNavgearAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_SpinningNavgear @@ -1573,10 +1599,11 @@ void CleanupPokenavMainMenuResources(void) void SpriteCB_SpinningNavgear(struct Sprite *sprite) { + // If the background starts scrolling, follow it. sprite->pos2.y = (GetBgY(0) / 256u) * -1; } -struct Sprite *sub_81C7CCC(void) +struct Sprite *PauseSpinningNavgearSprite(void) { struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); @@ -1584,7 +1611,7 @@ struct Sprite *sub_81C7CCC(void) return structPtr->spinningNavgear; } -void sub_81C7CE4(void) +void ResumeSpinningNavgearSprite(void) { struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); @@ -1604,28 +1631,28 @@ void InitHoenMapHeaderSprites(void) LoadCompressedSpriteSheet(&sPokenavHoenMapLeftHeaderSpriteSheet); AllocSpritePalette(1); AllocSpritePalette(2); - for (i = 0; i < 2; i++) + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) { spriteId = CreateSprite(&sPokenavLeftHeaderHoenMapSpriteTemplate, 0, 0, 1); - structPtr->unk1C[i] = &gSprites[spriteId]; - structPtr->unk1C[i]->invisible = TRUE; - structPtr->unk1C[i]->pos2.x = i * 64; + structPtr->leftHeaderSprites[i] = &gSprites[spriteId]; + structPtr->leftHeaderSprites[i]->invisible = TRUE; + structPtr->leftHeaderSprites[i]->pos2.x = i * 64; spriteId = CreateSprite(&sUnknown_0861FB44, 0, 0, 2); - structPtr->unk24[i] = &gSprites[spriteId]; - structPtr->unk24[i]->invisible = TRUE; - structPtr->unk24[i]->pos2.x = i * 32; - structPtr->unk24[i]->pos2.y = 18; - structPtr->unk24[i]->oam.tileNum += (i * 8) + 64; + structPtr->submenuLeftHeaderSprites[i] = &gSprites[spriteId]; + structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; + structPtr->submenuLeftHeaderSprites[i]->pos2.x = i * 32; + structPtr->submenuLeftHeaderSprites[i]->pos2.y = 18; + structPtr->submenuLeftHeaderSprites[i]->oam.tileNum += (i * 8) + 64; } } -void sub_81C7DFC(u32 arg0) +void LoadLeftHeaderGfxForIndex(u32 arg0) { - if (arg0 < 6) - sub_81C7E58(arg0); + if (arg0 < NAVGEAR_GFX_SUBMENUS_START) + LoadLeftHeaderGfxForMenu(arg0); else - sub_81C7F24(arg0 - 6); + LoadLeftHeaderGfxForSubMenu(arg0 - NAVGEAR_GFX_SUBMENUS_START); } void sub_81C7E14(u32 arg0) @@ -1633,44 +1660,44 @@ void sub_81C7E14(u32 arg0) struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); if (arg0 == 4) - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; else - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 64; + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 64; } -void sub_81C7E58(u32 arg0) +void LoadLeftHeaderGfxForMenu(u32 index) { struct PokenavMainMenuResources *structPtr; u32 size, tag; - if (arg0 >= 6) + if (index >= NAVGEAR_GFX_SUBMENUS_START) return; structPtr = GetSubstructPtr(0); - tag = sUnknown_0861FA6C[arg0].tag; - size = GetDecompressedDataSize(sUnknown_0861FA6C[arg0].data); + tag = sPokenavMenuLeftHeaderSpriteSheets[index].tag; + size = GetDecompressedDataSize(sPokenavMenuLeftHeaderSpriteSheets[index].data); LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); - LZ77UnCompWram(sUnknown_0861FA6C[arg0].data, gDecompressionBuffer); + LZ77UnCompWram(sPokenavMenuLeftHeaderSpriteSheets[index].data, gDecompressionBuffer); RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sUnknown_0861FA6C[arg0].size; + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sPokenavMenuLeftHeaderSpriteSheets[index].size; - if (arg0 == 4 || arg0 == 5) - structPtr->unk1C[1]->pos2.x = 56; + if (index == NAVGEAR_GFX_MAP_MENU_UNK0 || index == NAVGEAR_GFX_MAP_MENU_UNK1) + structPtr->leftHeaderSprites[1]->pos2.x = 56; else - structPtr->unk1C[1]->pos2.x = 64; + structPtr->leftHeaderSprites[1]->pos2.x = 64; } -void sub_81C7F24(u32 arg0) +void LoadLeftHeaderGfxForSubMenu(u32 arg0) { u32 size, tag; - if (arg0 >= 7) + if (arg0 >= NAVGEAR_GFX_MENUS_END - NAVGEAR_GFX_SUBMENUS_START) return; - tag = sUnknown_0861FA9C[arg0].tag; - size = GetDecompressedDataSize(sUnknown_0861FA9C[arg0].data); + tag = sPokenavSubMenuLeftHeaderSpriteSheets[arg0].tag; + size = GetDecompressedDataSize(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data); LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); - LZ77UnCompWram(sUnknown_0861FA9C[arg0].data, &gDecompressionBuffer[0x1000]); + LZ77UnCompWram(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data, &gDecompressionBuffer[0x1000]); RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)VRAM + 0x10800 + (GetSpriteTileStartByTag(2) * 32), size, 1); } @@ -1684,17 +1711,17 @@ void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2) var = 0x10; if (arg0 < 6) - sub_81C803C(var, arg2); + ShowLeftHeaderSprites(var, arg2); else - sub_81C8088(var, arg2); + ShowLeftHeaderSubmenuSprites(var, arg2); } void sub_81C7FC4(u32 arg0, bool32 arg1) { if (arg0 < 6) - sub_81C80D4(arg1); + HideLeftHeaderSprites(arg1); else - sub_81C8110(arg1); + HideLeftHeaderSubmenuSprites(arg1); } void sub_81C7FDC(void) @@ -1702,10 +1729,10 @@ void sub_81C7FDC(void) s32 i; struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - for (i = 0; i < 2; i++) + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) { - structPtr->unk1C[i]->invisible = TRUE; - structPtr->unk24[i]->invisible = TRUE; + structPtr->leftHeaderSprites[i]->invisible = TRUE; + structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; } } @@ -1713,89 +1740,89 @@ bool32 sub_81C8010(void) { struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - if (structPtr->unk1C[0]->callback == SpriteCallbackDummy && structPtr->unk24[0]->callback == SpriteCallbackDummy) + if (structPtr->leftHeaderSprites[0]->callback == SpriteCallbackDummy && structPtr->submenuLeftHeaderSprites[0]->callback == SpriteCallbackDummy) return FALSE; else return TRUE; } -void sub_81C803C(u32 arg0, bool32 arg1) +void ShowLeftHeaderSprites(u32 startY, bool32 isOnRightSide) { - s32 var1, var2, i; + s32 start, end, i; struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - if (!arg1) - var1 = -96, var2 = 32; + if (!isOnRightSide) + start = -96, end = 32; else - var1 = 256, var2 = 160; + start = 256, end = 160; - for (i = 0; i < 2; i++) + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) { - structPtr->unk1C[i]->pos1.y = arg0; - sub_81C814C(structPtr->unk1C[i], var1, var2, 12); + structPtr->leftHeaderSprites[i]->pos1.y = startY; + MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); } } -void sub_81C8088(u32 arg0, bool32 arg1) +void ShowLeftHeaderSubmenuSprites(u32 startY, bool32 isOnRightSide) { - s32 var1, var2, i; + s32 start, end, i; struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - if (!arg1) - var1 = -96, var2 = 16; + if (!isOnRightSide) + start = -96, end = 16; else - var1 = 256, var2 = 192; + start = 256, end = 192; - for (i = 0; i < 2; i++) + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) { - structPtr->unk24[i]->pos1.y = arg0; - sub_81C814C(structPtr->unk24[i], var1, var2, 12); + structPtr->submenuLeftHeaderSprites[i]->pos1.y = startY; + MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); } } -void sub_81C80D4(bool32 arg0) +void HideLeftHeaderSprites(bool32 isOnRightSide) { - s32 var1, var2, i; + s32 start, end, i; struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - if (!arg0) - var1 = 32, var2 = -96; + if (!isOnRightSide) + start = 32, end = -96; else - var1 = 192, var2 = 256; + start = 192, end = 256; - for (i = 0; i < 2; i++) + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) { - sub_81C814C(structPtr->unk1C[i], var1, var2, 12); + MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); } } -void sub_81C8110(bool32 arg0) +void HideLeftHeaderSubmenuSprites(bool32 isOnRightSide) { - s32 var1, var2, i; + s32 start, end, i; struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - if (!arg0) - var1 = 16, var2 = -96; + if (!isOnRightSide) + start = 16, end = -96; else - var1 = 192, var2 = 256; + start = 192, end = 256; - for (i = 0; i < 2; i++) + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) { - sub_81C814C(structPtr->unk24[i], var1, var2, 12); + MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); } } -void sub_81C814C(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3) +void MoveLeftHeader(struct Sprite *sprite, s32 startX, s32 endX, s32 duration) { - sprite->pos1.x = arg1; - sprite->data[0] = arg1 * 16; - sprite->data[1] = (arg2 - arg1) * 16 / arg3; - sprite->data[2] = arg3; - sprite->data[7] = arg2; - sprite->callback = sub_81C817C; + sprite->pos1.x = startX; + sprite->data[0] = startX * 16; + sprite->data[1] = (endX - startX) * 16 / duration; + sprite->data[2] = duration; + sprite->data[7] = endX; + sprite->callback = SpriteCB_MoveLeftHeader; } -void sub_81C817C(struct Sprite *sprite) +void SpriteCB_MoveLeftHeader(struct Sprite *sprite) { if (sprite->data[2] != 0) { From 78151b6d88d22bec6b7d0d450e4ecc1f94491192 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 7 Apr 2019 13:07:23 -0500 Subject: [PATCH 81/84] Start decompiling pokemon_jump.c --- asm/pokemon_jump.s | 1247 ------------------------------------- data/pokemon_jump.s | 127 ---- include/constants/songs.h | 2 +- include/pokemon_jump.h | 10 + ld_script.txt | 2 + src/pokemon_jump.c | 838 +++++++++++++++++++++++++ src/union_room.c | 2 +- 7 files changed, 852 insertions(+), 1376 deletions(-) create mode 100755 include/pokemon_jump.h create mode 100755 src/pokemon_jump.c diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s index e9aa9089d0..3fc91c06bd 100755 --- a/asm/pokemon_jump.s +++ b/asm/pokemon_jump.s @@ -5,1253 +5,6 @@ .text - thumb_func_start sub_802A9A8 -sub_802A9A8: @ 802A9A8 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0802AA3C - ldr r5, =gUnknown_02022CFC - ldr r0, =0x000083b0 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _0802AA3C - bl ResetTasks - ldr r0, =sub_802ACA0 - movs r1, 0x1 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, [r5] - movs r1, 0 - strh r1, [r0, 0x8] - str r6, [r0] - strb r4, [r0, 0x4] - bl GetMultiplayerId - ldr r1, [r5] - strb r0, [r1, 0x6] - ldr r0, [r5] - ldrb r2, [r0, 0x6] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - ldr r2, =0x000082a8 - adds r1, r2 - adds r0, r1 - movs r1, 0x64 - muls r1, r7 - ldr r2, =gPlayerParty - adds r1, r2 - bl sub_802AC2C - ldr r0, [r5] - bl sub_802AA60 - ldr r2, [r5] - adds r0, r4, 0 - movs r1, 0x2 - bl SetWordTaskArg - ldr r0, =sub_802AC6C - bl SetMainCallback2 - b _0802AA42 - .pool -_0802AA3C: - adds r0, r6, 0 - bl SetMainCallback2 -_0802AA42: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802A9A8 - - thumb_func_start sub_802AA48 -sub_802AA48: @ 802AA48 - push {lr} - bl sub_802D0AC - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AA48 - - thumb_func_start sub_802AA60 -sub_802AA60: @ 802AA60 - push {r4,lr} - adds r4, r0, 0 - bl GetLinkPlayerCount - movs r2, 0 - strb r0, [r4, 0x5] - adds r1, r4, 0 - adds r1, 0x70 - movs r0, 0x5 - strb r0, [r1] - adds r0, r4, 0 - adds r0, 0x72 - strh r2, [r0] - bl sub_802AB20 - adds r0, r4, 0 - bl sub_802AA94 - ldrb r0, [r4, 0x5] - cmp r0, 0x5 - bne _0802AA8E - bl sub_802E3A8 -_0802AA8E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802AA60 - - thumb_func_start sub_802AA94 -sub_802AA94: @ 802AA94 - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x6 - str r0, [r4, 0x14] - str r0, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x4A - movs r6, 0 - movs r5, 0 - strh r5, [r0] - str r5, [r4, 0x1C] - str r5, [r4, 0x5C] - bl GetMultiplayerId - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _0802AABA - movs r1, 0x1 -_0802AABA: - adds r0, r4, 0 - adds r0, 0x47 - strb r1, [r0] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - str r5, [r4, 0x58] - strh r5, [r4, 0x3A] - subs r0, 0x3 - strb r6, [r0] - str r5, [r4, 0x54] - adds r0, 0x2 - strb r6, [r0] - adds r0, 0x3 - strb r6, [r0] - subs r0, 0x1 - movs r1, 0x1 - strb r1, [r0] - str r5, [r4, 0x78] - adds r0, 0x29 - strb r6, [r0] - adds r0, 0x3 - strh r5, [r0] - str r1, [r4, 0x60] - subs r0, 0x27 - strb r6, [r0] - str r5, [r4, 0x68] - str r5, [r4, 0x64] - str r5, [r4, 0x2C] - str r5, [r4, 0x30] - bl sub_802AB98 - bl sub_802C0E8 - movs r2, 0 - adds r5, r4, 0 - adds r5, 0x7C - movs r3, 0 - adds r1, r4, 0 - adds r1, 0x9A -_0802AB0C: - adds r0, r5, r2 - strb r3, [r0] - strh r3, [r1] - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x4 - ble _0802AB0C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_802AA94 - - thumb_func_start sub_802AB20 -sub_802AB20: @ 802AB20 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, =gUnknown_02022CFC - movs r6, 0 - movs r5, 0 - ldr r0, =gPkmnJumpSpecies - mov r8, r0 - movs r4, 0x4 -_0802AB32: - ldr r0, [r7] - adds r0, r5 - ldr r1, =0x000082a8 - adds r0, r1 - ldrh r0, [r0] - bl sub_802AC00 - lsls r0, 16 - ldr r1, [r7] - adds r1, r6 - asrs r0, 14 - add r0, r8 - ldrh r0, [r0, 0x2] - ldr r2, =0x000082f0 - adds r1, r2 - strh r0, [r1] - adds r6, 0x28 - adds r5, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _0802AB32 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldr r0, =0x000083ac - adds r3, r1, r0 - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, =0x000082e4 - adds r0, r2 - adds r1, r0 - str r1, [r3] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AB20 - - thumb_func_start sub_802AB98 -sub_802AB98: @ 802AB98 - push {r4-r7,lr} - movs r5, 0 - ldr r6, =gUnknown_02022CFC - movs r4, 0 - movs r3, 0 -_0802ABA2: - ldr r2, [r6] - adds r1, r2, r3 - ldr r7, =0x000082f2 - adds r0, r1, r7 - strh r4, [r0] - adds r7, 0x2 - adds r0, r1, r7 - strh r4, [r0] - ldr r0, =0x000082f6 - adds r1, r0 - strh r4, [r1] - ldr r1, =0x000082e4 - adds r0, r2, r1 - adds r0, r3 - str r4, [r0] - subs r7, 0xC - adds r0, r2, r7 - adds r0, r3 - ldr r1, =0x7fffffff - str r1, [r0] - ldr r1, =0x000082f8 - adds r0, r2, r1 - adds r0, r3 - str r4, [r0] - adds r2, 0x8B - adds r2, r5 - movs r0, 0x9 - strb r0, [r2] - adds r3, 0x28 - adds r5, 0x1 - cmp r5, 0x4 - ble _0802ABA2 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AB98 - - thumb_func_start sub_802AC00 -sub_802AC00: @ 802AC00 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0 - ldr r2, =gPkmnJumpSpecies -_0802AC0A: - ldrh r0, [r2] - cmp r0, r3 - bne _0802AC1C - lsls r0, r1, 16 - asrs r0, 16 - b _0802AC28 - .pool -_0802AC1C: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0x63 - bls _0802AC0A - movs r0, 0x1 - negs r0, r0 -_0802AC28: - pop {r1} - bx r1 - thumb_func_end sub_802AC00 - - thumb_func_start sub_802AC2C -sub_802AC2C: @ 802AC2C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_802AC2C - - thumb_func_start sub_802AC58 -sub_802AC58: @ 802AC58 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_802AC58 - - thumb_func_start sub_802AC6C -sub_802AC6C: @ 802AC6C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_802AC6C - - thumb_func_start sub_802AC84 -sub_802AC84: @ 802AC84 - push {lr} - movs r1, 0x1 - bl CreateTask - ldr r2, =gUnknown_02022CFC - ldr r1, [r2] - movs r3, 0 - strb r0, [r1, 0x4] - ldr r0, [r2] - strh r3, [r0, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AC84 - - thumb_func_start sub_802ACA0 -sub_802ACA0: @ 802ACA0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - ldrh r0, [r0, 0x8] - adds r2, r1, 0 - cmp r0, 0x5 - bls _0802ACB6 - b _0802AE08 -_0802ACB6: - lsls r0, 2 - ldr r1, =_0802ACC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802ACC8: - .4byte _0802ACE0 - .4byte _0802AD0C - .4byte _0802AD3C - .4byte _0802AD68 - .4byte _0802ADA4 - .4byte _0802ADD0 -_0802ACE0: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =sub_802BD84 - movs r1, 0x5 - bl sub_802BE60 - movs r0, 0x4 - bl FadeOutMapMusic - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - b _0802ADC0 - .pool -_0802AD0C: - ldr r0, =sub_802BD84 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0802AE08 - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - adds r0, 0xA4 - bl sub_802D074 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r1, [r4] - b _0802ADC0 - .pool -_0802AD3C: - bl sub_802D0F0 - cmp r0, 0 - bne _0802AE08 - bl IsNotWaitingForBGMStop - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802AE08 - ldr r0, =0x0000021a - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - b _0802ADC0 - .pool -_0802AD68: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0802AE08 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_802AC58 - bl SetVBlankCallback - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - b _0802ADC0 - .pool -_0802ADA4: - bl UpdatePaletteFade - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _0802AE08 - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - strb r2, [r0, 0x7] - ldr r1, [r1] -_0802ADC0: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802AE08 - .pool -_0802ADD0: - ldr r0, [r2] - ldrb r1, [r0, 0x7] - adds r1, 0x1 - strb r1, [r0, 0x7] - ldr r1, [r2] - ldrb r0, [r1, 0x7] - cmp r0, 0x13 - bls _0802AE08 - adds r0, r1, 0 - adds r0, 0x47 - ldrb r0, [r0] - cmp r0, 0 - beq _0802ADF8 - ldr r0, =sub_802AF80 - bl sub_802AC84 - b _0802ADFE - .pool -_0802ADF8: - ldr r0, =sub_802B194 - bl sub_802AC84 -_0802ADFE: - bl sub_802BE80 - adds r0, r4, 0 - bl DestroyTask -_0802AE08: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802ACA0 - - thumb_func_start sub_802AE14 -sub_802AE14: @ 802AE14 - push {lr} - adds r1, r0, 0 - cmp r1, 0 - bne _0802AE34 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldr r0, =0x00001111 - str r0, [r1, 0x30] - movs r0, 0x1 - str r0, [r1, 0x2C] - b _0802AE46 - .pool -_0802AE34: - ldr r0, =gUnknown_02022CFC - ldr r2, [r0] - subs r1, 0x1 - movs r0, 0x1 - lsls r0, r1 - subs r0, 0x1 - str r0, [r2, 0x30] - movs r0, 0 - str r0, [r2, 0x2C] -_0802AE46: - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AE14 - - thumb_func_start sub_802AE50 -sub_802AE50: @ 802AE50 - push {r4-r6,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - adds r1, 0x70 - movs r2, 0 - strb r0, [r1] - ldr r0, [r4] - movs r3, 0 - strh r2, [r0, 0x8] - strh r2, [r0, 0xA] - adds r0, 0x48 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x49 - strb r3, [r0] - movs r3, 0x1 - ldr r0, [r4] - ldrb r0, [r0, 0x5] - cmp r3, r0 - bge _0802AE94 - adds r6, r4, 0 - ldr r5, =0x000082fc - movs r4, 0 - movs r2, 0x28 -_0802AE82: - ldr r1, [r6] - adds r0, r1, r5 - adds r0, r2 - str r4, [r0] - adds r2, 0x28 - adds r3, 0x1 - ldrb r1, [r1, 0x5] - cmp r3, r1 - blt _0802AE82 -_0802AE94: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AE50 - - thumb_func_start sub_802AEA4 -sub_802AEA4: @ 802AEA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r4, 0x1 - movs r0, 0 - str r0, [sp, 0x4] - ldr r7, =gUnknown_02022CFC - ldr r0, [r7] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _0802AF48 - adds r1, r7, 0 - mov r10, r1 - movs r2, 0x2 - add r2, sp - mov r8, r2 - ldr r3, =0x0000830c - mov r9, r3 - movs r6, 0x28 -_0802AED0: - mov r1, r10 - ldr r0, [r1] - adds r1, r0, r6 - ldr r2, =0x000082f4 - adds r1, r2 - ldrh r5, [r1] - add r0, r9 - adds r1, r4, 0 - mov r2, sp - mov r3, r8 - bl sub_802E264 - cmp r0, 0 - beq _0802AF10 - ldr r2, [r7] - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x90 - adds r0, r1 - mov r3, r8 - ldrh r1, [r3] - strh r1, [r0] - adds r2, 0x8B - adds r2, r4 - mov r0, sp - ldrb r0, [r0] - strb r0, [r2] - ldr r0, [r7] - adds r0, r6 - ldr r1, =0x000082f6 - adds r0, r1 - strh r5, [r0] -_0802AF10: - mov r2, r10 - ldr r1, [r2] - ldr r3, =0x000082fc - adds r0, r1, r3 - adds r0, r6 - ldr r0, [r0] - cmp r0, 0 - beq _0802AF36 - adds r0, r1, 0 - adds r0, 0x8B - adds r0, r4 - adds r1, 0x70 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _0802AF36 - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] -_0802AF36: - movs r1, 0x28 - add r9, r1 - adds r6, 0x28 - adds r4, 0x1 - ldr r7, =gUnknown_02022CFC - ldr r0, [r7] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _0802AED0 -_0802AF48: - ldr r2, =gUnknown_02022CFC - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - ldr r3, [sp, 0x4] - cmp r3, r0 - bne _0802AF5C - adds r1, 0x49 - movs r0, 0x1 - strb r0, [r1] -_0802AF5C: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AEA4 - - thumb_func_start sub_802AF80 -sub_802AF80: @ 802AF80 - push {r4,r5,lr} - bl sub_802AEA4 - bl sub_802C43C - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x48 - ldrb r0, [r0] - cmp r0, 0 - bne _0802AFB2 - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0802AFB2 - adds r0, r1, 0 - adds r0, 0x4C - ldrb r0, [r0] - bl sub_802AE50 - movs r0, 0x3 - bl sub_802AE14 -_0802AFB2: - ldr r4, =gUnknown_02022CFC - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x48 - ldrb r5, [r0] - cmp r5, 0x1 - bne _0802AFEE - ldr r1, =gUnknown_082FB5F4 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r1, r0, 0 - cmp r1, 0 - bne _0802AFEE - ldr r0, [r4] - adds r0, 0x48 - strb r1, [r0] - ldr r1, [r4] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, =0x000082fc - adds r1, r2 - adds r1, r0 - str r5, [r1] -_0802AFEE: - bl sub_802C1DC - bl sub_802B008 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AF80 - - thumb_func_start sub_802B008 -sub_802B008: @ 802B008 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldr r0, [r1, 0x2C] - cmp r0, 0 - bne _0802B01E - ldr r2, =0x000082e4 - adds r0, r1, r2 - adds r1, 0x70 - bl sub_802E138 -_0802B01E: - ldr r1, [r4] - ldr r2, [r1, 0x30] - ldr r0, =0x00001111 - cmp r2, r0 - beq _0802B030 - ldr r0, [r1, 0x2C] - adds r0, 0x1 - ands r0, r2 - str r0, [r1, 0x2C] -_0802B030: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802B008 - - thumb_func_start sub_802B044 -sub_802B044: @ 802B044 - ldr r2, =gUnknown_02022CFC - ldr r1, [r2] - adds r1, 0x70 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - strh r3, [r0, 0x8] - strh r3, [r0, 0xA] - adds r0, 0x48 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r2] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, =0x000082fc - adds r1, r2 - adds r1, r0 - str r3, [r1] - bx lr - .pool - thumb_func_end sub_802B044 - - thumb_func_start sub_802B078 -sub_802B078: @ 802B078 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldr r2, =0x000082f4 - adds r1, r0, r2 - ldrh r1, [r1] - mov r8, r1 - ldr r3, =0x000082e4 - adds r0, r3 - mov r1, sp - bl sub_802E1BC - cmp r0, 0 - beq _0802B128 - ldr r2, [r4] - ldrb r0, [r2, 0x6] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r3, =0x000082fc - adds r0, r2, r3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _0802B0C6 - mov r0, sp - adds r1, r2, 0 - adds r1, 0x70 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _0802B0C6 - mov r0, sp - ldrb r0, [r0] - bl sub_802B044 -_0802B0C6: - ldr r3, =gUnknown_02022CFC - ldr r2, [r3] - ldr r0, [r2, 0x78] - ldr r1, [sp, 0x8] - cmp r0, r1 - beq _0802B108 - str r1, [r2, 0x78] - movs r4, 0x1 - str r4, [r2, 0x5C] - mov r0, sp - ldrb r1, [r0, 0x1] - adds r0, r2, 0 - adds r0, 0x71 - strb r1, [r0] - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x71 - ldrb r1, [r1] - cmp r1, 0 - beq _0802B104 - adds r0, 0x4D - strb r4, [r0] - b _0802B108 - .pool -_0802B104: - adds r0, 0x4D - strb r1, [r0] -_0802B108: - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - mov r0, sp - ldrh r0, [r0, 0x2] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - mov r0, sp - ldrh r2, [r0, 0x4] - adds r0, r1, 0 - adds r0, 0x74 - strh r2, [r0] - ldr r0, =0x000082f6 - adds r1, r0 - mov r2, r8 - strh r2, [r1] -_0802B128: - movs r4, 0x1 - ldr r2, =gUnknown_02022CFC - ldr r0, [r2] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _0802B176 - adds r7, r2, 0 - ldr r6, =0x0000830c - movs r5, 0x28 -_0802B13A: - ldr r1, [r7] - ldrb r3, [r1, 0x6] - cmp r4, r3 - beq _0802B168 - adds r0, r1, r5 - ldr r3, =0x000082f4 - adds r0, r3 - ldrh r0, [r0] - mov r8, r0 - adds r0, r1, r6 - adds r1, r4, 0 - str r2, [sp, 0xC] - bl sub_802E2D0 - ldr r2, [sp, 0xC] - cmp r0, 0 - beq _0802B168 - ldr r0, [r7] - adds r0, r5 - ldr r1, =0x000082f6 - adds r0, r1 - mov r3, r8 - strh r3, [r0] -_0802B168: - adds r6, 0x28 - adds r5, 0x28 - adds r4, 0x1 - ldr r0, [r2] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _0802B13A -_0802B176: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802B078 - - thumb_func_start sub_802B194 -sub_802B194: @ 802B194 - push {r4,lr} - bl sub_802B078 - ldr r4, =gUnknown_02022CFC - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x48 - ldrb r0, [r0] - cmp r0, 0 - beq _0802B1E0 - ldr r1, =gUnknown_082FB618 - adds r0, r2, 0 - adds r0, 0x70 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r1, r0, 0 - cmp r1, 0 - bne _0802B1E0 - ldr r0, [r4] - adds r0, 0x48 - strb r1, [r0] - ldr r1, [r4] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, =0x000082fc - adds r1, r2 - adds r1, r0 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x3 - bl sub_802AE14 -_0802B1E0: - bl sub_802C1DC - bl sub_802B1FC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802B194 - - thumb_func_start sub_802B1FC -sub_802B1FC: @ 802B1FC - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r2, [r4] - ldr r0, [r2, 0x2C] - cmp r0, 0 - bne _0802B224 - ldrb r1, [r2, 0x6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =0x000082e4 - adds r0, r1 - adds r0, r2, r0 - adds r1, r2, 0 - adds r1, 0x70 - ldrb r1, [r1] - adds r2, 0x42 - ldrh r2, [r2] - bl sub_802E234 -_0802B224: - ldr r1, [r4] - ldr r2, [r1, 0x30] - ldr r0, =0x00001111 - cmp r2, r0 - beq _0802B236 - ldr r0, [r1, 0x2C] - adds r0, 0x1 - ands r0, r2 - str r0, [r1, 0x2C] -_0802B236: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802B1FC - - thumb_func_start sub_802B248 -sub_802B248: @ 802B248 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B260 - cmp r0, 0x1 - beq _0802B26E - b _0802B294 - .pool -_0802B260: - movs r0, 0x3 - bl sub_802AE14 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B26E: - bl sub_802B7E0 - cmp r0, 0 - bne _0802B294 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x4A - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x1 - strb r0, [r1] - movs r0, 0 - b _0802B296 - .pool -_0802B294: - movs r0, 0x1 -_0802B296: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B248 - - thumb_func_start sub_802B29C -sub_802B29C: @ 802B29C - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B2B4 - cmp r0, 0x1 - beq _0802B2CA - movs r0, 0x1 - b _0802B2CE - .pool -_0802B2B4: - movs r0, 0 - bl sub_802AE14 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x72 - ldrh r0, [r0] - str r0, [r1, 0x24] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B2CA: - bl sub_802B7E0 -_0802B2CE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B29C - - thumb_func_start sub_802B2D4 -sub_802B2D4: @ 802B2D4 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _0802B2EC - cmp r0, 0x1 - beq _0802B300 - b _0802B314 - .pool -_0802B2EC: - bl sub_802C0E8 - movs r0, 0x5 - bl sub_802AE14 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B314 -_0802B300: - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0802B314 - adds r1, 0x4C - movs r0, 0x2 - strb r0, [r1] - movs r0, 0 - b _0802B316 -_0802B314: - movs r0, 0x1 -_0802B316: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B2D4 - - thumb_func_start sub_802B31C -sub_802B31C: @ 802B31C - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B334 - cmp r0, 0x1 - beq _0802B352 - b _0802B35E - .pool -_0802B334: - bl sub_802C0E8 - movs r0, 0 - bl sub_802AE14 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x72 - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x4A - strh r0, [r2] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B352: - bl sub_802C70C - cmp r0, 0 - beq _0802B35E - movs r0, 0 - b _0802B360 -_0802B35E: - movs r0, 0x1 -_0802B360: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B31C - - thumb_func_start sub_802B368 -sub_802B368: @ 802B368 - push {lr} - bl sub_802B8CC - cmp r0, 0 - bne _0802B390 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x4A - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x1 - strb r0, [r1] - b _0802B3AA - .pool -_0802B390: - bl sub_802C538 - cmp r0, 0 - beq _0802B39C - movs r0, 0x1 - b _0802B3AC -_0802B39C: - bl sub_802C0B8 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - adds r0, 0x4C - movs r1, 0x3 - strb r1, [r0] -_0802B3AA: - movs r0, 0 -_0802B3AC: - pop {r1} - bx r1 - .pool - thumb_func_end sub_802B368 - - thumb_func_start sub_802B3B4 -sub_802B3B4: @ 802B3B4 - push {lr} - bl sub_802B8CC - cmp r0, 0 - beq _0802B3CE - bl sub_802C538 - cmp r0, 0 - beq _0802B3CA - movs r0, 0x1 - b _0802B3D0 -_0802B3CA: - bl sub_802C0B8 -_0802B3CE: - movs r0, 0 -_0802B3D0: - pop {r1} - bx r1 - thumb_func_end sub_802B3B4 - thumb_func_start sub_802B3D4 sub_802B3D4: @ 802B3D4 push {r4,lr} diff --git a/data/pokemon_jump.s b/data/pokemon_jump.s index 8ef0201e45..362965053c 100755 --- a/data/pokemon_jump.s +++ b/data/pokemon_jump.s @@ -4,133 +4,6 @@ .section .rodata - .align 2 -gPkmnJumpSpecies:: @ 82FB464 - .2byte SPECIES_BULBASAUR, 0x0002 - .2byte SPECIES_CHARMANDER, 0x0001 - .2byte SPECIES_SQUIRTLE, 0x0000 - .2byte SPECIES_CATERPIE, 0x0001 - .2byte SPECIES_METAPOD, 0x0001 - .2byte SPECIES_WEEDLE, 0x0001 - .2byte SPECIES_KAKUNA, 0x0001 - .2byte SPECIES_RATTATA, 0x0001 - .2byte SPECIES_RATICATE, 0x0001 - .2byte SPECIES_PIKACHU, 0x0000 - .2byte SPECIES_SANDSHREW, 0x0000 - .2byte SPECIES_NIDORAN_F, 0x0000 - .2byte SPECIES_NIDORAN_M, 0x0000 - .2byte SPECIES_CLEFAIRY, 0x0000 - .2byte SPECIES_VULPIX, 0x0000 - .2byte SPECIES_JIGGLYPUFF, 0x0002 - .2byte SPECIES_ODDISH, 0x0002 - .2byte SPECIES_PARAS, 0x0001 - .2byte SPECIES_MEOWTH, 0x0000 - .2byte SPECIES_PSYDUCK, 0x0002 - .2byte SPECIES_MANKEY, 0x0001 - .2byte SPECIES_GROWLITHE, 0x0001 - .2byte SPECIES_POLIWAG, 0x0002 - .2byte SPECIES_BELLSPROUT, 0x0002 - .2byte SPECIES_SHELLDER, 0x0001 - .2byte SPECIES_KRABBY, 0x0001 - .2byte SPECIES_EXEGGCUTE, 0x0002 - .2byte SPECIES_CUBONE, 0x0000 - .2byte SPECIES_DITTO, 0x0002 - .2byte SPECIES_EEVEE, 0x0000 - .2byte SPECIES_OMANYTE, 0x0001 - .2byte SPECIES_KABUTO, 0x0001 - .2byte SPECIES_CHIKORITA, 0x0002 - .2byte SPECIES_CYNDAQUIL, 0x0001 - .2byte SPECIES_TOTODILE, 0x0000 - .2byte SPECIES_SPINARAK, 0x0001 - .2byte SPECIES_PICHU, 0x0000 - .2byte SPECIES_CLEFFA, 0x0000 - .2byte SPECIES_IGGLYBUFF, 0x0002 - .2byte SPECIES_TOGEPI, 0x0002 - .2byte SPECIES_MAREEP, 0x0000 - .2byte SPECIES_BELLOSSOM, 0x0002 - .2byte SPECIES_MARILL, 0x0002 - .2byte SPECIES_SUNKERN, 0x0002 - .2byte SPECIES_WOOPER, 0x0002 - .2byte SPECIES_PINECO, 0x0002 - .2byte SPECIES_SNUBBULL, 0x0000 - .2byte SPECIES_SHUCKLE, 0x0002 - .2byte SPECIES_TEDDIURSA, 0x0000 - .2byte SPECIES_SLUGMA, 0x0002 - .2byte SPECIES_SWINUB, 0x0000 - .2byte SPECIES_HOUNDOUR, 0x0001 - .2byte SPECIES_PHANPY, 0x0000 - .2byte SPECIES_PORYGON2, 0x0000 - .2byte SPECIES_TYROGUE, 0x0001 - .2byte SPECIES_SMOOCHUM, 0x0002 - .2byte SPECIES_ELEKID, 0x0001 - .2byte SPECIES_MAGBY, 0x0001 - .2byte SPECIES_LARVITAR, 0x0001 - .2byte SPECIES_TREECKO, 0x0001 - .2byte SPECIES_TORCHIC, 0x0002 - .2byte SPECIES_MUDKIP, 0x0000 - .2byte SPECIES_MARSHTOMP, 0x0000 - .2byte SPECIES_POOCHYENA, 0x0001 - .2byte SPECIES_ZIGZAGOON, 0x0000 - .2byte SPECIES_LINOONE, 0x0000 - .2byte SPECIES_WURMPLE, 0x0001 - .2byte SPECIES_SILCOON, 0x0002 - .2byte SPECIES_CASCOON, 0x0002 - .2byte SPECIES_LOTAD, 0x0002 - .2byte SPECIES_SEEDOT, 0x0001 - .2byte SPECIES_RALTS, 0x0000 - .2byte SPECIES_KIRLIA, 0x0000 - .2byte SPECIES_SURSKIT, 0x0002 - .2byte SPECIES_SHROOMISH, 0x0002 - .2byte SPECIES_NINCADA, 0x0001 - .2byte SPECIES_WHISMUR, 0x0000 - .2byte SPECIES_AZURILL, 0x0002 - .2byte SPECIES_SKITTY, 0x0000 - .2byte SPECIES_SABLEYE, 0x0000 - .2byte SPECIES_MAWILE, 0x0000 - .2byte SPECIES_ARON, 0x0001 - .2byte SPECIES_MEDITITE, 0x0002 - .2byte SPECIES_ELECTRIKE, 0x0001 - .2byte SPECIES_PLUSLE, 0x0001 - .2byte SPECIES_MINUN, 0x0001 - .2byte SPECIES_VOLBEAT, 0x0000 - .2byte SPECIES_ILLUMISE, 0x0000 - .2byte SPECIES_ROSELIA, 0x0002 - .2byte SPECIES_GULPIN, 0x0002 - .2byte SPECIES_NUMEL, 0x0002 - .2byte SPECIES_TORKOAL, 0x0002 - .2byte SPECIES_SPOINK, 0x0000 - .2byte SPECIES_TRAPINCH, 0x0002 - .2byte SPECIES_CACNEA, 0x0002 - .2byte SPECIES_ANORITH, 0x0001 - .2byte SPECIES_WYNAUT, 0x0000 - .2byte SPECIES_SNORUNT, 0x0000 - .2byte SPECIES_CLAMPERL, 0x0001 - .2byte SPECIES_BAGON, 0x0001 - - .align 2 -gUnknown_082FB5F4:: @ 82FB5F4 - .4byte sub_802B248 - .4byte sub_802B2D4 - .4byte sub_802B368 - .4byte sub_802B3D4 - .4byte sub_802B4CC - .4byte sub_802B5C8 - .4byte sub_802B664 - .4byte sub_802B6B8 - .4byte sub_802B720 - - .align 2 -gUnknown_082FB618:: @ 82FB618 - .4byte sub_802B29C - .4byte sub_802B31C - .4byte sub_802B3B4 - .4byte sub_802B470 - .4byte sub_802B568 - .4byte sub_802B628 - .4byte sub_802B664 - .4byte sub_802B704 - .4byte sub_802B720 - .align 2 gUnknown_082FB63C:: @ 82FB63C .2byte 0x001a, 0x001f, 0x0024, 0x0029, 0x002e, 0x0033, 0x0038, 0x003d diff --git a/include/constants/songs.h b/include/constants/songs.h index 3778d5f08d..b44c9f7a8b 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -463,7 +463,7 @@ #define MUS_RG_SOUSA 535 // Starting Tutorial #define MUS_RG_SEKAIKAN 536 // Starting Tutorial 2 #define MUS_RG_SEIBETU 537 // Starting Tutorial 3 -#define MUS_RG_JUMP 538 // Jumping Minigame +#define MUS_RG_JUMP 538 // Pokemon Jump Minigame #define MUS_RG_UNION 539 // Union Room #define MUS_RG_NETWORK 540 // Network Center #define MUS_RG_OKURIMONO 541 // Mystery Gift diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h new file mode 100755 index 0000000000..95db6e4043 --- /dev/null +++ b/include/pokemon_jump.h @@ -0,0 +1,10 @@ +#ifndef GUARD_POKEMON_JUMP_H +#define GUARD_POKEMON_JUMP_H + +#include "main.h" + +void sub_802A9A8(u16 monId, MainCallback callback); + +#endif // GUARD_POKEMON_JUMP_H + + diff --git a/ld_script.txt b/ld_script.txt index 8f44e0abf0..918c414458 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -69,6 +69,7 @@ SECTIONS { asm/berry_crush.o(.text); src/berry_powder.o(.text); asm/dodrio_berry_picking.o(.text); + src/pokemon_jump.o(.text); asm/pokemon_jump.o(.text); src/rtc.o(.text); src/main_menu.o(.text); @@ -422,6 +423,7 @@ SECTIONS { data/berry_crush.o(.rodata); data/berry_powder.o(.rodata); data/dodrio_berry_picking.o(.rodata); + src/pokemon_jump.o(.rodata); data/pokemon_jump.o(.rodata); src/rtc.o(.rodata); src/main_menu.o(.rodata); diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c new file mode 100755 index 0000000000..d49ee293b3 --- /dev/null +++ b/src/pokemon_jump.c @@ -0,0 +1,838 @@ +#include "global.h" +#include "alloc.h" +#include "link.h" +#include "main.h" +#include "palette.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "pokemon.h" +#include "pokemon_jump.h" +#include "constants/rgb.h" +#include "constants/songs.h" +#include "constants/species.h" + +struct PokemonJump1_MonInfo +{ + u16 species; + u32 otId; + u32 personality; +}; + +struct PokemonJump1_82E4 +{ + int unk0; + int unk4; + u8 filler8[0x4]; + u16 unkC; + u16 unkE; + u16 unk10; + u16 unk12; + int unk14; + int unk18; + u8 filler1C[0xC]; +}; + +struct PokemonJump1 +{ + MainCallback unk0; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u16 unk8; + u16 unkA; + u16 unkC; + u16 unkE; + u8 filler10[0x4]; + int unk14; + int unk18; + int unk1C; + u8 filler20[0x4]; + int unk24; + u8 filler28[0x4]; + int unk2C; + u32 unk30; + u8 filler34[0x6]; + u16 unk3A; + u8 filler3C[0x6]; + u16 unk42; + u8 unk44; + u8 filler45[0x1]; + u8 unk46; + u8 isLeader; + u8 unk48; + u8 unk49; + u16 unk4A; + u8 unk4C; + u8 unk4D; + u8 filler4E[0x6]; + int unk54; + int unk58; + int unk5C; + int unk60; + int unk64; + int unk68; + int unk6C; + u8 unk70; + u8 unk71; + u16 unk72; + u16 unk74; + int unk78; + u8 unk7C[5]; + u8 filler81[0xA]; + u8 unk8B[5]; + u16 unk90[5]; + u16 unk9A[5]; + void **unkA4; + u8 fillerA8[0x8200]; + struct PokemonJump1_MonInfo unk82A8[5]; + struct PokemonJump1_82E4 unk82E4[5]; + struct PokemonJump1_82E4 *unk83AC; +}; + +struct PokemonJumpMons +{ + u16 species; + u16 unk2; +}; + +struct Unk802B078 +{ + u8 unk0; + u8 unk1; + u16 unk2; + u16 unk4; + u16 unk6; + int unk8; +}; + +static void sub_802AA60(struct PokemonJump1 *); +void sub_802AA94(struct PokemonJump1 *); +void sub_802AB20(void); +static void sub_802AB98(void); +s16 sub_802AC00(u16); +static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon); +static void sub_802AC6C(void); +static void sub_802ACA0(u8 taskId); +static void sub_802AF80(u8 taskId); +static void sub_802B008(void); +static void sub_802B194(u8 taskId); +static void sub_802B1FC(void); +bool32 sub_802B248(void); +bool32 sub_802B2D4(void); +bool32 sub_802B368(void); +bool32 sub_802B3D4(void); +bool32 sub_802B4CC(void); +bool32 sub_802B5C8(void); +bool32 sub_802B664(void); +bool32 sub_802B6B8(void); +bool32 sub_802B720(void); +bool32 sub_802B29C(void); +bool32 sub_802B31C(void); +bool32 sub_802B3B4(void); +bool32 sub_802B470(void); +bool32 sub_802B568(void); +bool32 sub_802B628(void); +bool32 sub_802B664(void); +bool32 sub_802B704(void); +bool32 sub_802B720(void); +bool32 sub_802B7E0(void); +bool32 sub_802B8CC(void); +void sub_802BD84(u8 taskId); +void sub_802BE60(TaskFunc func, u8 taskPriority); +void sub_802BE80(void); +void sub_802C0B8(void); +void sub_802C0E8(void); +void sub_802C1DC(void); +void sub_802C43C(void); +bool32 sub_802C538(void); +bool32 sub_802C70C(void); +void sub_802D074(void *); +void sub_802D0AC(void); +int sub_802D0F0(void); +void sub_802E138(struct PokemonJump1_82E4 *, u8 *); +bool32 sub_802E1BC(struct PokemonJump1_82E4 *, struct Unk802B078 *); +void sub_802E234(struct PokemonJump1_82E4 *, u8 , u16); +bool32 sub_802E264(struct PokemonJump1_82E4 *, int, u8 *, u16 *); +bool32 sub_802E2D0(struct PokemonJump1_82E4 *, int); +void sub_802E3A8(void); + +extern struct PokemonJump1 *gUnknown_02022CFC; + +const struct PokemonJumpMons gPkmnJumpSpecies[] = +{ + { .species = SPECIES_BULBASAUR, .unk2 = 2, }, + { .species = SPECIES_CHARMANDER, .unk2 = 1, }, + { .species = SPECIES_SQUIRTLE, .unk2 = 0, }, + { .species = SPECIES_CATERPIE, .unk2 = 1, }, + { .species = SPECIES_METAPOD, .unk2 = 1, }, + { .species = SPECIES_WEEDLE, .unk2 = 1, }, + { .species = SPECIES_KAKUNA, .unk2 = 1, }, + { .species = SPECIES_RATTATA, .unk2 = 1, }, + { .species = SPECIES_RATICATE, .unk2 = 1, }, + { .species = SPECIES_PIKACHU, .unk2 = 0, }, + { .species = SPECIES_SANDSHREW, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_F, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_M, .unk2 = 0, }, + { .species = SPECIES_CLEFAIRY, .unk2 = 0, }, + { .species = SPECIES_VULPIX, .unk2 = 0, }, + { .species = SPECIES_JIGGLYPUFF, .unk2 = 2, }, + { .species = SPECIES_ODDISH, .unk2 = 2, }, + { .species = SPECIES_PARAS, .unk2 = 1, }, + { .species = SPECIES_MEOWTH, .unk2 = 0, }, + { .species = SPECIES_PSYDUCK, .unk2 = 2, }, + { .species = SPECIES_MANKEY, .unk2 = 1, }, + { .species = SPECIES_GROWLITHE, .unk2 = 1, }, + { .species = SPECIES_POLIWAG, .unk2 = 2, }, + { .species = SPECIES_BELLSPROUT, .unk2 = 2, }, + { .species = SPECIES_SHELLDER, .unk2 = 1, }, + { .species = SPECIES_KRABBY, .unk2 = 1, }, + { .species = SPECIES_EXEGGCUTE, .unk2 = 2, }, + { .species = SPECIES_CUBONE, .unk2 = 0, }, + { .species = SPECIES_DITTO, .unk2 = 2, }, + { .species = SPECIES_EEVEE, .unk2 = 0, }, + { .species = SPECIES_OMANYTE, .unk2 = 1, }, + { .species = SPECIES_KABUTO, .unk2 = 1, }, + { .species = SPECIES_CHIKORITA, .unk2 = 2, }, + { .species = SPECIES_CYNDAQUIL, .unk2 = 1, }, + { .species = SPECIES_TOTODILE, .unk2 = 0, }, + { .species = SPECIES_SPINARAK, .unk2 = 1, }, + { .species = SPECIES_PICHU, .unk2 = 0, }, + { .species = SPECIES_CLEFFA, .unk2 = 0, }, + { .species = SPECIES_IGGLYBUFF, .unk2 = 2, }, + { .species = SPECIES_TOGEPI, .unk2 = 2, }, + { .species = SPECIES_MAREEP, .unk2 = 0, }, + { .species = SPECIES_BELLOSSOM, .unk2 = 2, }, + { .species = SPECIES_MARILL, .unk2 = 2, }, + { .species = SPECIES_SUNKERN, .unk2 = 2, }, + { .species = SPECIES_WOOPER, .unk2 = 2, }, + { .species = SPECIES_PINECO, .unk2 = 2, }, + { .species = SPECIES_SNUBBULL, .unk2 = 0, }, + { .species = SPECIES_SHUCKLE, .unk2 = 2, }, + { .species = SPECIES_TEDDIURSA, .unk2 = 0, }, + { .species = SPECIES_SLUGMA, .unk2 = 2, }, + { .species = SPECIES_SWINUB, .unk2 = 0, }, + { .species = SPECIES_HOUNDOUR, .unk2 = 1, }, + { .species = SPECIES_PHANPY, .unk2 = 0, }, + { .species = SPECIES_PORYGON2, .unk2 = 0, }, + { .species = SPECIES_TYROGUE, .unk2 = 1, }, + { .species = SPECIES_SMOOCHUM, .unk2 = 2, }, + { .species = SPECIES_ELEKID, .unk2 = 1, }, + { .species = SPECIES_MAGBY, .unk2 = 1, }, + { .species = SPECIES_LARVITAR, .unk2 = 1, }, + { .species = SPECIES_TREECKO, .unk2 = 1, }, + { .species = SPECIES_TORCHIC, .unk2 = 2, }, + { .species = SPECIES_MUDKIP, .unk2 = 0, }, + { .species = SPECIES_MARSHTOMP, .unk2 = 0, }, + { .species = SPECIES_POOCHYENA, .unk2 = 1, }, + { .species = SPECIES_ZIGZAGOON, .unk2 = 0, }, + { .species = SPECIES_LINOONE, .unk2 = 0, }, + { .species = SPECIES_WURMPLE, .unk2 = 1, }, + { .species = SPECIES_SILCOON, .unk2 = 2, }, + { .species = SPECIES_CASCOON, .unk2 = 2, }, + { .species = SPECIES_LOTAD, .unk2 = 2, }, + { .species = SPECIES_SEEDOT, .unk2 = 1, }, + { .species = SPECIES_RALTS, .unk2 = 0, }, + { .species = SPECIES_KIRLIA, .unk2 = 0, }, + { .species = SPECIES_SURSKIT, .unk2 = 2, }, + { .species = SPECIES_SHROOMISH, .unk2 = 2, }, + { .species = SPECIES_NINCADA, .unk2 = 1, }, + { .species = SPECIES_WHISMUR, .unk2 = 0, }, + { .species = SPECIES_AZURILL, .unk2 = 2, }, + { .species = SPECIES_SKITTY, .unk2 = 0, }, + { .species = SPECIES_SABLEYE, .unk2 = 0, }, + { .species = SPECIES_MAWILE, .unk2 = 0, }, + { .species = SPECIES_ARON, .unk2 = 1, }, + { .species = SPECIES_MEDITITE, .unk2 = 2, }, + { .species = SPECIES_ELECTRIKE, .unk2 = 1, }, + { .species = SPECIES_PLUSLE, .unk2 = 1, }, + { .species = SPECIES_MINUN, .unk2 = 1, }, + { .species = SPECIES_VOLBEAT, .unk2 = 0, }, + { .species = SPECIES_ILLUMISE, .unk2 = 0, }, + { .species = SPECIES_ROSELIA, .unk2 = 2, }, + { .species = SPECIES_GULPIN, .unk2 = 2, }, + { .species = SPECIES_NUMEL, .unk2 = 2, }, + { .species = SPECIES_TORKOAL, .unk2 = 2, }, + { .species = SPECIES_SPOINK, .unk2 = 0, }, + { .species = SPECIES_TRAPINCH, .unk2 = 2, }, + { .species = SPECIES_CACNEA, .unk2 = 2, }, + { .species = SPECIES_ANORITH, .unk2 = 1, }, + { .species = SPECIES_WYNAUT, .unk2 = 0, }, + { .species = SPECIES_SNORUNT, .unk2 = 0, }, + { .species = SPECIES_CLAMPERL, .unk2 = 1, }, + { .species = SPECIES_BAGON, .unk2 = 1, }, +}; + +bool32 (* const gUnknown_082FB5F4[])(void) = +{ + sub_802B248, + sub_802B2D4, + sub_802B368, + sub_802B3D4, + sub_802B4CC, + sub_802B5C8, + sub_802B664, + sub_802B6B8, + sub_802B720, +}; + +bool32 (* const gUnknown_082FB618[])(void) = +{ + sub_802B29C, + sub_802B31C, + sub_802B3B4, + sub_802B470, + sub_802B568, + sub_802B628, + sub_802B664, + sub_802B704, + sub_802B720, +}; + +void sub_802A9A8(u16 partyIndex, MainCallback callback) +{ + u8 taskId; + + if (gReceivedRemoteLinkPlayers) + { + gUnknown_02022CFC = Alloc(sizeof(*gUnknown_02022CFC)); + if (gUnknown_02022CFC) + { + ResetTasks(); + taskId = CreateTask(sub_802ACA0, 1); + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->unk0 = callback; + gUnknown_02022CFC->unk4 = taskId; + gUnknown_02022CFC->unk6 = GetMultiplayerId(); + sub_802AC2C(&gUnknown_02022CFC->unk82A8[gUnknown_02022CFC->unk6], &gPlayerParty[partyIndex]); + sub_802AA60(gUnknown_02022CFC); + SetWordTaskArg(taskId, 2, (u32)gUnknown_02022CFC); + SetMainCallback2(sub_802AC6C); + return; + } + } + + SetMainCallback2(callback); +} + +void sub_802AA48(void) +{ + sub_802D0AC(); + Free(gUnknown_02022CFC); +} + +static void sub_802AA60(struct PokemonJump1 *arg0) +{ + arg0->unk5 = GetLinkPlayerCount(); + arg0->unk70 = 5; + arg0->unk72 = 0; + sub_802AB20(); + sub_802AA94(arg0); + if (arg0->unk5 == 5) + sub_802E3A8(); +} + +void sub_802AA94(struct PokemonJump1 *arg0) +{ + int i; + + arg0->unk14 = 6; + arg0->unk18 = 6; + arg0->unk4A = 0; + arg0->unk1C = 0; + arg0->unk5C = 0; + arg0->isLeader = GetMultiplayerId() == 0; + arg0->unk8 = 0; + arg0->unkA = 0; + arg0->unkC = 0; + arg0->unkE = 0; + arg0->unk58 = 0; + arg0->unk3A = 0; + arg0->unk44 = 0; + arg0->unk54 = 0; + arg0->unk46 = 0; + arg0->unk49 = 0; + arg0->unk48 = 1; + arg0->unk78 = 0; + arg0->unk71 = 0; + arg0->unk74 = 0; + arg0->unk60 = 1; + arg0->unk4D = 0; + arg0->unk68 = 0; + arg0->unk64 = 0; + arg0->unk2C = 0; + arg0->unk30 = 0; + sub_802AB98(); + sub_802C0E8(); + + for (i = 0; i < 5; i++) + { + arg0->unk7C[i] = 0; + arg0->unk9A[i] = 0; + } +} + +#ifdef NONMATCHING +void sub_802AB20(void) +{ + int i; + s16 index; + + for (i = 0; i < 5; i++) + { + index = sub_802AC00(gUnknown_02022CFC->unk82A8[i].species); + gUnknown_02022CFC->unk82E4[i].unkC = gPkmnJumpSpecies[index].unk2; + } + + gUnknown_02022CFC->unk83AC = &gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6]; +} +#else +NAKED +void sub_802AB20(void) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + ldr r7, =gUnknown_02022CFC\n\ + movs r6, 0\n\ + movs r5, 0\n\ + ldr r0, =gPkmnJumpSpecies\n\ + mov r8, r0\n\ + movs r4, 0x4\n\ +_0802AB32:\n\ + ldr r0, [r7]\n\ + adds r0, r5\n\ + ldr r1, =0x000082a8\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + bl sub_802AC00\n\ + lsls r0, 16\n\ + ldr r1, [r7]\n\ + adds r1, r6\n\ + asrs r0, 14\n\ + add r0, r8\n\ + ldrh r0, [r0, 0x2]\n\ + ldr r2, =0x000082f0\n\ + adds r1, r2\n\ + strh r0, [r1]\n\ + adds r6, 0x28\n\ + adds r5, 0xC\n\ + subs r4, 0x1\n\ + cmp r4, 0\n\ + bge _0802AB32\n\ + ldr r0, =gUnknown_02022CFC\n\ + ldr r1, [r0]\n\ + ldr r0, =0x000083ac\n\ + adds r3, r1, r0\n\ + ldrb r2, [r1, 0x6]\n\ + lsls r0, r2, 2\n\ + adds r0, r2\n\ + lsls r0, 3\n\ + ldr r2, =0x000082e4\n\ + adds r0, r2\n\ + adds r1, r0\n\ + str r1, [r3]\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +static void sub_802AB98(void) +{ + int i; + + for (i = 0; i < 5; i++) + { + gUnknown_02022CFC->unk82E4[i].unkE = 0; + gUnknown_02022CFC->unk82E4[i].unk10 = 0; + gUnknown_02022CFC->unk82E4[i].unk12 = 0; + gUnknown_02022CFC->unk82E4[i].unk0 = 0; + gUnknown_02022CFC->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_02022CFC->unk82E4[i].unk14 = 0; + gUnknown_02022CFC->unk8B[i] = 9; + } +} + +s16 sub_802AC00(u16 species) +{ + u32 i; + for (i = 0; i < ARRAY_COUNT(gPkmnJumpSpecies); i++) + { + if (gPkmnJumpSpecies[i].species == species) + return i; + } + + return -1; +} + +static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon) +{ + monInfo->species = GetMonData(mon, MON_DATA_SPECIES); + monInfo->otId = GetMonData(mon, MON_DATA_OT_ID); + monInfo->personality = GetMonData(mon, MON_DATA_PERSONALITY); +} + +static void sub_802AC58(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void sub_802AC6C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_802AC84(TaskFunc func) +{ + gUnknown_02022CFC->unk4 = CreateTask(func, 1); + gUnknown_02022CFC->unk8 = 0; +} + +static void sub_802ACA0(u8 taskId) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + SetVBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + sub_802BE60(sub_802BD84, 5); + FadeOutMapMusic(4); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!FuncIsActiveTask(sub_802BD84)) + { + sub_802D074(&gUnknown_02022CFC->unkA4); + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + gUnknown_02022CFC->unk8++; + } + break; + case 2: + if (!sub_802D0F0() && IsNotWaitingForBGMStop() == TRUE) + { + FadeOutAndPlayNewMapMusic(MUS_RG_JUMP, 8); + gUnknown_02022CFC->unk8++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + SetVBlankCallback(sub_802AC58); + gUnknown_02022CFC->unk8++; + } + break; + case 4: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_02022CFC->unk7 = 0; + gUnknown_02022CFC->unk8++; + } + break; + case 5: + gUnknown_02022CFC->unk7++; + if (gUnknown_02022CFC->unk7 >= 20) + { + if (gUnknown_02022CFC->isLeader) + sub_802AC84(sub_802AF80); + else + sub_802AC84(sub_802B194); + + sub_802BE80(); + DestroyTask(taskId); + } + break; + } +} + +void sub_802AE14(int arg0) +{ + if (arg0 == 0) + { + gUnknown_02022CFC->unk30 = 0x1111; + gUnknown_02022CFC->unk2C = 1; + } + else + { + gUnknown_02022CFC->unk30 = (1 << (arg0 - 1)) - 1; + gUnknown_02022CFC->unk2C = 0; + } +} + +static void sub_802AE50(u8 arg0) +{ + int i; + + gUnknown_02022CFC->unk70 = arg0; + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->unkA = 0; + gUnknown_02022CFC->unk48 = 1; + gUnknown_02022CFC->unk49 = 0; + for (i = 1; i < gUnknown_02022CFC->unk5; i++) + gUnknown_02022CFC->unk82E4[i].unk18 = 0; +} + +static void sub_802AEA4(void) +{ + int i; + int count; + u16 var0; + u8 var1; + u16 var2; + + for (i = 1, count = 0; i < gUnknown_02022CFC->unk5; i++) + { + var0 = gUnknown_02022CFC->unk82E4[i].unk10; + if (sub_802E264(&gUnknown_02022CFC->unk82E4[i], i, &var1, &var2)) + { + gUnknown_02022CFC->unk90[i] = var2; + gUnknown_02022CFC->unk8B[i] = var1; + gUnknown_02022CFC->unk82E4[i].unk12 = var0; + } + + if (gUnknown_02022CFC->unk82E4[i].unk18 && gUnknown_02022CFC->unk8B[i] == gUnknown_02022CFC->unk70) + count++; + } + + if (count == gUnknown_02022CFC->unk5 - 1) + gUnknown_02022CFC->unk49 = 1; +} + +static void sub_802AF80(u8 taskId) +{ + sub_802AEA4(); + sub_802C43C(); + if (!gUnknown_02022CFC->unk48 && gUnknown_02022CFC->unk49) + { + sub_802AE50(gUnknown_02022CFC->unk4C); + sub_802AE14(3); + } + + if (gUnknown_02022CFC->unk48 == 1) + { + if (!gUnknown_082FB5F4[gUnknown_02022CFC->unk70]()) + { + gUnknown_02022CFC->unk48 = 0; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 1; + } + } + + sub_802C1DC(); + sub_802B008(); +} + +static void sub_802B008(void) +{ + if (!gUnknown_02022CFC->unk2C) + sub_802E138(gUnknown_02022CFC->unk82E4, &gUnknown_02022CFC->unk70); + + if (gUnknown_02022CFC->unk30 != 0x1111) + { + gUnknown_02022CFC->unk2C++; + gUnknown_02022CFC->unk2C &= gUnknown_02022CFC->unk30; + } +} + +static void sub_802B044(u8 arg0) +{ + gUnknown_02022CFC->unk70 = arg0; + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->unkA = 0; + gUnknown_02022CFC->unk48 = 1; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 0; +} + +static void sub_802B078(void) +{ + int i; + u16 var0; + struct Unk802B078 sp0; + + var0 = gUnknown_02022CFC->unk82E4[0].unk10; + if (sub_802E1BC(gUnknown_02022CFC->unk82E4, &sp0)) + { + if (gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 == 1 + && sp0.unk0 != gUnknown_02022CFC->unk70) + { + sub_802B044(sp0.unk0); + } + + if (gUnknown_02022CFC->unk78 != sp0.unk8) + { + gUnknown_02022CFC->unk78 = sp0.unk8; + gUnknown_02022CFC->unk5C = 1; + gUnknown_02022CFC->unk71 = sp0.unk1; + if (gUnknown_02022CFC->unk71) + gUnknown_02022CFC->unk4D = 1; + else + gUnknown_02022CFC->unk4D = 0; + } + + gUnknown_02022CFC->unk72 = sp0.unk2; + gUnknown_02022CFC->unk74 = sp0.unk4; + gUnknown_02022CFC->unk82E4[0].unk12 = var0; + } + + for (i = 1; i < gUnknown_02022CFC->unk5; i++) + { + if (i != gUnknown_02022CFC->unk6) + { + var0 = gUnknown_02022CFC->unk82E4[i].unk10; + if (sub_802E2D0(&gUnknown_02022CFC->unk82E4[i], i)) + gUnknown_02022CFC->unk82E4[i].unk12 = var0; + } + } +} + +static void sub_802B194(u8 taskId) +{ + sub_802B078(); + if (gUnknown_02022CFC->unk48) + { + if (!gUnknown_082FB618[gUnknown_02022CFC->unk70]()) + { + gUnknown_02022CFC->unk48 = 0; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 1; + sub_802AE14(3); + } + } + + sub_802C1DC(); + sub_802B1FC(); +} + +static void sub_802B1FC(void) +{ + if (!gUnknown_02022CFC->unk2C) + sub_802E234(&gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6], gUnknown_02022CFC->unk70, gUnknown_02022CFC->unk42); + + if (gUnknown_02022CFC->unk30 != 0x1111) + { + gUnknown_02022CFC->unk2C++; + gUnknown_02022CFC->unk2C &= gUnknown_02022CFC->unk30; + } +} + +bool32 sub_802B248(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(3); + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (!sub_802B7E0()) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk4C = 1; + return FALSE; + } + break; + } + + return TRUE; +} + +bool32 sub_802B29C(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(0); + gUnknown_02022CFC->unk24 = gUnknown_02022CFC->unk72; + gUnknown_02022CFC->unk8++; + // fall through + case 1: + return sub_802B7E0(); + } + + return TRUE; +} + +bool32 sub_802B2D4(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802C0E8(); + sub_802AE14(5); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (gUnknown_02022CFC->unk49) + { + gUnknown_02022CFC->unk4C = 2; + return FALSE; + } + break; + } + + return TRUE; +} + +bool32 sub_802B31C(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802C0E8(); + sub_802AE14(0); + gUnknown_02022CFC->unk4A = gUnknown_02022CFC->unk72; + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (sub_802C70C()) + return FALSE; + break; + } + + return TRUE; +} + +bool32 sub_802B368(void) +{ + if (!sub_802B8CC()) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk4C = 1; + } + else if (sub_802C538()) + { + return TRUE; + } + else + { + sub_802C0B8(); + gUnknown_02022CFC->unk4C = 3; + } + + return FALSE; +} + +bool32 sub_802B3B4(void) +{ + if (!sub_802B8CC()) + ; + else if (sub_802C538()) + return TRUE; + else + sub_802C0B8(); + + return FALSE; +} diff --git a/src/union_room.c b/src/union_room.c index 687efbf5e2..d9bb3ca7c1 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -47,6 +47,7 @@ #include "berry_crush.h" #include "mystery_gift.h" #include "union_room_player_avatar.h" +#include "pokemon_jump.h" EWRAM_DATA u8 gUnknown_02022C20[12] = {}; EWRAM_DATA u8 gUnknown_02022C2C = 0; @@ -97,7 +98,6 @@ bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1) u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId); void sub_801807C(struct TradeUnkStruct *arg0); void sub_801AC54(void); -void sub_802A9A8(u8 monId, MainCallback callback); void sub_802493C(u8 monId, MainCallback callback); void sub_80149D8(void); void MG_DrawTextBorder(u8 windowId); From 0dc73b0b3a378f4af253691a7b2694b9faa2fbdf Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 7 Apr 2019 14:40:35 -0400 Subject: [PATCH 82/84] Break up pokenav into subfiles The files are separated based on the pokenav resources substruct ID they use. --- asm/pokenav.s | 16556 ---------------- asm/pokenav_unk_1.s | 864 + asm/pokenav_unk_10.s | 2185 ++ asm/pokenav_unk_2.s | 2277 +++ asm/pokenav_unk_3.s | 1036 + asm/pokenav_unk_4.s | 2347 +++ asm/pokenav_unk_5.s | 1396 ++ asm/pokenav_unk_6.s | 1752 ++ asm/pokenav_unk_7.s | 2001 ++ asm/pokenav_unk_8.s | 1377 ++ asm/pokenav_unk_9.s | 1393 ++ asmdiff.ps1 | 11 +- data/pokenav.s | 14 +- include/pokenav.h | 22 + ld_script.txt | 19 +- src/pokenav.c | 2241 +-- src/pokenav_main_menu.c | 990 + ...match_call.c => pokenav_match_call_data.c} | 0 src/pokenav_match_call_ui.c | 1266 ++ sym_ewram.txt | 2 +- 20 files changed, 18945 insertions(+), 18804 deletions(-) delete mode 100644 asm/pokenav.s create mode 100644 asm/pokenav_unk_1.s create mode 100644 asm/pokenav_unk_10.s create mode 100644 asm/pokenav_unk_2.s create mode 100644 asm/pokenav_unk_3.s create mode 100644 asm/pokenav_unk_4.s create mode 100644 asm/pokenav_unk_5.s create mode 100644 asm/pokenav_unk_6.s create mode 100644 asm/pokenav_unk_7.s create mode 100644 asm/pokenav_unk_8.s create mode 100644 asm/pokenav_unk_9.s create mode 100644 src/pokenav_main_menu.c rename src/{pokenav_match_call.c => pokenav_match_call_data.c} (100%) create mode 100644 src/pokenav_match_call_ui.c diff --git a/asm/pokenav.s b/asm/pokenav.s deleted file mode 100644 index e453c814c8..0000000000 --- a/asm/pokenav.s +++ /dev/null @@ -1,16556 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - thumb_func_start sub_81C9268 -sub_81C9268: @ 81C9268 - push {r4,lr} - movs r4, 0 - movs r0, 0x98 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081C928A - movs r4, 0x1 - ldr r0, =0x0000089b - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081C928A - movs r4, 0x2 -_081C928A: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C9268 - - thumb_func_start sub_81C9298 -sub_81C9298: @ 81C9298 - push {r4,lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C92C4 - bl sub_81C9268 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r4] - strh r1, [r4, 0x2] - strh r1, [r4, 0x4] - strh r1, [r4, 0x6] - adds r0, r4, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C92C6 -_081C92C4: - movs r0, 0 -_081C92C6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C9298 - - thumb_func_start sub_81C92CC -sub_81C92CC: @ 81C92CC - push {r4,lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C92FA - bl sub_81C9268 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r4] - movs r0, 0x2 - strh r0, [r4, 0x2] - strh r0, [r4, 0x4] - strh r1, [r4, 0x6] - adds r0, r4, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C92FC -_081C92FA: - movs r0, 0 -_081C92FC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C92CC - - thumb_func_start sub_81C9304 -sub_81C9304: @ 81C9304 - push {r4,lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C932E - bl sub_81C9268 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0x3 - strh r0, [r4, 0x2] - strh r0, [r4, 0x4] - adds r0, r4, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C9330 -_081C932E: - movs r0, 0 -_081C9330: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C9304 - - thumb_func_start sub_81C9338 -sub_81C9338: @ 81C9338 - push {lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r2, r0, 0 - cmp r2, 0 - beq _081C9360 - movs r0, 0 - movs r1, 0x3 - strh r1, [r2] - strh r0, [r2, 0x2] - movs r1, 0x5 - strh r1, [r2, 0x4] - strh r0, [r2, 0x6] - adds r0, r2, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C9362 -_081C9360: - movs r0, 0 -_081C9362: - pop {r1} - bx r1 - thumb_func_end sub_81C9338 - - thumb_func_start sub_81C9368 -sub_81C9368: @ 81C9368 - push {r4,r5,lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r5, r0, 0 - cmp r5, 0 - beq _081C9394 - movs r4, 0 - movs r0, 0x4 - strh r0, [r5] - bl sub_81C76AC - strh r0, [r5, 0x2] - adds r0, 0x8 - strh r0, [r5, 0x4] - strh r4, [r5, 0x6] - adds r0, r5, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C9396 -_081C9394: - movs r0, 0 -_081C9396: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C9368 - - thumb_func_start sub_81C939C -sub_81C939C: @ 81C939C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4] - cmp r0, 0x4 - bhi _081C93E0 - lsls r0, 2 - ldr r1, =_081C93B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C93B4: - .4byte _081C93C8 - .4byte _081C93CE - .4byte _081C93CE - .4byte _081C93D4 - .4byte _081C93DC -_081C93C8: - movs r0, 0 - bl SetPokenavMode -_081C93CE: - bl sub_81C93EC - b _081C93DE -_081C93D4: - ldr r0, =sub_81C963C - b _081C93DE - .pool -_081C93DC: - ldr r0, =sub_81C96FC -_081C93DE: - str r0, [r4, 0xC] -_081C93E0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C939C - - thumb_func_start sub_81C93EC -sub_81C93EC: @ 81C93EC - push {lr} - bl GetPokenavMode - cmp r0, 0x1 - beq _081C9408 - cmp r0, 0x1 - bcc _081C93FE - cmp r0, 0x2 - beq _081C9410 -_081C93FE: - ldr r0, =sub_81C943C - b _081C9412 - .pool -_081C9408: - ldr r0, =sub_81C9520 - b _081C9412 - .pool -_081C9410: - ldr r0, =c2_pre_battle_1 -_081C9412: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C93EC - - thumb_func_start sub_81C941C -sub_81C941C: @ 81C941C - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - ldr r1, [r0, 0xC] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81C941C - - thumb_func_start sub_81C9430 -sub_81C9430: @ 81C9430 - push {lr} - movs r0, 0x1 - bl FreePokenavSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81C9430 - - thumb_func_start sub_81C943C -sub_81C943C: @ 81C943C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C944C - movs r0, 0x1 - b _081C951A -_081C944C: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - adds r5, r2, 0 - cmp r0, 0 - beq _081C9508 - ldr r3, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldrh r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0x4 - bhi _081C9508 - lsls r0, 2 - ldr r1, =_081C9488 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C9488: - .4byte _081C949C - .4byte _081C94BC - .4byte _081C94D4 - .4byte _081C94E0 - .4byte _081C9516 -_081C949C: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x15] - movs r0, 0x8 - ands r0, r1 - movs r1, 0x1 - cmp r0, 0 - beq _081C94AE - movs r1, 0x2 -_081C94AE: - strh r1, [r4, 0x6] - ldr r1, =0x000186a6 - b _081C94EE - .pool -_081C94BC: - movs r1, 0 - movs r0, 0x3 - strh r0, [r4] - strh r1, [r4, 0x2] - ldrb r0, [r3, 0x12] - strh r0, [r4, 0x4] - ldr r0, =sub_81C963C - str r0, [r4, 0xC] - movs r0, 0x2 - b _081C951A - .pool -_081C94D4: - movs r0, 0x6 - strh r0, [r4, 0x6] - ldr r1, =0x000186ab - b _081C94EE - .pool -_081C94E0: - bl CanViewRibbonsMenu - cmp r0, 0 - beq _081C94FC - movs r0, 0x9 - strh r0, [r4, 0x6] - ldr r1, =0x000186ac -_081C94EE: - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x8 - b _081C951A - .pool -_081C94FC: - ldr r0, =sub_81C9600 - str r0, [r4, 0xC] - movs r0, 0x6 - b _081C951A - .pool -_081C9508: - ldrh r1, [r5, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081C9516 - movs r0, 0 - b _081C951A -_081C9516: - movs r0, 0x1 - negs r0, r0 -_081C951A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C943C - - thumb_func_start sub_81C9520 -sub_81C9520: @ 81C9520 - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C9530 - movs r0, 0x1 - b _081C9580 -_081C9530: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C9570 - ldr r3, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldrh r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0x2 - bne _081C9578 - movs r0, 0x6 - strh r0, [r4, 0x6] - ldr r1, =0x000186ab - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x8 - b _081C9580 - .pool -_081C9570: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C957E -_081C9578: - movs r0, 0x20 - bl PlaySE -_081C957E: - movs r0, 0 -_081C9580: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C9520 - - thumb_func_start c2_pre_battle_1 -c2_pre_battle_1: @ 81C9588 - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C9598 - movs r0, 0x1 - b _081C95F8 -_081C9598: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C95E8 - ldr r3, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldrh r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0x2 - beq _081C95D4 - cmp r0, 0x4 - beq _081C95F4 - movs r0, 0x20 - bl PlaySE - movs r0, 0 - b _081C95F8 - .pool -_081C95D4: - movs r0, 0x6 - strh r0, [r4, 0x6] - ldr r1, =0x000186ab - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x8 - b _081C95F8 - .pool -_081C95E8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081C95F4 - movs r0, 0 - b _081C95F8 -_081C95F4: - movs r0, 0x1 - negs r0, r0 -_081C95F8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end c2_pre_battle_1 - - thumb_func_start sub_81C9600 -sub_81C9600: @ 81C9600 - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C9616 - bl sub_81C93EC - str r0, [r4, 0xC] - movs r0, 0x1 - b _081C9634 -_081C9616: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081C962C - movs r0, 0 - b _081C9634 - .pool -_081C962C: - bl sub_81C93EC - str r0, [r4, 0xC] - movs r0, 0x7 -_081C9634: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C9600 - - thumb_func_start sub_81C963C -sub_81C963C: @ 81C963C - push {r4-r6,lr} - adds r4, r0, 0 - bl sub_81C9814 - adds r3, r0, 0 - cmp r3, 0 - beq _081C964E - movs r0, 0x1 - b _081C96F6 -_081C964E: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - adds r6, r2, 0 - cmp r0, 0 - beq _081C96B8 - ldr r5, =gUnknown_0861FC59 - movs r1, 0x2 - ldrsh r0, [r4, r1] - ldrh r2, [r4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 1 - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x6 - beq _081C968E - cmp r0, 0x6 - bgt _081C9688 - cmp r0, 0x5 - beq _081C96A4 - b _081C96B8 - .pool -_081C9688: - cmp r0, 0x7 - beq _081C96E4 - b _081C96B8 -_081C968E: - movs r0, 0x4 - strh r0, [r4] - strh r3, [r4, 0x2] - ldrb r0, [r5, 0x18] - strh r0, [r4, 0x4] - ldr r0, =sub_81C96FC - str r0, [r4, 0xC] - movs r0, 0x4 - b _081C96F6 - .pool -_081C96A4: - strh r3, [r4, 0x6] - ldr r1, =0x000186a7 - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x8 - b _081C96F6 - .pool -_081C96B8: - ldrh r1, [r6, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C96F4 - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r1, =gUnknown_0861FC54 - ldrh r0, [r4] - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - beq _081C96E4 - strh r0, [r4, 0x2] - ldr r0, =sub_81C9798 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081C96F6 - .pool -_081C96E4: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81C97C0 - movs r0, 0x3 - b _081C96F6 -_081C96F4: - movs r0, 0 -_081C96F6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C963C - - thumb_func_start sub_81C96FC -sub_81C96FC: @ 81C96FC - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C970C - movs r0, 0x1 - b _081C9792 -_081C970C: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C9754 - ldr r3, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldrh r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0xD - beq _081C9780 - subs r0, 0x8 - bl sub_81C7694 - ldr r1, =0x000186a8 - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x3 - strh r0, [r4, 0x6] - movs r0, 0x8 - b _081C9792 - .pool -_081C9754: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C9790 - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r1, =gUnknown_0861FC54 - ldrh r0, [r4] - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - beq _081C9780 - strh r0, [r4, 0x2] - ldr r0, =sub_81C97A4 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081C9792 - .pool -_081C9780: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81C97F8 - movs r0, 0x5 - b _081C9792 -_081C9790: - movs r0, 0 -_081C9792: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C96FC - - thumb_func_start sub_81C9798 -sub_81C9798: @ 81C9798 - push {lr} - bl sub_81C97C0 - movs r0, 0x3 - pop {r1} - bx r1 - thumb_func_end sub_81C9798 - - thumb_func_start sub_81C97A4 -sub_81C97A4: @ 81C97A4 - push {lr} - bl sub_81C97F8 - movs r0, 0x5 - pop {r1} - bx r1 - thumb_func_end sub_81C97A4 - - thumb_func_start sub_81C97B0 -sub_81C97B0: @ 81C97B0 - str r1, [r0, 0x8] - ldr r1, =sub_81C97BC - str r1, [r0, 0xC] - bx lr - .pool - thumb_func_end sub_81C97B0 - - thumb_func_start sub_81C97BC -sub_81C97BC: @ 81C97BC - ldr r0, [r0, 0x8] - bx lr - thumb_func_end sub_81C97BC - - thumb_func_start sub_81C97C0 -sub_81C97C0: @ 81C97C0 - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9268 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0x1 - strh r0, [r4, 0x2] - ldr r2, =gUnknown_0861FC59 - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r0, 0x1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x4] - ldr r0, =sub_81C943C - str r0, [r4, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C97C0 - - thumb_func_start sub_81C97F8 -sub_81C97F8: @ 81C97F8 - movs r1, 0x3 - strh r1, [r0] - movs r1, 0x1 - strh r1, [r0, 0x2] - ldr r1, =gUnknown_0861FC59 - ldrb r1, [r1, 0x13] - strh r1, [r0, 0x4] - ldr r1, =sub_81C963C - str r1, [r0, 0xC] - bx lr - .pool - thumb_func_end sub_81C97F8 - - thumb_func_start sub_81C9814 -sub_81C9814: @ 81C9814 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _081C9848 - ldrh r0, [r4, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - ldrh r3, [r4] - cmp r0, 0 - bge _081C986A - ldr r0, =gUnknown_0861FC54 - adds r0, r3, r0 - ldrb r0, [r0] - strh r0, [r4, 0x2] - b _081C986A - .pool -_081C9848: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081C988C - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r0, =gUnknown_0861FC54 - ldrh r1, [r4] - adds r0, r1, r0 - adds r3, r1, 0 - ldrb r0, [r0] - cmp r2, r0 - ble _081C986A - strh r5, [r4, 0x2] -_081C986A: - ldr r2, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 1 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - strh r0, [r4, 0x4] - movs r0, 0x1 - b _081C988E - .pool -_081C988C: - movs r0, 0 -_081C988E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C9814 - - thumb_func_start sub_81C9894 -sub_81C9894: @ 81C9894 - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81C9894 - - thumb_func_start sub_81C98A4 -sub_81C98A4: @ 81C98A4 - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - movs r1, 0x2 - ldrsh r0, [r0, r1] - pop {r1} - bx r1 - thumb_func_end sub_81C98A4 - - thumb_func_start sub_81C98B4 -sub_81C98B4: @ 81C98B4 - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - ldrh r0, [r0, 0x4] - pop {r1} - bx r1 - thumb_func_end sub_81C98B4 - - thumb_func_start sub_81C98C4 -sub_81C98C4: @ 81C98C4 - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - ldrh r0, [r0, 0x6] - pop {r1} - bx r1 - thumb_func_end sub_81C98C4 - - thumb_func_start sub_81C98D4 -sub_81C98D4: @ 81C98D4 - push {r4,lr} - movs r4, 0 -_081C98D8: - adds r0, r4, 0 - bl sub_81CB0C8 - ldr r1, =gMapHeader - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x14] - cmp r0, r1 - bne _081C9914 - adds r0, r4, 0 - bl sub_81CAE08 - cmp r0, 0 - beq _081C9914 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _081C9914 - movs r0, 0x1 - b _081C991C - .pool -_081C9914: - adds r4, 0x1 - cmp r4, 0x4D - ble _081C98D8 - movs r0, 0 -_081C991C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C98D4 - - thumb_func_start sub_81C9924 -sub_81C9924: @ 81C9924 - push {lr} - bl sub_81C9958 - adds r1, r0, 0 - cmp r1, 0 - beq _081C9938 - movs r0, 0 - strb r0, [r1, 0xD] - movs r0, 0x1 - b _081C993A -_081C9938: - movs r0, 0 -_081C993A: - pop {r1} - bx r1 - thumb_func_end sub_81C9924 - - thumb_func_start sub_81C9940 -sub_81C9940: @ 81C9940 - push {lr} - bl sub_81C9958 - adds r1, r0, 0 - cmp r1, 0 - beq _081C9952 - movs r0, 0x1 - strb r0, [r1, 0xD] - b _081C9954 -_081C9952: - movs r0, 0 -_081C9954: - pop {r1} - bx r1 - thumb_func_end sub_81C9940 - - thumb_func_start sub_81C9958 -sub_81C9958: @ 81C9958 - push {r4,lr} - ldr r1, =0x0000088c - movs r0, 0x2 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C997A - movs r0, 0 - strb r0, [r4, 0xC] - ldr r0, =sub_81C9A10 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - ldr r0, =sub_81C99FC - str r0, [r4] -_081C997A: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C9958 - - thumb_func_start sub_81C9990 -sub_81C9990: @ 81C9990 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x2 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_086201A0 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r5, 0x4] - ldr r0, =sub_81C99FC - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C9990 - - thumb_func_start sub_81C99C0 -sub_81C99C0: @ 81C99C0 - push {lr} - movs r0, 0x2 - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81C99C0 - - thumb_func_start sub_81C99D4 -sub_81C99D4: @ 81C99D4 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81CA7F4 - ldrb r0, [r4, 0x8] - bl RemoveWindow - bl sub_81C9FEC - bl sub_81CA994 - movs r0, 0x2 - bl FreePokenavSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C99D4 - - thumb_func_start sub_81C99FC -sub_81C99FC: @ 81C99FC - push {lr} - movs r0, 0x2 - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl IsLoopedTaskActive - pop {r1} - bx r1 - thumb_func_end sub_81C99FC - - thumb_func_start sub_81C9A10 -sub_81C9A10: @ 81C9A10 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x2 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x9 - bls _081C9A24 - b _081C9C60 -_081C9A24: - lsls r0, r4, 2 - ldr r1, =_081C9A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C9A34: - .4byte _081C9A5C - .4byte _081C9AEC - .4byte _081C9B30 - .4byte _081C9B88 - .4byte _081C9B9E - .4byte _081C9BA4 - .4byte _081C9BB6 - .4byte _081C9BC0 - .4byte _081C9C0E - .4byte _081C9C4C -_081C9A5C: - ldr r0, =gUnknown_08620194 - movs r1, 0x3 - bl InitBgTemplates - ldr r1, =gPokenavMessageBox_Gfx - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r1, r5, 0 - adds r1, 0x8C - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, =gPokenavMessageBox_Tilemap - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, =gPokenavMessageBox_Pal - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY -_081C9AD6: - movs r0, 0 - b _081C9C62 - .pool -_081C9AEC: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081C9AFA - b _081C9C5C -_081C9AFA: - ldr r1, =gUnknown_0861FD6C - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_0861FFF4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0861FD4C - movs r1, 0x20 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - b _081C9AD6 - .pool -_081C9B30: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081C9B3E - b _081C9C5C -_081C9B3E: - ldr r1, =gUnknown_0861FC98 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_0861FCAC - movs r0, 0x1 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0861FC78 - movs r1, 0x30 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - bl sub_81C9894 - cmp r0, 0x3 - beq _081C9B76 - bl sub_81C9894 - cmp r0, 0x4 - bne _081C9AD6 -_081C9B76: - bl sub_81CA850 - b _081C9AD6 - .pool -_081C9B88: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081C9C5C - bl sub_81CA6E0 - bl sub_81CA7D4 -_081C9B9A: - movs r0, 0x1 - b _081C9C62 -_081C9B9E: - bl sub_81C9FC4 - b _081C9B9A -_081C9BA4: - bl sub_81CA714 - bl sub_81CA02C - bl sub_81CA640 - bl sub_81CA0C8 - b _081C9AD6 -_081C9BB6: - bl sub_81CA7C4 - cmp r0, 0 - bne _081C9C5C - b _081C9B9A -_081C9BC0: - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldrb r0, [r5, 0xD] - cmp r0, 0 - beq _081C9BE0 - movs r0, 0x1 - bl sub_81C7AC0 - b _081C9BEC -_081C9BE0: - movs r0, 0x6E - bl PlaySE - movs r0, 0x3 - bl sub_81C7AC0 -_081C9BEC: - bl sub_81C9894 - cmp r0, 0x3 - beq _081C9BFE - cmp r0, 0x4 - bne _081C9C06 - movs r0, 0x7 - bl LoadLeftHeaderGfxForIndex -_081C9BFE: - movs r0, 0x1 - bl LoadLeftHeaderGfxForIndex - b _081C9AD6 -_081C9C06: - movs r0, 0 - bl LoadLeftHeaderGfxForIndex - b _081C9AD6 -_081C9C0E: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081C9C5C - bl sub_81C9894 - cmp r0, 0x3 - beq _081C9C2C - cmp r0, 0x4 - bne _081C9C38 - movs r0, 0x7 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 -_081C9C2C: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 - b _081C9C42 -_081C9C38: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 -_081C9C42: - bl sub_81CA20C - bl titlescreen_0 - b _081C9B9A -_081C9C4C: - bl sub_81CA324 - cmp r0, 0 - bne _081C9C5C - bl sub_81C8010 - cmp r0, 0 - beq _081C9C60 -_081C9C5C: - movs r0, 0x2 - b _081C9C62 -_081C9C60: - movs r0, 0x4 -_081C9C62: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C9A10 - - thumb_func_start sub_81C9C6C -sub_81C9C6C: @ 81C9C6C - push {lr} - cmp r0, 0 - beq _081C9C78 - cmp r0, 0x1 - beq _081C9C8E - b _081C9CA2 -_081C9C78: - bl sub_81CAA3C - bl sub_81CA278 - bl sub_81CA714 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _081C9CA4 -_081C9C8E: - bl sub_81CA324 - cmp r0, 0 - bne _081C9C9E - bl sub_81CA7C4 - cmp r0, 0 - beq _081C9CA2 -_081C9C9E: - movs r0, 0x2 - b _081C9CA4 -_081C9CA2: - movs r0, 0x4 -_081C9CA4: - pop {r1} - bx r1 - thumb_func_end sub_81C9C6C - - thumb_func_start sub_81C9CA8 -sub_81C9CA8: @ 81C9CA8 - push {lr} - cmp r0, 0x1 - beq _081C9CDC - cmp r0, 0x1 - bgt _081C9CB8 - cmp r0, 0 - beq _081C9CC2 - b _081C9D3C -_081C9CB8: - cmp r0, 0x2 - beq _081C9CFA - cmp r0, 0x3 - beq _081C9D14 - b _081C9D3C -_081C9CC2: - bl sub_81CA9C8 - bl sub_81CA2DC - movs r0, 0 - movs r1, 0 - bl sub_81C7FC4 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _081C9D3E -_081C9CDC: - bl sub_81CA324 - cmp r0, 0 - bne _081C9D34 - bl sub_81C8010 - cmp r0, 0 - bne _081C9D34 - bl sub_81CA0C8 - movs r0, 0x1 - bl LoadLeftHeaderGfxForIndex - movs r0, 0 - b _081C9D3E -_081C9CFA: - bl sub_81CA20C - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 - bl sub_81CA818 - bl sub_81CA714 - movs r0, 0 - b _081C9D3E -_081C9D14: - bl sub_81CA324 - cmp r0, 0 - bne _081C9D34 - bl sub_81C8010 - cmp r0, 0 - bne _081C9D34 - bl sub_81CA89C - cmp r0, 0 - bne _081C9D34 - bl sub_81CA7C4 - cmp r0, 0 - beq _081C9D38 -_081C9D34: - movs r0, 0x2 - b _081C9D3E -_081C9D38: - bl sub_81CA9D8 -_081C9D3C: - movs r0, 0x4 -_081C9D3E: - pop {r1} - bx r1 - thumb_func_end sub_81C9CA8 - - thumb_func_start sub_81C9D44 -sub_81C9D44: @ 81C9D44 - push {lr} - cmp r0, 0x1 - beq _081C9D72 - cmp r0, 0x1 - bgt _081C9D54 - cmp r0, 0 - beq _081C9D5E - b _081C9DD2 -_081C9D54: - cmp r0, 0x2 - beq _081C9D90 - cmp r0, 0x3 - beq _081C9DAA - b _081C9DD2 -_081C9D5E: - bl sub_81CA9C8 - bl sub_81CA2DC - movs r0, 0x1 - movs r1, 0 - bl sub_81C7FC4 - movs r0, 0 - b _081C9DD4 -_081C9D72: - bl sub_81CA324 - cmp r0, 0 - bne _081C9DCA - bl sub_81C8010 - cmp r0, 0 - bne _081C9DCA - bl sub_81CA0C8 - movs r0, 0 - bl LoadLeftHeaderGfxForIndex - movs r0, 0 - b _081C9DD4 -_081C9D90: - bl sub_81CA20C - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 - bl sub_81CA864 - bl sub_81CA714 - movs r0, 0 - b _081C9DD4 -_081C9DAA: - bl sub_81CA324 - cmp r0, 0 - bne _081C9DCA - bl sub_81C8010 - cmp r0, 0 - bne _081C9DCA - bl sub_81CA89C - cmp r0, 0 - bne _081C9DCA - bl sub_81CA7C4 - cmp r0, 0 - beq _081C9DCE -_081C9DCA: - movs r0, 0x2 - b _081C9DD4 -_081C9DCE: - bl sub_81CA9D8 -_081C9DD2: - movs r0, 0x4 -_081C9DD4: - pop {r1} - bx r1 - thumb_func_end sub_81C9D44 - - thumb_func_start sub_81C9DD8 -sub_81C9DD8: @ 81C9DD8 - push {lr} - cmp r0, 0x1 - beq _081C9E04 - cmp r0, 0x1 - bgt _081C9DE8 - cmp r0, 0 - beq _081C9DF2 - b _081C9E50 -_081C9DE8: - cmp r0, 0x2 - beq _081C9E1A - cmp r0, 0x3 - beq _081C9E30 - b _081C9E50 -_081C9DF2: - bl sub_81CA9C8 - bl sub_81CA2DC - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _081C9E52 -_081C9E04: - bl sub_81CA324 - cmp r0, 0 - bne _081C9E48 - movs r0, 0x7 - bl LoadLeftHeaderGfxForIndex - bl sub_81CA0C8 - movs r0, 0 - b _081C9E52 -_081C9E1A: - bl sub_81CA20C - movs r0, 0x7 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 - bl sub_81CA714 - movs r0, 0 - b _081C9E52 -_081C9E30: - bl sub_81CA324 - cmp r0, 0 - bne _081C9E48 - bl sub_81C8010 - cmp r0, 0 - bne _081C9E48 - bl sub_81CA89C - cmp r0, 0 - beq _081C9E4C -_081C9E48: - movs r0, 0x2 - b _081C9E52 -_081C9E4C: - bl sub_81CA9D8 -_081C9E50: - movs r0, 0x4 -_081C9E52: - pop {r1} - bx r1 - thumb_func_end sub_81C9DD8 - - thumb_func_start sub_81C9E58 -sub_81C9E58: @ 81C9E58 - push {lr} - cmp r0, 0x1 - beq _081C9E86 - cmp r0, 0x1 - bgt _081C9E68 - cmp r0, 0 - beq _081C9E72 - b _081C9EC2 -_081C9E68: - cmp r0, 0x2 - beq _081C9E9E - cmp r0, 0x3 - beq _081C9EAA - b _081C9EC2 -_081C9E72: - bl sub_81CA9C8 - bl sub_81CA2DC - movs r0, 0x7 - movs r1, 0 - bl sub_81C7FC4 - movs r0, 0 - b _081C9EC4 -_081C9E86: - bl sub_81CA324 - cmp r0, 0 - bne _081C9EBA - bl sub_81C8010 - cmp r0, 0 - bne _081C9EBA - bl sub_81CA0C8 - movs r0, 0 - b _081C9EC4 -_081C9E9E: - bl sub_81CA20C - bl sub_81CA714 - movs r0, 0 - b _081C9EC4 -_081C9EAA: - bl sub_81CA324 - cmp r0, 0 - bne _081C9EBA - bl sub_81CA89C - cmp r0, 0 - beq _081C9EBE -_081C9EBA: - movs r0, 0x2 - b _081C9EC4 -_081C9EBE: - bl sub_81CA9D8 -_081C9EC2: - movs r0, 0x4 -_081C9EC4: - pop {r1} - bx r1 - thumb_func_end sub_81C9E58 - - thumb_func_start sub_81C9EC8 -sub_81C9EC8: @ 81C9EC8 - push {lr} - cmp r0, 0 - beq _081C9ED4 - cmp r0, 0x1 - beq _081C9EE2 - b _081C9EF0 -_081C9ED4: - movs r0, 0x20 - bl PlaySE - bl sub_81CA770 - movs r0, 0 - b _081C9EF2 -_081C9EE2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C9EF0 - movs r0, 0x2 - b _081C9EF2 -_081C9EF0: - movs r0, 0x4 -_081C9EF2: - pop {r1} - bx r1 - thumb_func_end sub_81C9EC8 - - thumb_func_start sub_81C9EF8 -sub_81C9EF8: @ 81C9EF8 - push {lr} - cmp r0, 0 - beq _081C9F04 - cmp r0, 0x1 - beq _081C9F12 - b _081C9F20 -_081C9F04: - movs r0, 0x5 - bl PlaySE - bl sub_81CA714 - movs r0, 0 - b _081C9F22 -_081C9F12: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C9F20 - movs r0, 0x2 - b _081C9F22 -_081C9F20: - movs r0, 0x4 -_081C9F22: - pop {r1} - bx r1 - thumb_func_end sub_81C9EF8 - - thumb_func_start sub_81C9F28 -sub_81C9F28: @ 81C9F28 - push {lr} - cmp r0, 0x1 - beq _081C9F52 - cmp r0, 0x1 - bgt _081C9F38 - cmp r0, 0 - beq _081C9F42 - b _081C9FBC -_081C9F38: - cmp r0, 0x2 - beq _081C9F96 - cmp r0, 0x3 - beq _081C9FB0 - b _081C9FBC -_081C9F42: - bl sub_81C98C4 - lsls r0, 16 - lsrs r0, 16 - bl sub_81C7BA4 - movs r0, 0 - b _081C9FBE -_081C9F52: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - bne _081C9FB8 - bl sub_81C7880 - bl sub_81CA9C8 - bl sub_81CA2DC - bl sub_81C9894 - cmp r0, 0x3 - beq _081C9F7A - cmp r0, 0x4 - bne _081C9F84 - movs r0, 0x7 - movs r1, 0 - bl sub_81C7FC4 -_081C9F7A: - movs r0, 0x1 - movs r1, 0 - bl sub_81C7FC4 - b _081C9F8C -_081C9F84: - movs r0, 0 - movs r1, 0 - bl sub_81C7FC4 -_081C9F8C: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _081C9FBE -_081C9F96: - bl sub_81CA324 - cmp r0, 0 - bne _081C9FB8 - bl sub_81C8010 - cmp r0, 0 - bne _081C9FB8 - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081C9FBE -_081C9FB0: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081C9FBC -_081C9FB8: - movs r0, 0x2 - b _081C9FBE -_081C9FBC: - movs r0, 0x4 -_081C9FBE: - pop {r1} - bx r1 - thumb_func_end sub_81C9F28 - - thumb_func_start sub_81C9FC4 -sub_81C9FC4: @ 81C9FC4 - push {r4,r5,lr} - movs r5, 0 - ldr r4, =gUnknown_086201C4 -_081C9FCA: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x1 - bls _081C9FCA - ldr r0, =gUnknown_086201D4 - bl Pokenav_AllocAndLoadPalettes - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C9FC4 - - thumb_func_start sub_81C9FEC -sub_81C9FEC: @ 81C9FEC - push {lr} - movs r0, 0x3 - bl FreeSpriteTilesByTag - movs r0, 0x1 - bl FreeSpriteTilesByTag - movs r0, 0x4 - bl FreeSpritePaletteByTag - movs r0, 0x5 - bl FreeSpritePaletteByTag - movs r0, 0x6 - bl FreeSpritePaletteByTag - movs r0, 0x7 - bl FreeSpritePaletteByTag - movs r0, 0x8 - bl FreeSpritePaletteByTag - movs r0, 0x3 - bl FreeSpritePaletteByTag - bl sub_81CA094 - bl sub_81CA698 - pop {r0} - bx r0 - thumb_func_end sub_81C9FEC - - thumb_func_start sub_81CA02C -sub_81CA02C: @ 81CA02C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x2 - bl GetSubstructPtr - movs r2, 0 - adds r0, 0x2C - mov r8, r0 -_081CA03E: - movs r4, 0 - lsls r0, r2, 2 - lsls r1, r2, 4 - adds r7, r2, 0x1 - adds r0, r2 - lsls r0, 18 - movs r2, 0xA0 - lsls r2, 14 - adds r5, r0, r2 - mov r0, r8 - adds r6, r1, r0 -_081CA054: - ldr r0, =gUnknown_0862034C - movs r1, 0x8C - asrs r2, r5, 16 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - stm r6!, {r1} - lsls r0, r4, 5 - strh r0, [r1, 0x24] - adds r4, 0x1 - cmp r4, 0x3 - ble _081CA054 - adds r2, r7, 0 - cmp r2, 0x5 - ble _081CA03E - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA02C - - thumb_func_start sub_81CA094 -sub_81CA094: @ 81CA094 - push {r4-r7,lr} - movs r0, 0x2 - bl GetSubstructPtr - movs r1, 0 - adds r7, r0, 0 - adds r7, 0x2C -_081CA0A2: - lsls r0, r1, 4 - adds r6, r1, 0x1 - adds r4, r0, r7 - movs r5, 0x3 -_081CA0AA: - ldr r0, [r4] - bl FreeSpriteOamMatrix - ldm r4!, {r0} - bl DestroySprite - subs r5, 0x1 - cmp r5, 0 - bge _081CA0AA - adds r1, r6, 0 - cmp r1, 0x5 - ble _081CA0A2 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CA094 - - thumb_func_start sub_81CA0C8 -sub_81CA0C8: @ 81CA0C8 - push {lr} - bl sub_81C9894 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - ldr r1, =gUnknown_08620244 - adds r0, r2, r1 - subs r1, 0x4 - adds r2, r1 - ldrh r1, [r2] - ldrh r2, [r2, 0x2] - bl sub_81CA0EC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA0C8 - - thumb_func_start sub_81CA0EC -sub_81CA0EC: @ 81CA0EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r6, r0, 0 - str r1, [sp, 0x14] - str r2, [sp] - movs r0, 0x2 - bl GetSubstructPtr - mov r10, r0 - movs r0, 0x3 - bl GetSpriteTileStartByTag - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r1, 0 -_081CA114: - ldr r0, [r6] - cmp r0, 0 - beq _081CA1B0 - movs r5, 0 - lsls r2, r1, 4 - mov r0, r10 - adds r0, 0x2C - lsls r3, r1, 2 - mov r9, r3 - movs r4, 0x10 - add r4, r10 - mov r8, r4 - adds r7, r6, 0x4 - str r7, [sp, 0xC] - ldr r3, [sp, 0x14] - ldr r4, [sp] - adds r3, r4 - str r3, [sp, 0x8] - adds r1, 0x1 - str r1, [sp, 0x10] - adds r4, r2, r0 -_081CA13E: - ldr r3, [r4] - ldr r0, [r6] - ldrh r2, [r0] - ldr r7, [sp, 0x4] - adds r2, r7 - lsls r0, r5, 3 - adds r2, r0 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r3, 0x4] - ldr r7, =0xfffffc00 - adds r1, r7, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x4] - ldr r0, [r6] - ldrh r0, [r0, 0x2] - adds r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - bl IndexOfSpritePaletteTag - ldr r3, [r4] - lsls r0, 4 - ldrb r2, [r3, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x5] - ldr r2, [r4] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4] - mov r1, sp - ldrh r1, [r1, 0x14] - strh r1, [r0, 0x22] - ldr r1, [r4] - movs r0, 0x8C - strh r0, [r1, 0x20] - ldm r4!, {r1} - lsls r0, r5, 5 - strh r0, [r1, 0x24] - adds r5, 0x1 - cmp r5, 0x3 - ble _081CA13E - mov r1, r8 - add r1, r9 - movs r0, 0x1 - b _081CA1EC - .pool -_081CA1B0: - lsls r2, r1, 4 - mov r0, r10 - adds r0, 0x2C - lsls r3, r1, 2 - mov r9, r3 - movs r4, 0x10 - add r4, r10 - mov r8, r4 - adds r6, 0x4 - str r6, [sp, 0xC] - ldr r7, [sp, 0x14] - ldr r3, [sp] - adds r7, r3 - str r7, [sp, 0x8] - adds r1, 0x1 - str r1, [sp, 0x10] - movs r3, 0x4 - adds r2, r0 - movs r5, 0x3 -_081CA1D6: - ldm r2!, {r1} - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - subs r5, 0x1 - cmp r5, 0 - bge _081CA1D6 - mov r1, r8 - add r1, r9 - movs r0, 0 -_081CA1EC: - str r0, [r1] - ldr r6, [sp, 0xC] - ldr r4, [sp, 0x8] - str r4, [sp, 0x14] - ldr r1, [sp, 0x10] - cmp r1, 0x5 - ble _081CA114 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CA0EC - - thumb_func_start sub_81CA20C -sub_81CA20C: @ 81CA20C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x2 - bl GetSubstructPtr - adds r6, r0, 0 - bl sub_81C98A4 - mov r8, r0 - movs r7, 0 - movs r5, 0 - adds r4, r6, 0 - adds r4, 0x2C -_081CA228: - lsls r0, r5, 2 - adds r1, r6, 0 - adds r1, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _081CA25C - adds r0, r7, 0 - adds r7, 0x1 - cmp r0, r8 - bne _081CA244 - movs r2, 0x82 - strb r5, [r6, 0xB] - b _081CA246 -_081CA244: - movs r2, 0x8C -_081CA246: - adds r0, r4, 0 - movs r1, 0x80 - lsls r1, 1 - movs r3, 0xC - bl sub_81CA35C - adds r0, r4, 0 - movs r1, 0 - bl sub_81CA448 - b _081CA264 -_081CA25C: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81CA448 -_081CA264: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, 0x5 - ble _081CA228 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CA20C - - thumb_func_start sub_81CA278 -sub_81CA278: @ 81CA278 - push {r4,r5,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C98A4 - adds r3, r0, 0 - movs r2, 0 - movs r5, 0 - ldr r0, [r4, 0x10] - cmp r0, 0 - beq _081CA298 - cmp r5, r3 - beq _081CA2B2 -_081CA296: - adds r5, 0x1 -_081CA298: - adds r2, 0x1 - cmp r2, 0x5 - bgt _081CA2B2 - lsls r0, r2, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _081CA298 - cmp r5, r3 - bne _081CA296 - adds r5, r2, 0 -_081CA2B2: - ldrb r0, [r4, 0xB] - lsls r0, 4 - adds r0, 0x2C - adds r0, r4, r0 - movs r1, 0x82 - movs r2, 0x8C - movs r3, 0x4 - bl sub_81CA35C - lsls r0, r5, 4 - adds r0, 0x2C - adds r0, r4, r0 - movs r1, 0x8C - movs r2, 0x82 - movs r3, 0x4 - bl sub_81CA35C - strb r5, [r4, 0xB] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CA278 - - thumb_func_start sub_81CA2DC -sub_81CA2DC: @ 81CA2DC - push {r4-r6,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r6, r0, 0 - movs r5, 0 - adds r4, r6, 0 - adds r4, 0x2C -_081CA2EC: - lsls r0, r5, 2 - adds r1, r6, 0 - adds r1, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _081CA316 - ldrb r0, [r6, 0xB] - cmp r0, r5 - beq _081CA310 - adds r0, r4, 0 - movs r1, 0x8C - movs r2, 0x80 - lsls r2, 1 - movs r3, 0x8 - bl sub_81CA35C - b _081CA316 -_081CA310: - adds r0, r4, 0 - bl sub_81CA3B4 -_081CA316: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, 0x5 - ble _081CA2EC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81CA2DC - - thumb_func_start sub_81CA324 -sub_81CA324: @ 81CA324 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r3, r0, 0 - movs r2, 0 - ldr r4, =SpriteCallbackDummy - adds r1, r3, 0 - adds r1, 0x2C -_081CA336: - ldr r0, [r1] - ldr r0, [r0, 0x1C] - cmp r0, r4 - bne _081CA354 - adds r1, 0x10 - adds r2, 0x1 - cmp r2, 0x5 - ble _081CA336 - ldrb r0, [r3, 0xC] - cmp r0, 0 - bne _081CA354 - movs r0, 0 - b _081CA356 - .pool -_081CA354: - movs r0, 0x1 -_081CA356: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CA324 - - thumb_func_start sub_81CA35C -sub_81CA35C: @ 81CA35C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - adds r5, r1, 0 - mov r9, r2 - adds r6, r3, 0 - ldr r0, =sub_81CA474 - mov r8, r0 - subs r0, r2, r5 - lsls r0, 4 - adds r1, r6, 0 - bl __divsi3 - adds r3, r0, 0 - movs r1, 0x3 - lsls r2, r5, 4 -_081CA380: - ldr r0, [r4] - strh r5, [r0, 0x20] - ldr r0, [r4] - strh r6, [r0, 0x2E] - ldr r0, [r4] - strh r3, [r0, 0x30] - ldr r0, [r4] - strh r2, [r0, 0x32] - ldr r0, [r4] - mov r7, r9 - strh r7, [r0, 0x3C] - ldm r4!, {r0} - mov r7, r8 - str r7, [r0, 0x1C] - subs r1, 0x1 - cmp r1, 0 - bge _081CA380 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA35C - - thumb_func_start sub_81CA3B4 -sub_81CA3B4: @ 81CA3B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - movs r0, 0x2 - bl GetSubstructPtr - adds r7, r0, 0 - movs r5, 0 - mov r8, r5 -_081CA3C8: - ldr r2, [r4] - ldrb r1, [r2, 0x1] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x1] - ldr r2, [r4] - ldrb r0, [r2, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, [r4] - ldr r0, =sub_81CA4AC - str r0, [r1, 0x1C] - movs r6, 0x8 - strh r6, [r1, 0x2E] - ldr r0, [r4] - mov r1, r8 - strh r1, [r0, 0x30] - ldr r0, [r4] - strh r5, [r0, 0x3C] - ldr r0, [r4] - bl InitSpriteAffineAnim - ldm r4!, {r0} - movs r1, 0 - bl StartSpriteAffineAnim - adds r5, 0x1 - cmp r5, 0x3 - ble _081CA3C8 - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r0, =sub_81CA580 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r6, [r1, 0x8] - ldrb r0, [r7, 0xC] - adds r0, 0x1 - strb r0, [r7, 0xC] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA3B4 - - thumb_func_start sub_81CA448 -sub_81CA448: @ 81CA448 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x1 - ands r1, r0 - lsls r4, r1, 2 - movs r6, 0x5 - negs r6, r6 - movs r3, 0x3 -_081CA458: - ldm r5!, {r0} - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r6, 0 - ands r1, r2 - orrs r1, r4 - strb r1, [r0] - subs r3, 0x1 - cmp r3, 0 - bge _081CA458 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81CA448 - - thumb_func_start sub_81CA474 -sub_81CA474: @ 81CA474 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _081CA49A - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - b _081CA4A2 -_081CA49A: - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x20] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_081CA4A2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA474 - - thumb_func_start sub_81CA4AC -sub_81CA4AC: @ 81CA4AC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081CA574 - movs r0, 0x30 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081CA4E2 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x24] - b _081CA578 -_081CA4E2: - ldrh r0, [r4, 0x32] - adds r0, 0x10 - strh r0, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - asrs r1, r0, 3 - adds r0, r1, 0 - subs r0, 0x20 - lsrs r1, r0, 31 - adds r0, r1 - asrs r1, r0, 1 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x1 - beq _081CA518 - cmp r0, 0x1 - bgt _081CA50A - cmp r0, 0 - beq _081CA514 - b _081CA526 -_081CA50A: - cmp r0, 0x2 - beq _081CA51C - cmp r0, 0x3 - beq _081CA520 - b _081CA526 -_081CA514: - negs r1, r1 - b _081CA520 -_081CA518: - negs r0, r1 - b _081CA524 -_081CA51C: - strh r1, [r4, 0x24] - b _081CA526 -_081CA520: - lsls r0, r1, 1 - adds r0, r1 -_081CA524: - strh r0, [r4, 0x24] -_081CA526: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081CA578 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - strb r0, [r4, 0x1] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - b _081CA578 - .pool -_081CA574: - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] -_081CA578: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CA4AC - - thumb_func_start sub_81CA580 -sub_81CA580: @ 81CA580 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4] - movs r1, 0 - ldrsh r2, [r4, r1] - cmp r2, 0 - bne _081CA634 - movs r0, 0x2 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _081CA5AC - cmp r1, 0x1 - beq _081CA5CC - b _081CA638 - .pool -_081CA5AC: - movs r0, 0x10 - strh r0, [r4, 0x4] - strh r2, [r4, 0x6] - movs r1, 0xFC - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - b _081CA638 -_081CA5CC: - ldrh r0, [r4, 0x8] - ands r1, r0 - cmp r1, 0 - beq _081CA5E4 - ldrh r0, [r4, 0x4] - subs r0, 0x3 - strh r0, [r4, 0x4] - lsls r0, 16 - cmp r0, 0 - bge _081CA5F6 - strh r2, [r4, 0x4] - b _081CA5F6 -_081CA5E4: - ldrh r0, [r4, 0x6] - adds r0, 0x3 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _081CA5F6 - movs r0, 0x10 - strh r0, [r4, 0x6] -_081CA5F6: - ldrh r1, [r4, 0x6] - lsls r1, 8 - ldrh r0, [r4, 0x4] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _081CA638 - movs r0, 0x2 - bl GetSubstructPtr - ldrb r1, [r0, 0xC] - subs r1, 0x1 - strb r1, [r0, 0xC] - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - b _081CA638 -_081CA634: - subs r0, 0x1 - strh r0, [r4] -_081CA638: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CA580 - - thumb_func_start sub_81CA640 -sub_81CA640: @ 81CA640 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =gUnknown_0862036C - movs r1, 0x10 - movs r2, 0x60 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r4, 0x28] - bl sub_81C98D4 - cmp r0, 0 - beq _081CA684 - ldr r1, [r4, 0x28] - ldr r0, =sub_81CA6AC - str r0, [r1, 0x1C] - b _081CA690 - .pool -_081CA684: - ldr r0, [r4, 0x28] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_081CA690: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CA640 - - thumb_func_start sub_81CA698 -sub_81CA698: @ 81CA698 - push {lr} - movs r0, 0x2 - bl GetSubstructPtr - ldr r0, [r0, 0x28] - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end sub_81CA698 - - thumb_func_start sub_81CA6AC -sub_81CA6AC: @ 81CA6AC - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _081CA6DA - movs r0, 0 - strh r0, [r3, 0x2E] - adds r3, 0x3E - ldrb r2, [r3] - 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 - strb r0, [r3] -_081CA6DA: - pop {r0} - bx r0 - thumb_func_end sub_81CA6AC - - thumb_func_start sub_81CA6E0 -sub_81CA6E0: @ 81CA6E0 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =gUnknown_086202CC - bl AddWindow - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r0, [r4, 0x8] - movs r1, 0x66 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA6E0 - - thumb_func_start sub_81CA714 -sub_81CA714: @ 81CA714 - push {r4-r6,lr} - sub sp, 0xC - movs r0, 0x2 - bl GetSubstructPtr - adds r5, r0, 0 - bl sub_81C98B4 - ldr r1, =gUnknown_086202D4 - lsls r0, 2 - adds r0, r1 - ldr r6, [r0] - movs r2, 0x1 - negs r2, r2 - movs r0, 0x1 - adds r1, r6, 0 - bl GetStringWidth - adds r4, r0, 0 - ldrb r0, [r5, 0x8] - movs r1, 0x66 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x8] - movs r2, 0xC0 - subs r2, r4 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r1, =gUnknown_0862030C - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA714 - - thumb_func_start sub_81CA770 -sub_81CA770: @ 81CA770 - push {r4-r6,lr} - sub sp, 0xC - movs r0, 0x2 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r6, =gText_NoRibbonWinners - movs r2, 0x1 - negs r2, r2 - movs r0, 0x1 - adds r1, r6, 0 - bl GetStringWidth - adds r4, r0, 0 - ldrb r0, [r5, 0x8] - movs r1, 0x66 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x8] - movs r2, 0xC0 - subs r2, r4 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r1, =gUnknown_0862030F - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA770 - - thumb_func_start sub_81CA7C4 -sub_81CA7C4: @ 81CA7C4 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CA7C4 - - thumb_func_start sub_81CA7D4 -sub_81CA7D4: @ 81CA7D4 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =sub_81CA808 - movs r1, 0x2 - bl CreateTask - strb r0, [r4, 0xA] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA7D4 - - thumb_func_start sub_81CA7F4 -sub_81CA7F4: @ 81CA7F4 - push {lr} - movs r0, 0x2 - bl GetSubstructPtr - ldrb r0, [r0, 0xA] - bl DestroyTask - pop {r0} - bx r0 - thumb_func_end sub_81CA7F4 - - thumb_func_start sub_81CA808 -sub_81CA808: @ 81CA808 - push {lr} - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgX - pop {r0} - bx r0 - thumb_func_end sub_81CA808 - - thumb_func_start sub_81CA818 -sub_81CA818: @ 81CA818 - push {r4,r5,lr} - ldr r0, =sub_81CA8B0 - movs r1, 0x3 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0861FC78 + 2 - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl SetWordTaskArg - adds r5, 0xC - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl SetWordTaskArg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA818 - - thumb_func_start sub_81CA850 -sub_81CA850: @ 81CA850 - push {lr} - ldr r0, =gUnknown_0861FC78 + 0xE - movs r1, 0x31 - movs r2, 0x4 - bl CopyPaletteIntoBufferUnfaded - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA850 - - thumb_func_start sub_81CA864 -sub_81CA864: @ 81CA864 - push {r4,r5,lr} - ldr r0, =sub_81CA8B0 - movs r1, 0x3 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0861FC78 + 0xE - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl SetWordTaskArg - subs r5, 0xC - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl SetWordTaskArg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA864 - - thumb_func_start sub_81CA89C -sub_81CA89C: @ 81CA89C - push {lr} - ldr r0, =sub_81CA8B0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CA89C - - thumb_func_start sub_81CA8B0 -sub_81CA8B0: @ 81CA8B0 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - adds r0, r6, 0 - movs r1, 0x1 - bl GetWordTaskArg - adds r5, r0, 0 - adds r0, r6, 0 - movs r1, 0x3 - bl GetWordTaskArg - adds r1, r0, 0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - add r0, sp, 0x8 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0xC - bl sub_81C79BC - add r0, sp, 0x8 - movs r1, 0x31 - movs r2, 0x4 - bl LoadPalette - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0xC - bne _081CA908 - adds r0, r6, 0 - bl DestroyTask -_081CA908: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA8B0 - - thumb_func_start sub_81CA914 -sub_81CA914: @ 81CA914 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - thumb_func_end sub_81CA914 - - thumb_func_start titlescreen_0 -titlescreen_0: @ 81CA92C - push {lr} - movs r0, 0x50 - movs r1, 0x90 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuRegBits - movs r0, 0x4A - movs r1, 0x1F - bl SetGpuRegBits - movs r0, 0x44 - movs r1, 0xA0 - bl SetGpuRegBits - bl ScanlineEffect_Stop - bl sub_81CAA3C - ldr r2, =gUnknown_08620384 - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl ScanlineEffect_SetParams - ldr r0, =sub_81CA914 - bl SetVBlankCallback_ - ldr r0, =sub_81CA9EC - movs r1, 0x3 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end titlescreen_0 - - thumb_func_start sub_81CA994 -sub_81CA994: @ 81CA994 - push {lr} - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - bl ScanlineEffect_Stop - ldr r0, =sub_81CA9EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl SetPokenavVBlankCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA994 - - thumb_func_start sub_81CA9C8 -sub_81CA9C8: @ 81CA9C8 - push {lr} - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_81CA9C8 - - thumb_func_start sub_81CA9D8 -sub_81CA9D8: @ 81CA9D8 - push {lr} - bl sub_81CAA3C - movs r0, 0x50 - movs r1, 0x90 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_81CA9D8 - - thumb_func_start sub_81CA9EC -sub_81CA9EC: @ 81CA9EC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r2, r1, r0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - ble _081CAA30 - movs r0, 0 - strh r0, [r2] - ldrh r0, [r2, 0x2] - adds r0, 0x3 - movs r1, 0x7F - ands r0, r1 - strh r0, [r2, 0x2] - ldr r1, =gSineTable - movs r3, 0x2 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 21 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x54 - bl SetGpuReg -_081CAA30: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA9EC - - thumb_func_start sub_81CAA3C -sub_81CAA3C: @ 81CAA3C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - bl sub_81C9894 - adds r4, r0, 0 - bl sub_81C98A4 - ldr r2, =gUnknown_08620240 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x2] - adds r4, r2, 0 - muls r4, r0 - ldrh r1, [r1] - adds r4, r1 - subs r4, 0x8 - mov r0, sp - movs r6, 0 - strh r6, [r0] - ldr r5, =gScanlineEffectRegBuffers - ldr r0, =0x010000a0 - mov r8, r0 - mov r0, sp - adds r1, r5, 0 - mov r2, r8 - bl CpuSet - mov r0, sp - adds r0, 0x2 - strh r6, [r0] - movs r1, 0xF0 - lsls r1, 3 - adds r1, r5 - mov r9, r1 - mov r2, r8 - bl CpuSet - add r0, sp, 0x4 - ldr r1, =0x000072f0 - adds r6, r1, 0 - strh r6, [r0] - lsls r4, 1 - adds r5, r4, r5 - ldr r1, =0x01000010 - mov r8, r1 - adds r1, r5, 0 - mov r2, r8 - bl CpuSet - mov r0, sp - adds r0, 0x6 - strh r6, [r0] - add r4, r9 - adds r1, r4, 0 - mov r2, r8 - bl CpuSet - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CAA3C - - thumb_func_start sub_81CAADC -sub_81CAADC: @ 81CAADC - push {lr} - bl sub_81CA9C8 - pop {r0} - bx r0 - thumb_func_end sub_81CAADC - - thumb_func_start sub_81CAAE8 -sub_81CAAE8: @ 81CAAE8 - push {r4,lr} - movs r1, 0xD4 - lsls r1, 1 - movs r0, 0x5 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CAB1C - ldr r0, =sub_81CAB44 - str r0, [r4, 0x18] - movs r0, 0 - strh r0, [r4, 0x8] - str r0, [r4, 0x10] - ldr r0, =sub_81CAD20 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x14] - movs r0, 0x1 - b _081CAB1E - .pool -_081CAB1C: - movs r0, 0 -_081CAB1E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CAAE8 - - thumb_func_start sub_81CAB24 -sub_81CAB24: @ 81CAB24 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldr r1, [r0, 0x18] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81CAB24 - - thumb_func_start sub_81CAB38 -sub_81CAB38: @ 81CAB38 - push {lr} - movs r0, 0x5 - bl FreePokenavSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81CAB38 - - thumb_func_start sub_81CAB44 -sub_81CAB44: @ 81CAB44 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r3, =gMain - ldrh r1, [r3, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CAB5C - movs r0, 0x2 - b _081CABF4 - .pool -_081CAB5C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CAB68 - movs r0, 0x1 - b _081CABF4 -_081CAB68: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081CAB74 - movs r0, 0x4 - b _081CABF4 -_081CAB74: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _081CAB84 - movs r0, 0x3 - b _081CABF4 -_081CAB84: - ldrh r1, [r3, 0x2E] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _081CABD0 - ldr r0, =sub_81CAC04 - str r0, [r4, 0x18] - strh r2, [r4] - bl GetSelectedMatchCall - lsls r0, 2 - adds r1, r4, r0 - ldrb r0, [r1, 0x1C] - cmp r0, 0 - beq _081CABAE - ldrh r0, [r1, 0x1E] - bl sub_81D17E8 - cmp r0, 0 - beq _081CABC0 -_081CABAE: - ldr r0, =gUnknown_0862250A - str r0, [r4, 0x4] - movs r0, 0x2 - strh r0, [r4, 0x2] - b _081CABC6 - .pool -_081CABC0: - ldr r0, =gUnknown_08622508 - str r0, [r4, 0x4] - strh r5, [r4, 0x2] -_081CABC6: - movs r0, 0x5 - b _081CABF4 - .pool -_081CABD0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081CABF2 - bl GetPokenavMode - cmp r0, 0x1 - beq _081CABEC - ldr r0, =sub_81CABFC - str r0, [r4, 0x18] - movs r0, 0xF - b _081CABF4 - .pool -_081CABEC: - movs r0, 0x20 - bl PlaySE -_081CABF2: - movs r0, 0 -_081CABF4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CAB44 - - thumb_func_start sub_81CABFC -sub_81CABFC: @ 81CABFC - ldr r0, =0x000186a4 - bx lr - .pool - thumb_func_end sub_81CABFC - - thumb_func_start sub_81CAC04 -sub_81CAC04: @ 81CAC04 - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CAC24 - ldrh r0, [r4] - cmp r0, 0 - beq _081CAC24 - subs r0, 0x1 - b _081CAC38 - .pool -_081CAC24: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CAC3E - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - cmp r0, r1 - bcs _081CAC3E - adds r0, 0x1 -_081CAC38: - strh r0, [r4] - movs r0, 0x6 - b _081CACAC -_081CAC3E: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081CAC98 - ldrh r1, [r4] - ldr r0, [r4, 0x4] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _081CAC8C - cmp r0, 0x1 - bgt _081CAC5E - cmp r0, 0 - beq _081CAC64 - b _081CAC98 -_081CAC5E: - cmp r0, 0x2 - bne _081CAC98 - b _081CACA6 -_081CAC64: - bl GetPokenavMode - cmp r0, 0x1 - bne _081CAC72 - movs r0, 0x2 - bl SetPokenavMode -_081CAC72: - ldr r0, =sub_81CACF8 - str r0, [r4, 0x18] - bl sub_81CB1D0 - cmp r0, 0 - beq _081CAC88 - movs r0, 0x9 - b _081CACAC - .pool -_081CAC88: - movs r0, 0x8 - b _081CACAC -_081CAC8C: - ldr r0, =sub_81CACB8 - str r0, [r4, 0x18] - movs r0, 0xB - b _081CACAC - .pool -_081CAC98: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081CACA6 - movs r0, 0 - b _081CACAC -_081CACA6: - ldr r0, =sub_81CAB44 - str r0, [r4, 0x18] - movs r0, 0x7 -_081CACAC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CAC04 - - thumb_func_start sub_81CACB8 -sub_81CACB8: @ 81CACB8 - push {lr} - adds r3, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CACD0 - movs r0, 0xC - b _081CACF0 - .pool -_081CACD0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CACDC - movs r0, 0xD - b _081CACF0 -_081CACDC: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081CACEA - movs r0, 0 - b _081CACF0 -_081CACEA: - ldr r0, =sub_81CAB44 - str r0, [r3, 0x18] - movs r0, 0xE -_081CACF0: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CACB8 - - thumb_func_start sub_81CACF8 -sub_81CACF8: @ 81CACF8 - push {lr} - adds r2, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081CAD10 - movs r0, 0 - b _081CAD16 - .pool -_081CAD10: - ldr r0, =sub_81CAB44 - str r0, [r2, 0x18] - movs r0, 0xA -_081CAD16: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CACF8 - - thumb_func_start sub_81CAD20 -sub_81CAD20: @ 81CAD20 - push {r4-r7,lr} - adds r5, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x1 - beq _081CAD4C - cmp r5, 0x1 - bgt _081CAD3A - cmp r5, 0 - beq _081CAD44 - b _081CAE00 -_081CAD3A: - cmp r5, 0x2 - beq _081CAD9C - cmp r5, 0x3 - beq _081CADFC - b _081CAE00 -_081CAD44: - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] -_081CAD48: - movs r0, 0x1 - b _081CAE02 -_081CAD4C: - movs r6, 0 - ldrh r5, [r4, 0x8] -_081CAD50: - adds r0, r5, 0 - bl MatchCallFlagGetByIndex - cmp r0, 0 - beq _081CAD80 - ldrh r0, [r4, 0xA] - lsls r0, 2 - adds r0, r4, r0 - strh r5, [r0, 0x1E] - ldrh r0, [r4, 0xA] - lsls r0, 2 - adds r0, r4, r0 - movs r1, 0x1 - strb r1, [r0, 0x1C] - adds r0, r5, 0 - bl sub_81D16DC - ldrh r1, [r4, 0xA] - lsls r1, 2 - adds r1, r4, r1 - strb r0, [r1, 0x1D] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_081CAD80: - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - movs r2, 0 - strh r1, [r4, 0x8] - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0x14 - bhi _081CADF6 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, 0x1D - ble _081CAD50 - movs r0, 0x3 - b _081CAE02 -_081CAD9C: - movs r6, 0 - ldrh r5, [r4, 0x8] - movs r7, 0 -_081CADA2: - ldrh r0, [r4, 0x8] - bl sub_81D1BF8 - cmp r0, 0 - bne _081CADDC - ldrh r0, [r4, 0x8] - bl sub_81CAE08 - cmp r0, 0 - beq _081CADDC - ldrh r0, [r4, 0xA] - lsls r0, 2 - adds r0, r4, r0 - ldrh r1, [r4, 0x8] - strh r1, [r0, 0x1E] - ldrh r0, [r4, 0xA] - lsls r0, 2 - adds r0, r4, r0 - strb r7, [r0, 0x1C] - adds r0, r5, 0 - bl sub_81CB0C8 - ldrh r1, [r4, 0xA] - lsls r1, 2 - adds r1, r4, r1 - strb r0, [r1, 0x1D] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_081CADDC: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4D - bhi _081CAD48 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, 0x1D - ble _081CADA2 - movs r0, 0x3 - b _081CAE02 -_081CADF6: - strh r1, [r4, 0xC] - strh r2, [r4, 0x8] - b _081CAD48 -_081CADFC: - movs r0, 0x1 - str r0, [r4, 0x10] -_081CAE00: - movs r0, 0x4 -_081CAE02: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CAD20 - - thumb_func_start sub_81CAE08 -sub_81CAE08: @ 81CAE08 - push {lr} - cmp r0, 0x4D - ble _081CAE12 - movs r0, 0 - b _081CAE24 -_081CAE12: - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 -_081CAE24: - pop {r1} - bx r1 - thumb_func_end sub_81CAE08 - - thumb_func_start sub_81CAE28 -sub_81CAE28: @ 81CAE28 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldr r0, [r0, 0x10] - pop {r1} - bx r1 - thumb_func_end sub_81CAE28 - - thumb_func_start sub_81CAE38 -sub_81CAE38: @ 81CAE38 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldrh r0, [r0, 0xA] - pop {r1} - bx r1 - thumb_func_end sub_81CAE38 - - thumb_func_start sub_81CAE48 -sub_81CAE48: @ 81CAE48 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldrh r0, [r0, 0xC] - pop {r1} - bx r1 - thumb_func_end sub_81CAE48 - - thumb_func_start sub_81CAE58 -sub_81CAE58: @ 81CAE58 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - ldrh r1, [r1, 0xC] - subs r0, r1 - pop {r1} - bx r1 - thumb_func_end sub_81CAE58 - - thumb_func_start sub_81CAE6C -sub_81CAE6C: @ 81CAE6C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r1, r0, 0 - ldrh r0, [r1, 0xC] - adds r4, r0 - ldrh r0, [r1, 0xA] - cmp r4, r0 - bge _081CAE8A - lsls r0, r4, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x1E] - b _081CAE8C -_081CAE8A: - movs r0, 0x4E -_081CAE8C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CAE6C - - thumb_func_start sub_81CAE94 -sub_81CAE94: @ 81CAE94 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - adds r0, 0x1C - pop {r1} - bx r1 - thumb_func_end sub_81CAE94 - - thumb_func_start sub_81CAEA4 -sub_81CAEA4: @ 81CAEA4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0, 0x1D] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CAEA4 - - thumb_func_start sub_81CAEBC -sub_81CAEBC: @ 81CAEBC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - lsls r1, r4, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x1C] - cmp r0, 0 - bne _081CAED4 - ldrh r4, [r1, 0x1E] - b _081CAEDC -_081CAED4: - ldrh r0, [r1, 0x1E] - bl MatchCall_GetRematchTableIdx - adds r4, r0, 0 -_081CAEDC: - cmp r4, 0x4E - beq _081CAEFC - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r4 - ldrb r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _081CAEFE - .pool -_081CAEFC: - movs r0, 0 -_081CAEFE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CAEBC - - thumb_func_start sub_81CAF04 -sub_81CAF04: @ 81CAF04 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - lsls r1, r4, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x1C] - cmp r0, 0 - bne _081CAF34 - ldrh r0, [r1, 0x1E] - bl GetTrainerIdxByRematchIdx - adds r4, r0, 0 - ldr r1, =gTrainers - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x3] - b _081CAF6C - .pool -_081CAF34: - ldrh r5, [r1, 0x1E] - adds r0, r5, 0 - bl MatchCall_GetRematchTableIdx - adds r4, r0, 0 - cmp r4, 0x4E - bne _081CAF58 - adds r0, r5, 0 - bl sub_81D1BD0 - adds r4, r0, 0 - ldr r0, =gFacilityClassToPicIndex - adds r0, r4, r0 - ldrb r0, [r0] - b _081CAF6C - .pool -_081CAF58: - adds r0, r4, 0 - bl GetTrainerIdxByRematchIdx - adds r4, r0, 0 - ldr r0, =gTrainers - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x3] -_081CAF6C: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CAF04 - - thumb_func_start sub_81CAF78 -sub_81CAF78: @ 81CAF78 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0 - strb r0, [r6] - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - bl Overworld_MapTypeAllowsTeleportAndFly - lsls r0, 24 - cmp r0, 0 - bne _081CAFA4 - ldr r0, =gText_CallCantBeMadeHere - b _081CAFCE - .pool -_081CAFA4: - lsls r0, r5, 2 - adds r1, r4, r0 - ldrb r0, [r1, 0x1C] - cmp r0, 0 - bne _081CAFC4 - ldrh r0, [r1, 0x1E] - bl GetTrainerIdxByRematchIdx - ldr r1, =gStringVar4 - bl SelectMatchCallMessage - strb r0, [r6] - b _081CAFCC - .pool -_081CAFC4: - ldrh r0, [r1, 0x1E] - ldr r1, =gStringVar4 - bl MatchCall_GetMessage -_081CAFCC: - ldr r0, =gStringVar4 -_081CAFCE: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CAF78 - - thumb_func_start sub_81CAFD8 -sub_81CAFD8: @ 81CAFD8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x5 - bl GetSubstructPtr - lsls r4, 2 - adds r4, r0, r4 - ldrb r0, [r4, 0x1C] - cmp r0, 0 - beq _081CB004 - ldrh r0, [r4, 0x1E] - bl MatchCall_GetRematchTableIdx - adds r1, r0, 0 - cmp r1, 0x4E - bne _081CB006 - ldrh r0, [r4, 0x1E] - adds r1, r5, 0 - bl sub_81D1B40 - b _081CB012 -_081CB004: - ldrh r1, [r4, 0x1E] -_081CB006: - ldr r2, =gUnknown_08622028 - lsls r0, r5, 2 - lsls r1, 4 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] -_081CB012: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CAFD8 - - thumb_func_start sub_81CB01C -sub_81CB01C: @ 81CB01C - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81CB01C - - thumb_func_start sub_81CB02C -sub_81CB02C: @ 81CB02C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r1, r0, 0 - ldrh r0, [r1, 0x2] - cmp r0, r4 - blt _081CB046 - ldr r0, [r1, 0x4] - adds r0, r4 - ldrb r0, [r0] - b _081CB048 -_081CB046: - movs r0, 0x3 -_081CB048: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB02C - - thumb_func_start sub_81CB050 -sub_81CB050: @ 81CB050 - push {r4,lr} - sub sp, 0x8 - adds r2, r0, 0 - adds r4, r1, 0 - ldrb r0, [r2] - cmp r0, 0 - bne _081CB088 - ldrh r0, [r2, 0x2] - bl GetTrainerIdxByRematchIdx - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTrainers - adds r1, r0 - ldrb r2, [r1, 0x1] - movs r0, 0xD - muls r0, r2 - ldr r2, =gTrainerClassNames - adds r0, r2 - str r0, [sp] - adds r1, 0x4 - str r1, [sp, 0x4] - b _081CB092 - .pool -_081CB088: - ldrh r0, [r2, 0x2] - add r2, sp, 0x4 - mov r1, sp - bl sub_81D1A78 -_081CB092: - ldr r2, [sp] - cmp r2, 0 - beq _081CB0B4 - ldr r0, [sp, 0x4] - cmp r0, 0 - beq _081CB0B4 - adds r0, r4, 0 - movs r1, 0x7 - movs r3, 0x45 - bl sub_81DB494 - ldr r2, [sp, 0x4] - movs r1, 0x7 - movs r3, 0x33 - bl sub_81DB494 - b _081CB0C0 -_081CB0B4: - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0 - movs r3, 0x78 - bl sub_81DB494 -_081CB0C0: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CB050 - - thumb_func_start sub_81CB0C8 -sub_81CB0C8: @ 81CB0C8 - push {lr} - ldr r1, =gRematchTable - lsls r0, 4 - adds r0, r1 - ldrh r2, [r0, 0xA] - ldrh r1, [r0, 0xC] - adds r0, r2, 0 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CB0C8 - - thumb_func_start sub_81CB0E4 -sub_81CB0E4: @ 81CB0E4 - push {r4-r7,lr} - adds r5, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r7, r0, 0 - movs r6, 0x1 - adds r5, 0x1 - ldrh r0, [r7, 0xA] - cmp r5, r0 - bge _081CB120 - lsls r0, r5, 2 - adds r0, 0x1C - adds r4, r0, r7 -_081CB100: - ldrb r0, [r4] - cmp r0, 0 - beq _081CB110 - ldrh r0, [r4, 0x2] - bl sub_81D17E8 - cmp r0, 0 - beq _081CB114 -_081CB110: - adds r0, r6, 0 - b _081CB122 -_081CB114: - adds r6, 0x1 - adds r4, 0x4 - adds r5, 0x1 - ldrh r0, [r7, 0xA] - cmp r5, r0 - blt _081CB100 -_081CB120: - movs r0, 0 -_081CB122: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CB0E4 - - thumb_func_start sub_81CB128 -sub_81CB128: @ 81CB128 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r1, r0, 0 - movs r6, 0x1 - negs r6, r6 - subs r5, 0x1 - cmp r5, 0 - blt _081CB162 - lsls r0, r5, 2 - adds r0, 0x1C - adds r4, r0, r1 -_081CB144: - ldrb r0, [r4] - cmp r0, 0 - beq _081CB154 - ldrh r0, [r4, 0x2] - bl sub_81D17E8 - cmp r0, 0 - beq _081CB158 -_081CB154: - adds r0, r6, 0 - b _081CB164 -_081CB158: - subs r6, 0x1 - subs r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _081CB144 -_081CB162: - movs r0, 0 -_081CB164: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CB128 - - thumb_func_start sub_81CB16C -sub_81CB16C: @ 81CB16C - push {r4,lr} - movs r4, 0 -_081CB170: - adds r0, r4, 0 - bl sub_81CAE08 - cmp r0, 0 - beq _081CB18A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _081CB1B2 -_081CB18A: - adds r4, 0x1 - cmp r4, 0x4D - ble _081CB170 - movs r4, 0 -_081CB192: - adds r0, r4, 0 - bl MatchCallFlagGetByIndex - cmp r0, 0 - beq _081CB1C0 - adds r0, r4, 0 - bl MatchCall_GetRematchTableIdx - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x000009ca - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _081CB1C0 -_081CB1B2: - movs r0, 0x1 - b _081CB1C8 - .pool -_081CB1C0: - adds r4, 0x1 - cmp r4, 0x14 - ble _081CB192 - movs r0, 0 -_081CB1C8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB16C - - thumb_func_start sub_81CB1D0 -sub_81CB1D0: @ 81CB1D0 - push {r4,lr} - movs r0, 0x5 - bl GetSubstructPtr - adds r4, r0, 0 - bl GetSelectedMatchCall - adds r1, r0, 0 - lsls r0, r1, 2 - adds r4, r0 - ldrb r0, [r4, 0x1C] - cmp r0, 0 - bne _081CB218 - adds r0, r1, 0 - bl sub_81CAEA4 - ldr r1, =gMapHeader - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x14] - cmp r0, r1 - bne _081CB258 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - ldrh r4, [r4, 0x1E] - adds r0, r4 - ldrb r0, [r0] - b _081CB246 - .pool -_081CB218: - ldrh r0, [r4, 0x1E] - cmp r0, 0xB - bne _081CB258 - adds r0, r1, 0 - bl sub_81CAEA4 - ldr r1, =gMapHeader - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x14] - cmp r0, r1 - bne _081CB258 - ldr r0, =0x0000086b - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081CB258 - movs r0, 0x5B - bl FlagGet - lsls r0, 24 -_081CB246: - cmp r0, 0 - bne _081CB258 - movs r0, 0x1 - b _081CB25A - .pool -_081CB258: - movs r0, 0 -_081CB25A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB1D0 - - thumb_func_start sub_81CB260 -sub_81CB260: @ 81CB260 - push {r4,lr} - ldr r1, =0x00002048 - movs r0, 0x6 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CB294 - movs r0, 0 - strb r0, [r4, 0x19] - ldr r0, =sub_81CB324 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - ldr r0, =sub_81CB310 - str r0, [r4] - movs r0, 0x1 - b _081CB296 - .pool -_081CB294: - movs r0, 0 -_081CB296: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB260 - - thumb_func_start sub_81CB29C -sub_81CB29C: @ 81CB29C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_08622798 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r5, 0x4] - ldr r0, =sub_81CB310 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CB29C - - thumb_func_start sub_81CB2CC -sub_81CB2CC: @ 81CB2CC - push {lr} - movs r0, 0x6 - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81CB2CC - - thumb_func_start sub_81CB2E0 -sub_81CB2E0: @ 81CB2E0 - push {r4,lr} - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81CC2B4 - bl sub_81CBC1C - ldrb r0, [r4, 0x12] - bl RemoveWindow - ldrb r0, [r4, 0x10] - bl RemoveWindow - ldrb r0, [r4, 0x14] - bl RemoveWindow - movs r0, 0x6 - bl FreePokenavSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CB2E0 - - thumb_func_start sub_81CB310 -sub_81CB310: @ 81CB310 - push {lr} - movs r0, 0x6 - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl IsLoopedTaskActive - pop {r1} - bx r1 - thumb_func_end sub_81CB310 - - thumb_func_start sub_81CB324 -sub_81CB324: @ 81CB324 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x7 - bls _081CB338 - b _081CB504 -_081CB338: - lsls r0, r4, 2 - ldr r1, =_081CB348 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CB348: - .4byte _081CB368 - .4byte _081CB3D4 - .4byte _081CB424 - .4byte _081CB468 - .4byte _081CB482 - .4byte _081CB494 - .4byte _081CB4A6 - .4byte _081CB4EA -_081CB368: - ldr r0, =gUnknown_0862278C - movs r1, 0x3 - bl InitBgTemplates - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r1, =gUnknown_08622530 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =0x00001024 - adds r1, r5, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_086225D4 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08622510 - movs r1, 0x20 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x2 - b _081CB418 - .pool -_081CB3D4: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081CB3E0 - b _081CB4FA -_081CB3E0: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8199DF0 - adds r1, r5, 0 - adds r1, 0x24 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r0, =gUnknown_086226E0 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 -_081CB418: - bl CopyBgTilemapBufferToVram - movs r0, 0 - b _081CB506 - .pool -_081CB424: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081CB4FA - adds r0, r5, 0 - bl sub_81CC034 - ldr r1, =gUnknown_08622760 - str r4, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_08622700 - movs r1, 0x30 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =gUnknown_08622720 - movs r1, 0x50 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0 - b _081CB506 - .pool -_081CB468: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CB4FA - bl sub_81CAE28 - cmp r0, 0 - beq _081CB4FA - bl sub_81CBBB8 - movs r0, 0 - b _081CB506 -_081CB482: - bl sub_81C8224 - cmp r0, 0 - bne _081CB4FA - adds r0, r5, 0 - bl sub_81CBD78 - movs r0, 0 - b _081CB506 -_081CB494: - adds r0, r5, 0 - bl sub_81CBDC0 - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 - movs r0, 0 - b _081CB506 -_081CB4A6: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - bl sub_81CC214 - movs r0, 0x3 - bl LoadLeftHeaderGfxForIndex - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - movs r0, 0x1 - bl sub_81C7AC0 - movs r0, 0 - b _081CB506 -_081CB4EA: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CB4FA - bl sub_81C8010 - cmp r0, 0 - beq _081CB4FE -_081CB4FA: - movs r0, 0x2 - b _081CB506 -_081CB4FE: - movs r0, 0x1 - bl sub_81CBC38 -_081CB504: - movs r0, 0x4 -_081CB506: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB324 - - thumb_func_start sub_81CB510 -sub_81CB510: @ 81CB510 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB55E - cmp r4, 0x1 - bgt _081CB52A - cmp r4, 0 - beq _081CB534 - b _081CB580 -_081CB52A: - cmp r4, 0x2 - beq _081CB566 - cmp r4, 0x3 - beq _081CB572 - b _081CB580 -_081CB534: - bl MatchCall_MoveCursorDown - cmp r0, 0x1 - beq _081CB54C - cmp r0, 0x1 - bgt _081CB546 - cmp r0, 0 - beq _081CB580 - b _081CB56E -_081CB546: - cmp r0, 0x2 - beq _081CB556 - b _081CB56E -_081CB54C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CB582 -_081CB556: - movs r0, 0x5 - bl PlaySE - b _081CB56E -_081CB55E: - bl sub_81C8630 - cmp r0, 0 - bne _081CB57C -_081CB566: - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 -_081CB56E: - movs r0, 0 - b _081CB582 -_081CB572: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CB580 -_081CB57C: - movs r0, 0x2 - b _081CB582 -_081CB580: - movs r0, 0x4 -_081CB582: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB510 - - thumb_func_start sub_81CB588 -sub_81CB588: @ 81CB588 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB5D6 - cmp r4, 0x1 - bgt _081CB5A2 - cmp r4, 0 - beq _081CB5AC - b _081CB5F8 -_081CB5A2: - cmp r4, 0x2 - beq _081CB5DE - cmp r4, 0x3 - beq _081CB5EA - b _081CB5F8 -_081CB5AC: - bl MatchCall_MoveCursorUp - cmp r0, 0x1 - beq _081CB5C4 - cmp r0, 0x1 - bgt _081CB5BE - cmp r0, 0 - beq _081CB5F8 - b _081CB5E6 -_081CB5BE: - cmp r0, 0x2 - beq _081CB5CE - b _081CB5E6 -_081CB5C4: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CB5FA -_081CB5CE: - movs r0, 0x5 - bl PlaySE - b _081CB5E6 -_081CB5D6: - bl sub_81C8630 - cmp r0, 0 - bne _081CB5F4 -_081CB5DE: - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 -_081CB5E6: - movs r0, 0 - b _081CB5FA -_081CB5EA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CB5F8 -_081CB5F4: - movs r0, 0x2 - b _081CB5FA -_081CB5F8: - movs r0, 0x4 -_081CB5FA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB588 - - thumb_func_start sub_81CB600 -sub_81CB600: @ 81CB600 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB64E - cmp r4, 0x1 - bgt _081CB61A - cmp r4, 0 - beq _081CB624 - b _081CB670 -_081CB61A: - cmp r4, 0x2 - beq _081CB656 - cmp r4, 0x3 - beq _081CB662 - b _081CB670 -_081CB624: - bl MatchCall_PageDown - cmp r0, 0x1 - beq _081CB63C - cmp r0, 0x1 - bgt _081CB636 - cmp r0, 0 - beq _081CB670 - b _081CB65E -_081CB636: - cmp r0, 0x2 - beq _081CB646 - b _081CB65E -_081CB63C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CB672 -_081CB646: - movs r0, 0x5 - bl PlaySE - b _081CB65E -_081CB64E: - bl sub_81C8630 - cmp r0, 0 - bne _081CB66C -_081CB656: - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 -_081CB65E: - movs r0, 0 - b _081CB672 -_081CB662: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CB670 -_081CB66C: - movs r0, 0x2 - b _081CB672 -_081CB670: - movs r0, 0x4 -_081CB672: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB600 - - thumb_func_start sub_81CB678 -sub_81CB678: @ 81CB678 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB6C6 - cmp r4, 0x1 - bgt _081CB692 - cmp r4, 0 - beq _081CB69C - b _081CB6E8 -_081CB692: - cmp r4, 0x2 - beq _081CB6CE - cmp r4, 0x3 - beq _081CB6DA - b _081CB6E8 -_081CB69C: - bl MatchCall_PageUp - cmp r0, 0x1 - beq _081CB6B4 - cmp r0, 0x1 - bgt _081CB6AE - cmp r0, 0 - beq _081CB6E8 - b _081CB6D6 -_081CB6AE: - cmp r0, 0x2 - beq _081CB6BE - b _081CB6D6 -_081CB6B4: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CB6EA -_081CB6BE: - movs r0, 0x5 - bl PlaySE - b _081CB6D6 -_081CB6C6: - bl sub_81C8630 - cmp r0, 0 - bne _081CB6E4 -_081CB6CE: - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 -_081CB6D6: - movs r0, 0 - b _081CB6EA -_081CB6DA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CB6E8 -_081CB6E4: - movs r0, 0x2 - b _081CB6EA -_081CB6E8: - movs r0, 0x4 -_081CB6EA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB678 - - thumb_func_start sub_81CB6F0 -sub_81CB6F0: @ 81CB6F0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0 - beq _081CB706 - cmp r4, 0x1 - beq _081CB71C - b _081CB72A -_081CB706: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CBF60 - movs r0, 0x7 - bl sub_81C7BA4 - movs r0, 0 - b _081CB72C -_081CB71C: - adds r0, r5, 0 - bl sub_81CBFC4 - cmp r0, 0 - beq _081CB72A - movs r0, 0x2 - b _081CB72C -_081CB72A: - movs r0, 0x4 -_081CB72C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB6F0 - - thumb_func_start sub_81CB734 -sub_81CB734: @ 81CB734 - push {r4,lr} - movs r0, 0x5 - bl PlaySE - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81CB01C - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_81CC344 - movs r0, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB734 - - thumb_func_start sub_81CB75C -sub_81CB75C: @ 81CB75C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0 - beq _081CB772 - cmp r4, 0x1 - beq _081CB788 - b _081CB796 -_081CB772: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CBFF0 - movs r0, 0x6 - bl sub_81C7BA4 - movs r0, 0 - b _081CB798 -_081CB788: - adds r0, r5, 0 - bl sub_81CC004 - cmp r0, 0 - beq _081CB796 - movs r0, 0x2 - b _081CB798 -_081CB796: - movs r0, 0x4 -_081CB798: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB75C - - thumb_func_start sub_81CB7A0 -sub_81CB7A0: @ 81CB7A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB7D4 - cmp r4, 0x1 - bgt _081CB7BA - cmp r4, 0 - beq _081CB7C4 - b _081CB81A -_081CB7BA: - cmp r4, 0x2 - beq _081CB7F8 - cmp r4, 0x3 - beq _081CB80C - b _081CB81A -_081CB7C4: - movs r0, 0x1 - bl ToggleMatchCallVerticalArrows - adds r0, r5, 0 - bl sub_81CC058 - movs r0, 0 - b _081CB81C -_081CB7D4: - adds r0, r5, 0 - bl sub_81CC0D0 - adds r4, r0, 0 - cmp r4, 0 - bne _081CB816 - adds r0, r5, 0 - bl sub_81CC0E0 - ldr r0, =0x00000107 - bl PlaySE - strb r4, [r5, 0xE] - movs r0, 0 - b _081CB81C - .pool -_081CB7F8: - adds r0, r5, 0 - bl sub_81CC104 - cmp r0, 0 - bne _081CB816 - adds r0, r5, 0 - bl sub_81CC158 - movs r0, 0 - b _081CB81C -_081CB80C: - adds r0, r5, 0 - bl sub_81CC194 - cmp r0, 0 - beq _081CB81A -_081CB816: - movs r0, 0x2 - b _081CB81C -_081CB81A: - movs r0, 0x4 -_081CB81C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB7A0 - - thumb_func_start sub_81CB824 -sub_81CB824: @ 81CB824 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB85E - cmp r4, 0x1 - bgt _081CB83E - cmp r4, 0 - beq _081CB844 - b _081CB880 -_081CB83E: - cmp r4, 0x2 - beq _081CB872 - b _081CB880 -_081CB844: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CC09C - movs r0, 0x1 - bl ToggleMatchCallVerticalArrows - movs r0, 0x1 - strb r0, [r5, 0xE] - movs r0, 0 - b _081CB882 -_081CB85E: - adds r0, r5, 0 - bl sub_81CC0D0 - cmp r0, 0 - bne _081CB87C - adds r0, r5, 0 - bl sub_81CC11C - movs r0, 0 - b _081CB882 -_081CB872: - adds r0, r5, 0 - bl sub_81CC140 - cmp r0, 0 - beq _081CB880 -_081CB87C: - movs r0, 0x2 - b _081CB882 -_081CB880: - movs r0, 0x4 -_081CB882: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB824 - - thumb_func_start sub_81CB888 -sub_81CB888: @ 81CB888 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - movs r6, 0 - cmp r5, 0x6 - bhi _081CB934 - lsls r0, r5, 2 - ldr r1, =_081CB8A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CB8A8: - .4byte _081CB8C4 - .4byte _081CB8DA - .4byte _081CB8E2 - .4byte _081CB8F0 - .4byte _081CB8F8 - .4byte _081CB90C - .4byte _081CB922 -_081CB8C4: - ldrb r0, [r4, 0xE] - cmp r0, 0 - bne _081CB8D2 - movs r0, 0x84 - lsls r0, 1 - bl PlaySE -_081CB8D2: - movs r0, 0x5 - bl PlaySE - b _081CB934 -_081CB8DA: - adds r0, r4, 0 - bl sub_81CC1DC - b _081CB934 -_081CB8E2: - adds r0, r4, 0 - bl sub_81CC204 - cmp r0, 0 - beq _081CB934 -_081CB8EC: - movs r6, 0x2 - b _081CB934 -_081CB8F0: - adds r0, r4, 0 - bl sub_81CBFF0 - b _081CB934 -_081CB8F8: - adds r0, r4, 0 - bl sub_81CC004 - cmp r0, 0 - beq _081CB904 - movs r6, 0x2 -_081CB904: - movs r0, 0x6 - bl sub_81C7BA4 - b _081CB934 -_081CB90C: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - bne _081CB8EC - ldrb r0, [r4, 0xF] - cmp r0, 0 - beq _081CB92C - bl sub_81C8838 - movs r6, 0x1 - b _081CB934 -_081CB922: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081CB8EC -_081CB92C: - movs r0, 0 - bl ToggleMatchCallVerticalArrows - movs r6, 0x4 -_081CB934: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CB888 - - thumb_func_start sub_81CB93C -sub_81CB93C: @ 81CB93C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB974 - cmp r4, 0x1 - bgt _081CB956 - cmp r4, 0 - beq _081CB960 - b _081CB9BE -_081CB956: - cmp r4, 0x2 - beq _081CB990 - cmp r4, 0x3 - beq _081CB9A0 - b _081CB9BE -_081CB960: - movs r0, 0x5 - bl PlaySE - bl sub_81C877C - adds r0, r5, 0 - bl sub_81CC014 - movs r0, 0 - b _081CB9C0 -_081CB974: - bl sub_81C8820 - cmp r0, 0 - bne _081CB9BA - adds r0, r5, 0 - bl sub_81CC004 - cmp r0, 0 - bne _081CB9BA - movs r0, 0x8 - bl sub_81C7BA4 - movs r0, 0 - b _081CB9C0 -_081CB990: - movs r0, 0 - bl sub_81C87AC - adds r0, r5, 0 - bl sub_81CC39C - movs r0, 0 - b _081CB9C0 -_081CB9A0: - bl sub_81C8820 - cmp r0, 0 - bne _081CB9BA - adds r0, r5, 0 - bl sub_81CC42C - cmp r0, 0 - bne _081CB9BA - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - beq _081CB9BE -_081CB9BA: - movs r0, 0x2 - b _081CB9C0 -_081CB9BE: - movs r0, 0x4 -_081CB9C0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB93C - - thumb_func_start sub_81CB9C8 -sub_81CB9C8: @ 81CB9C8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x4 - bhi _081CBA60 - lsls r0, r5, 2 - ldr r1, =_081CB9E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CB9E8: - .4byte _081CB9FC - .4byte _081CBA1C - .4byte _081CBA34 - .4byte _081CBA40 - .4byte _081CBA4A -_081CB9FC: - bl GetMatchCallListTopIndex - bl sub_81CB0E4 - adds r5, r0, 0 - cmp r5, 0 - beq _081CBA60 - movs r0, 0x5 - bl PlaySE - strh r5, [r4, 0x16] - adds r0, r4, 0 - bl sub_81CC420 - movs r0, 0 - b _081CBA62 -_081CBA1C: - adds r0, r4, 0 - bl sub_81CC42C - cmp r0, 0 - bne _081CBA5C - movs r0, 0x16 - ldrsh r1, [r4, r0] - adds r0, r4, 0 - bl sub_81CBEF8 - movs r0, 0 - b _081CBA62 -_081CBA34: - movs r1, 0x16 - ldrsh r0, [r4, r1] - bl sub_81C87AC - movs r0, 0 - b _081CBA62 -_081CBA40: - adds r0, r4, 0 - bl sub_81CC39C - movs r0, 0 - b _081CBA62 -_081CBA4A: - bl sub_81C8820 - cmp r0, 0 - bne _081CBA5C - adds r0, r4, 0 - bl sub_81CC42C - cmp r0, 0 - beq _081CBA60 -_081CBA5C: - movs r0, 0x2 - b _081CBA62 -_081CBA60: - movs r0, 0x4 -_081CBA62: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB9C8 - - thumb_func_start sub_81CBA68 -sub_81CBA68: @ 81CBA68 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CBA9C - cmp r4, 0x1 - bgt _081CBA82 - cmp r4, 0 - beq _081CBA88 - b _081CBACC -_081CBA82: - cmp r4, 0x2 - beq _081CBABE - b _081CBACC -_081CBA88: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CC420 - bl sub_81C87F0 - movs r0, 0 - b _081CBACE -_081CBA9C: - bl sub_81C8820 - cmp r0, 0 - bne _081CBAC8 - adds r0, r5, 0 - bl sub_81CC42C - cmp r0, 0 - bne _081CBAC8 - movs r0, 0x6 - bl sub_81C7BA4 - adds r0, r5, 0 - bl sub_81CBDC0 - movs r0, 0 - b _081CBACE -_081CBABE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CBACC -_081CBAC8: - movs r0, 0x2 - b _081CBACE -_081CBACC: - movs r0, 0x4 -_081CBACE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CBA68 - - thumb_func_start sub_81CBAD4 -sub_81CBAD4: @ 81CBAD4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x4 - bhi _081CBB6C - lsls r0, r5, 2 - ldr r1, =_081CBAF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CBAF4: - .4byte _081CBB08 - .4byte _081CBB28 - .4byte _081CBB40 - .4byte _081CBB4C - .4byte _081CBB56 -_081CBB08: - bl GetMatchCallListTopIndex - bl sub_81CB128 - adds r5, r0, 0 - cmp r5, 0 - beq _081CBB6C - movs r0, 0x5 - bl PlaySE - strh r5, [r4, 0x16] - adds r0, r4, 0 - bl sub_81CC420 - movs r0, 0 - b _081CBB6E -_081CBB28: - adds r0, r4, 0 - bl sub_81CC42C - cmp r0, 0 - bne _081CBB68 - movs r0, 0x16 - ldrsh r1, [r4, r0] - adds r0, r4, 0 - bl sub_81CBEF8 - movs r0, 0 - b _081CBB6E -_081CBB40: - movs r1, 0x16 - ldrsh r0, [r4, r1] - bl sub_81C87AC - movs r0, 0 - b _081CBB6E -_081CBB4C: - adds r0, r4, 0 - bl sub_81CC39C - movs r0, 0 - b _081CBB6E -_081CBB56: - bl sub_81C8820 - cmp r0, 0 - bne _081CBB68 - adds r0, r4, 0 - bl sub_81CC42C - cmp r0, 0 - beq _081CBB6C -_081CBB68: - movs r0, 0x2 - b _081CBB6E -_081CBB6C: - movs r0, 0x4 -_081CBB6E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CBAD4 - - thumb_func_start sub_81CBB74 -sub_81CBB74: @ 81CBB74 - push {lr} - cmp r0, 0 - beq _081CBB80 - cmp r0, 0x1 - beq _081CBB9A - b _081CBBB2 -_081CBB80: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81CBC38 - movs r0, 0 - bl sub_81C7AC0 - bl sub_81C78A0 - movs r0, 0 - b _081CBBB4 -_081CBB9A: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CBBAA - bl MainMenuLoopedTaskIsBusy - cmp r0, 0 - beq _081CBBAE -_081CBBAA: - movs r0, 0x2 - b _081CBBB4 -_081CBBAE: - bl sub_81C7FDC -_081CBBB2: - movs r0, 0x4 -_081CBBB4: - pop {r1} - bx r1 - thumb_func_end sub_81CBB74 - - thumb_func_start sub_81CBBB8 -sub_81CBBB8: @ 81CBBB8 - push {lr} - sub sp, 0x18 - bl sub_81CAE94 - str r0, [sp] - bl sub_81CAE38 - mov r1, sp - movs r2, 0 - strh r0, [r1, 0x4] - movs r0, 0x4 - strb r0, [r1, 0x8] - mov r0, sp - strh r2, [r0, 0x6] - movs r0, 0xD - strb r0, [r1, 0x9] - movs r0, 0x10 - strb r0, [r1, 0xA] - movs r0, 0x1 - strb r0, [r1, 0xB] - movs r0, 0x8 - strb r0, [r1, 0xC] - movs r0, 0x3 - strb r0, [r1, 0xD] - movs r0, 0x7 - strb r0, [r1, 0xE] - ldr r0, =sub_81CB050 - str r0, [sp, 0x10] - ldr r0, =sub_81CBCEC - str r0, [sp, 0x14] - ldr r0, =gUnknown_08622794 - movs r2, 0x2 - bl sub_81C81D4 - ldr r0, =sub_81CBC64 - movs r1, 0x7 - bl CreateTask - add sp, 0x18 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBBB8 - - thumb_func_start sub_81CBC1C -sub_81CBC1C: @ 81CBC1C - push {lr} - bl sub_81C8234 - ldr r0, =sub_81CBC64 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBC1C - - thumb_func_start sub_81CBC38 -sub_81CBC38: @ 81CBC38 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_81CBC64 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081CBC56 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x26] -_081CBC56: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBC38 - - thumb_func_start sub_81CBC64 -sub_81CBC64: @ 81CBC64 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r2, r1, r0 - movs r1, 0x1E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _081CBCC8 - ldrh r0, [r2] - adds r0, 0x4 - movs r1, 0x7F - ands r0, r1 - strh r0, [r2] - ldr r1, =gSineTable - movs r3, 0 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x2] - ldr r0, =gUnknown_08622720 - adds r1, r0, 0 - adds r1, 0x20 - movs r3, 0x2 - ldrsh r2, [r2, r3] - str r2, [sp] - ldr r4, =gPlttBufferUnfaded + 0xA0 - str r4, [sp, 0x4] - movs r2, 0x10 - movs r3, 0x10 - bl sub_81C79BC - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081CBCC8 - ldr r1, =gPlttBufferFaded + 0xA0 - ldr r2, =0x04000008 - adds r0, r4, 0 - bl CpuSet -_081CBCC8: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBC64 - - thumb_func_start sub_81CBCEC -sub_81CBCEC: @ 81CBCEC - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - bl GetBgTilemapBuffer - adds r6, r0, 0 - lsls r4, 7 - adds r4, 0x3A - adds r6, r4 - adds r0, r5, 0 - bl sub_81CAEBC - cmp r0, 0 - beq _081CBD30 - movs r1, 0xA0 - lsls r1, 7 - adds r0, r1, 0 - strh r0, [r6] - adds r1, r6, 0 - adds r1, 0x40 - ldr r2, =0x00005001 - adds r0, r2, 0 - strh r0, [r1] - b _081CBD3C - .pool -_081CBD30: - ldr r0, =0x00005002 - adds r1, r0, 0 - strh r1, [r6] - adds r0, r6, 0 - adds r0, 0x40 - strh r1, [r0] -_081CBD3C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBCEC - - thumb_func_start sub_81CBD48 -sub_81CBD48: @ 81CBD48 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - bl GetBgTilemapBuffer - lsls r4, 7 - adds r4, 0x3A - adds r0, r4 - ldr r2, =0x00005002 - adds r1, r2, 0 - strh r1, [r0] - adds r0, 0x40 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBD48 - - thumb_func_start sub_81CBD78 -sub_81CBD78: @ 81CBD78 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_086227D8 - bl AddWindow - strh r0, [r4, 0x10] - ldr r0, =gUnknown_086227E0 - bl AddWindow - strh r0, [r4, 0x12] - ldrb r0, [r4, 0x10] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x10] - bl PutWindowTilemap - ldrb r0, [r4, 0x12] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x12] - bl PutWindowTilemap - ldrb r0, [r4, 0x10] - movs r1, 0x1 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBD78 - - thumb_func_start sub_81CBDC0 -sub_81CBDC0: @ 81CBDC0 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x12] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x12] - bl sub_81CBDF4 - ldrh r0, [r4, 0x12] - bl sub_81CBE0C - ldrh r0, [r4, 0x12] - bl sub_81CBE38 - ldrh r0, [r4, 0x12] - bl sub_81CBE50 - ldrb r0, [r4, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CBDC0 - - thumb_func_start sub_81CBDF4 -sub_81CBDF4: @ 81CBDF4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gText_NumberRegistered - movs r2, 0 - bl sub_81CBE88 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBDF4 - - thumb_func_start sub_81CBE0C -sub_81CBE0C: @ 81CBE0C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_81CAE38 - adds r1, r0, 0 - mov r0, sp - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - mov r1, sp - movs r2, 0x1 - bl sub_81CBEB4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CBE0C - - thumb_func_start sub_81CBE38 -sub_81CBE38: @ 81CBE38 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gText_NumberOfBattles - movs r2, 0x2 - bl sub_81CBE88 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBE38 - - thumb_func_start sub_81CBE50 -sub_81CBE50: @ 81CBE50 - push {r4,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x9 - bl GetGameStat - adds r1, r0, 0 - ldr r0, =0x0001869f @ Note to decompiler: See UNKNOWN_OFFSET - cmp r1, r0 - ble _081CBE68 - adds r1, r0, 0 -_081CBE68: - mov r0, sp - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - mov r1, sp - movs r2, 0x3 - bl sub_81CBEB4 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBE50 - - thumb_func_start sub_81CBE88 -sub_81CBE88: @ 81CBE88 - push {lr} - sub sp, 0xC - adds r3, r1, 0 - lsls r2, 4 - adds r2, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - adds r2, r3, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_81CBE88 - - thumb_func_start sub_81CBEB4 -sub_81CBEB4: @ 81CBEB4 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x7 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r4, 4 - adds r4, 0x1 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x7 - adds r2, r6, 0 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81CBEB4 - - thumb_func_start sub_81CBEF8 -sub_81CBEF8: @ 81CBEF8 - push {r4,r5,lr} - sub sp, 0x2C - adds r5, r0, 0 - adds r4, r1, 0 - bl GetSelectedMatchCall - adds r0, r4 - bl sub_81CAEA4 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xD5 - beq _081CBF1C - add r0, sp, 0xC - movs r2, 0 - bl GetMapName - b _081CBF24 -_081CBF1C: - ldr r1, =gText_Unknown - add r0, sp, 0xC - bl StringCopy -_081CBF24: - movs r0, 0x7 - add r1, sp, 0xC - movs r2, 0x58 - bl GetStringCenterAlignXOffset - adds r4, r0, 0 - ldrb r0, [r5, 0x10] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x10] - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x7 - add r2, sp, 0xC - adds r3, r4, 0 - bl AddTextPrinterParameterized - add sp, 0x2C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBEF8 - - thumb_func_start sub_81CBF60 -sub_81CBF60: @ 81CBF60 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - ldrb r0, [r5, 0x12] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r4, 0 - movs r6, 0x80 - lsls r6, 17 - b _081CBF9C -_081CBF76: - ldrb r0, [r5, 0x12] - ldr r2, =gUnknown_086227E8 - lsls r1, 2 - adds r1, r2 - ldr r2, [r1] - lsrs r1, r6, 24 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0x10 - bl AddTextPrinterParameterized - movs r0, 0x80 - lsls r0, 21 - adds r6, r0 - adds r4, 0x1 -_081CBF9C: - cmp r4, 0x2 - bhi _081CBFAE - adds r0, r4, 0 - bl sub_81CB02C - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bne _081CBF76 -_081CBFAE: - ldrb r0, [r5, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBF60 - - thumb_func_start sub_81CBFC4 -sub_81CBFC4: @ 81CBFC4 - push {r4,lr} - adds r4, r0, 0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CBFD6 - movs r0, 0x1 - b _081CBFE8 -_081CBFD6: - bl sub_81CB01C - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_81CC2F0 - movs r0, 0 -_081CBFE8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CBFC4 - - thumb_func_start sub_81CBFF0 -sub_81CBFF0: @ 81CBFF0 - push {r4,lr} - adds r4, r0, 0 - bl sub_81CC330 - adds r0, r4, 0 - bl sub_81CBDC0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CBFF0 - - thumb_func_start sub_81CC004 -sub_81CC004: @ 81CC004 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CC004 - - thumb_func_start sub_81CC014 -sub_81CC014: @ 81CC014 - push {r4,lr} - adds r4, r0, 0 - bl sub_81CC330 - ldrb r0, [r4, 0x12] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC014 - - thumb_func_start sub_81CC034 -sub_81CC034: @ 81CC034 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08622808 - bl AddWindow - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x4 - bl sub_8197184 - bl sub_81C7B40 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC034 - - thumb_func_start sub_81CC058 -sub_81CC058: @ 81CC058 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x4 - bl sub_8197184 - ldrh r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x4 - bl sub_81971C4 - ldrb r0, [r4, 0x14] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x14] - bl PutWindowTilemap - ldrb r0, [r4, 0x14] - movs r1, 0x3 - bl CopyWindowToVram - bl PauseSpinningNavgearSprite - movs r2, 0 - movs r1, 0x18 - strh r1, [r0, 0x20] - movs r1, 0x70 - strh r1, [r0, 0x22] - strh r2, [r0, 0x26] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC058 - - thumb_func_start sub_81CC09C -sub_81CC09C: @ 81CC09C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x40 - bl LoadUserWindowBorderGfx - ldrb r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x4 - bl DrawTextBorderOuter - ldrb r0, [r4, 0x14] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x14] - bl PutWindowTilemap - ldrb r0, [r4, 0x14] - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC09C - - thumb_func_start sub_81CC0D0 -sub_81CC0D0: @ 81CC0D0 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CC0D0 - - thumb_func_start sub_81CC0E0 -sub_81CC0E0: @ 81CC0E0 - push {lr} - sub sp, 0xC - ldrb r0, [r0, 0x14] - ldr r2, =gUnknown_086227F4 - movs r1, 0x1 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x20 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC0E0 - - thumb_func_start sub_81CC104 -sub_81CC104: @ 81CC104 - push {r4,lr} - adds r4, r0, 0 - bl RunTextPrinters - ldrb r0, [r4, 0x14] - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC104 - - thumb_func_start sub_81CC11C -sub_81CC11C: @ 81CC11C - push {lr} - sub sp, 0xC - ldrb r0, [r0, 0x14] - ldr r2, =gText_TrainerCloseBy - movs r1, 0x1 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC11C - - thumb_func_start sub_81CC140 -sub_81CC140: @ 81CC140 - push {r4,lr} - adds r4, r0, 0 - bl RunTextPrinters - ldrb r0, [r4, 0x14] - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC140 - - thumb_func_start sub_81CC158 -sub_81CC158: @ 81CC158 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - bl GetSelectedMatchCall - adds r1, r4, 0 - adds r1, 0xF - bl sub_81CAF78 - adds r5, r0, 0 - bl GetPlayerTextSpeedDelay - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4, 0x14] - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r2, 0 - adds r2, r5, 0 - movs r3, 0x20 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CC158 - - thumb_func_start sub_81CC194 -sub_81CC194: @ 81CC194 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081CC1B8 - ldr r0, =gTextFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _081CC1C4 - .pool -_081CC1B8: - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_081CC1C4: - bl RunTextPrinters - ldrb r0, [r4, 0x14] - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CC194 - - thumb_func_start sub_81CC1DC -sub_81CC1DC: @ 81CC1DC - push {lr} - sub sp, 0x8 - bl ResumeSpinningNavgearSprite - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_81CC1DC - - thumb_func_start sub_81CC204 -sub_81CC204: @ 81CC204 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CC204 - - thumb_func_start sub_81CC214 -sub_81CC214: @ 81CC214 - push {r4-r6,lr} - sub sp, 0x8 - movs r0, 0x6 - bl GetSubstructPtr - adds r6, r0, 0 - movs r5, 0 - ldr r4, =gUnknown_08622810 -_081CC224: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0 - beq _081CC224 - ldr r0, =gUnknown_08622818 - bl Pokenav_AllocAndLoadPalettes - movs r0, 0 - str r0, [r6, 0x1C] - ldr r1, =0x00001828 - adds r0, r6, r1 - str r0, [sp] - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 4 - orrs r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r2, =0x00001824 - adds r1, r6, r2 - lsls r0, 16 - lsrs r0, 11 - ldr r2, =0x06010000 - adds r0, r2 - str r0, [r1] - movs r0, 0xD - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r6, 0x1A] - bl sub_81CC370 - str r0, [r6, 0x20] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC214 - - thumb_func_start sub_81CC2B4 -sub_81CC2B4: @ 81CC2B4 - push {r4,lr} - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, [r4, 0x1C] - cmp r0, 0 - beq _081CC2C8 - bl DestroySprite -_081CC2C8: - ldr r0, [r4, 0x20] - cmp r0, 0 - beq _081CC2D2 - bl DestroySprite -_081CC2D2: - movs r0, 0x8 - bl FreeSpriteTilesByTag - movs r0, 0x7 - bl FreeSpriteTilesByTag - movs r0, 0xC - bl FreeSpritePaletteByTag - movs r0, 0xD - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC2B4 - - thumb_func_start sub_81CC2F0 -sub_81CC2F0: @ 81CC2F0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4, 0x1C] - cmp r0, 0 - bne _081CC320 - ldr r0, =gUnknown_08622830 - movs r1, 0x4 - movs r2, 0x50 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r4, 0x1C] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81CC344 -_081CC320: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC2F0 - - thumb_func_start sub_81CC330 -sub_81CC330: @ 81CC330 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x1C] - bl DestroySprite - movs r0, 0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC330 - - thumb_func_start sub_81CC344 -sub_81CC344: @ 81CC344 - ldr r0, [r0, 0x1C] - lsls r1, 4 - strh r1, [r0, 0x26] - bx lr - thumb_func_end sub_81CC344 - - thumb_func_start sub_81CC34C -sub_81CC34C: @ 81CC34C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081CC36C - movs r0, 0 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x24] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r2, 0x24] -_081CC36C: - pop {r0} - bx r0 - thumb_func_end sub_81CC34C - - thumb_func_start sub_81CC370 -sub_81CC370: @ 81CC370 - push {lr} - ldr r0, =gUnknown_08622850 - movs r1, 0x2C - movs r2, 0x68 - movs r3, 0x6 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CC370 - - thumb_func_start sub_81CC39C -sub_81CC39C: @ 81CC39C - push {r4-r7,lr} - adds r7, r0, 0 - bl GetSelectedMatchCall - bl sub_81CAF04 - cmp r0, 0 - blt _081CC400 - lsls r4, r0, 3 - ldr r0, =gTrainerFrontPicTable - adds r0, r4, r0 - ldr r1, =0x00001828 - adds r5, r7, r1 - adds r1, r5, 0 - movs r2, 0 - bl DecompressPicFromTable - ldr r0, =gTrainerFrontPicPaletteTable - adds r4, r0 - ldr r0, [r4] - ldr r1, =0x00002028 - adds r6, r7, r1 - adds r1, r6, 0 - bl LZ77UnCompWram - ldr r1, =0x00001824 - adds r0, r7, r1 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 4 - adds r0, r5, 0 - movs r3, 0x1 - bl RequestDma3Copy - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrh r1, [r7, 0x1A] - adds r0, r6, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, [r7, 0x20] - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, [r7, 0x20] - strh r4, [r0, 0x3C] - ldr r1, [r7, 0x20] - ldr r0, =sub_81CC440 - str r0, [r1, 0x1C] -_081CC400: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC39C - - thumb_func_start sub_81CC420 -sub_81CC420: @ 81CC420 - ldr r1, [r0, 0x20] - ldr r0, =sub_81CC4A4 - str r0, [r1, 0x1C] - bx lr - .pool - thumb_func_end sub_81CC420 - - thumb_func_start sub_81CC42C -sub_81CC42C: @ 81CC42C - ldr r0, [r0, 0x20] - ldr r1, [r0, 0x1C] - ldr r0, =SpriteCallbackDummy - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_81CC42C - - thumb_func_start sub_81CC440 -sub_81CC440: @ 81CC440 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081CC452 - cmp r0, 0x1 - beq _081CC484 - b _081CC498 -_081CC452: - movs r1, 0x3C - ldrsh r0, [r4, r1] - bl CheckForSpaceForDma3Request - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _081CC498 - ldr r0, =0x0000ffb0 - strh r0, [r4, 0x24] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _081CC498 - .pool -_081CC484: - ldrh r0, [r4, 0x24] - adds r0, 0x8 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - blt _081CC498 - movs r0, 0 - strh r0, [r4, 0x24] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081CC498: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC440 - - thumb_func_start sub_81CC4A4 -sub_81CC4A4: @ 81CC4A4 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x24] - subs r0, 0x8 - strh r0, [r3, 0x24] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x50 - negs r1, r1 - cmp r0, r1 - bgt _081CC4CA - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] -_081CC4CA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC4A4 - - thumb_func_start sub_81CC4D4 -sub_81CC4D4: @ 81CC4D4 - push {r4,lr} - movs r0, 0x3 - movs r1, 0x14 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CC4F0 - ldr r1, =0x00000884 - movs r0, 0x10 - bl AllocSubstruct - cmp r0, 0 - bne _081CC4F8 -_081CC4F0: - movs r0, 0 - b _081CC51A - .pool -_081CC4F8: - ldr r0, =gMapHeader - ldrb r0, [r0, 0x14] - bl sub_8124668 - str r0, [r4, 0xC] - cmp r0, 0 - bne _081CC514 - ldr r0, =sub_81CC568 - b _081CC516 - .pool -_081CC514: - ldr r0, =sub_81CC5B4 -_081CC516: - str r0, [r4, 0x10] - movs r0, 0x1 -_081CC51A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CC4D4 - - thumb_func_start sub_81CC524 -sub_81CC524: @ 81CC524 - push {lr} - bl sub_8124658 - ldr r1, =gSaveBlock2Ptr - ldr r3, [r1] - movs r1, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r3, 0x15] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x15] - movs r0, 0x10 - bl FreePokenavSubstruct - movs r0, 0x3 - bl FreePokenavSubstruct - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC524 - - thumb_func_start sub_81CC554 -sub_81CC554: @ 81CC554 - push {lr} - movs r0, 0x3 - bl GetSubstructPtr - ldr r1, [r0, 0x10] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81CC554 - - thumb_func_start sub_81CC568 -sub_81CC568: @ 81CC568 - push {r4,lr} - adds r4, r0, 0 - bl sub_81230AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _081CC58C - cmp r0, 0x4 - bgt _081CC582 - cmp r0, 0x3 - beq _081CC588 - b _081CC5AC -_081CC582: - cmp r0, 0x5 - beq _081CC59E - b _081CC5AC -_081CC588: - movs r0, 0x1 - b _081CC5AE -_081CC58C: - bl sub_8124658 - lsls r0, 24 - cmp r0, 0 - bne _081CC59A - movs r0, 0x3 - b _081CC5AE -_081CC59A: - movs r0, 0x2 - b _081CC5AE -_081CC59E: - ldr r0, =sub_81CC5DC - str r0, [r4, 0x10] - movs r0, 0x4 - b _081CC5AE - .pool -_081CC5AC: - movs r0, 0 -_081CC5AE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC568 - - thumb_func_start sub_81CC5B4 -sub_81CC5B4: @ 81CC5B4 - push {lr} - adds r2, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081CC5CC - movs r0, 0 - b _081CC5D2 - .pool -_081CC5CC: - ldr r0, =sub_81CC5DC - str r0, [r2, 0x10] - movs r0, 0x4 -_081CC5D2: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CC5B4 - - thumb_func_start sub_81CC5DC -sub_81CC5DC: @ 81CC5DC - ldr r0, =0x000186a1 - bx lr - .pool - thumb_func_end sub_81CC5DC - - thumb_func_start sub_81CC5E4 -sub_81CC5E4: @ 81CC5E4 - push {lr} - movs r0, 0x3 - bl GetSubstructPtr - ldr r0, [r0, 0xC] - pop {r1} - bx r1 - thumb_func_end sub_81CC5E4 - - thumb_func_start sub_81CC5F4 -sub_81CC5F4: @ 81CC5F4 - push {r4,lr} - ldr r1, =0x00001948 - movs r0, 0x4 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CC624 - ldr r0, =sub_81CC6F4 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - ldr r0, =sub_81CC6BC - str r0, [r4] - movs r0, 0x1 - b _081CC626 - .pool -_081CC624: - movs r0, 0 -_081CC626: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC5F4 - - thumb_func_start sub_81CC62C -sub_81CC62C: @ 81CC62C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_086230E4 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r5, 0x4] - ldr r0, =sub_81CC6BC - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC62C - - thumb_func_start sub_81CC65C -sub_81CC65C: @ 81CC65C - push {lr} - movs r0, 0x4 - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81CC65C - - thumb_func_start sub_81CC670 -sub_81CC670: @ 81CC670 - push {r4,lr} - movs r0, 0x4 - bl GetSubstructPtr - adds r4, r0, 0 - bl FreeRegionMapIconResources - bl sub_81CC9EC - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0x10 - bl FreePokenavSubstruct - movs r0, 0x4 - bl FreePokenavSubstruct - bl SetPokenavVBlankCallback - movs r0, 0 - bl SetBgMode - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC670 - - thumb_func_start sub_81CC6A4 -sub_81CC6A4: @ 81CC6A4 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl UpdateRegionMapVideoRegs - pop {r0} - bx r0 - thumb_func_end sub_81CC6A4 - - thumb_func_start sub_81CC6BC -sub_81CC6BC: @ 81CC6BC - push {lr} - movs r0, 0x4 - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl IsLoopedTaskActive - pop {r1} - bx r1 - thumb_func_end sub_81CC6BC - - thumb_func_start sub_81CC6D0 -sub_81CC6D0: @ 81CC6D0 - push {lr} - bl sub_81CC5E4 - cmp r0, 0 - bne _081CC6EC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - lsrs r0, 3 - movs r1, 0x1 - ands r0, r1 - b _081CC6EE - .pool -_081CC6EC: - movs r0, 0 -_081CC6EE: - pop {r1} - bx r1 - thumb_func_end sub_81CC6D0 - - thumb_func_start sub_81CC6F4 -sub_81CC6F4: @ 81CC6F4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x7 - bls _081CC706 - b _081CC83E -_081CC706: - lsls r0, r4, 2 - ldr r1, =_081CC714 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CC714: - .4byte _081CC734 - .4byte _081CC784 - .4byte _081CC7B6 - .4byte _081CC7BE - .4byte _081CC7CE - .4byte _081CC7E2 - .4byte _081CC804 - .4byte _081CC82A -_081CC734: - movs r0, 0 - bl SetVBlankCallback_ - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl HideBg - movs r0, 0x1 - bl SetBgMode - ldr r4, =gUnknown_086230D8 - adds r0, r4, 0 - movs r1, 0x2 - bl InitBgTemplates - movs r0, 0x10 - bl GetSubstructPtr - adds r5, r0, 0 - adds r4, 0x4 - bl sub_81CC6D0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8122CF8 - bl sub_81CC9C0 -_081CC77C: - movs r0, 0 - b _081CC840 - .pool -_081CC784: - bl sub_8122DB0 - lsls r0, 24 - cmp r0, 0 - bne _081CC83A - bl sub_81CC5E4 - cmp r0, 0 - bne _081CC7AC - movs r0, 0x4 - movs r1, 0x9 - bl CreateRegionMapPlayerIcon - movs r0, 0x5 - movs r1, 0xA - bl CreateRegionMapCursor - bl sub_812454C - b _081CC77C -_081CC7AC: - movs r0, 0 - movs r1, 0x6 - bl sub_8123030 - b _081CC77C -_081CC7B6: - bl sub_81CCD10 -_081CC7BA: - movs r0, 0x1 - b _081CC840 -_081CC7BE: - bl sub_81CCD24 - cmp r0, 0 - bne _081CC83A - adds r0, r5, 0 - bl sub_81CCA1C - b _081CC7BA -_081CC7CE: - bl sub_81CCAFC - cmp r0, 0 - bne _081CC83A - adds r0, r5, 0 - bl sub_81CCB0C - bl sub_81C7B40 - b _081CC77C -_081CC7E2: - adds r0, r5, 0 - bl sub_81CCC4C - cmp r0, 0 - bne _081CC83A - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, =sub_81CC6A4 - bl SetVBlankCallback_ - b _081CC77C - .pool -_081CC804: - bl sub_81CC6D0 - lsls r0, 24 - movs r4, 0x5 - cmp r0, 0 - bne _081CC812 - movs r4, 0x4 -_081CC812: - adds r0, r4, 0 - bl LoadLeftHeaderGfxForIndex - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_81C7FA0 - movs r0, 0x1 - bl sub_81C7AC0 - b _081CC77C -_081CC82A: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CC83A - bl sub_81C8010 - cmp r0, 0 - beq _081CC7BA -_081CC83A: - movs r0, 0x2 - b _081CC840 -_081CC83E: - movs r0, 0x4 -_081CC840: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CC6F4 - - thumb_func_start sub_81CC848 -sub_81CC848: @ 81CC848 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - cmp r4, 0 - beq _081CC85C - cmp r4, 0x1 - beq _081CC864 - b _081CC870 -_081CC85C: - bl sub_81CCB0C - movs r0, 0 - b _081CC872 -_081CC864: - bl sub_81CCC4C - cmp r0, 0 - beq _081CC870 - movs r0, 0x2 - b _081CC872 -_081CC870: - movs r0, 0x4 -_081CC872: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC848 - - thumb_func_start sub_81CC878 -sub_81CC878: @ 81CC878 - push {lr} - cmp r0, 0x1 - beq _081CC8A2 - cmp r0, 0x1 - bgt _081CC888 - cmp r0, 0 - beq _081CC88E - b _081CC8D0 -_081CC888: - cmp r0, 0x2 - beq _081CC8BE - b _081CC8D0 -_081CC88E: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81CCC5C - bl sub_8123418 - movs r0, 0 - b _081CC8D2 -_081CC8A2: - bl sub_8123514 - lsls r0, 24 - cmp r0, 0 - bne _081CC8C6 - bl sub_81CCC88 - cmp r0, 0 - bne _081CC8C6 - movs r0, 0x1 - bl sub_81C7BA4 - movs r0, 0 - b _081CC8D2 -_081CC8BE: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - beq _081CC8CA -_081CC8C6: - movs r0, 0x2 - b _081CC8D2 -_081CC8CA: - movs r0, 0x4 - bl sub_81C7E14 -_081CC8D0: - movs r0, 0x4 -_081CC8D2: - pop {r1} - bx r1 - thumb_func_end sub_81CC878 - - thumb_func_start sub_81CC8D8 -sub_81CC8D8: @ 81CC8D8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CC90C - cmp r4, 0x1 - bgt _081CC8F2 - cmp r4, 0 - beq _081CC8FC - b _081CC952 -_081CC8F2: - cmp r4, 0x2 - beq _081CC924 - cmp r4, 0x3 - beq _081CC940 - b _081CC952 -_081CC8FC: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CCB0C - movs r0, 0 - b _081CC954 -_081CC90C: - adds r0, r5, 0 - bl sub_81CCC4C - cmp r0, 0 - bne _081CC948 - movs r0, 0x1 - bl sub_81CCC5C - bl sub_8123418 - movs r0, 0 - b _081CC954 -_081CC924: - bl sub_8123514 - lsls r0, 24 - cmp r0, 0 - bne _081CC948 - bl sub_81CCC88 - cmp r0, 0 - bne _081CC948 - movs r0, 0x2 - bl sub_81C7BA4 - movs r0, 0 - b _081CC954 -_081CC940: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - beq _081CC94C -_081CC948: - movs r0, 0x2 - b _081CC954 -_081CC94C: - movs r0, 0x5 - bl sub_81C7E14 -_081CC952: - movs r0, 0x4 -_081CC954: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CC8D8 - - thumb_func_start sub_81CC95C -sub_81CC95C: @ 81CC95C - push {lr} - cmp r0, 0x1 - beq _081CC982 - cmp r0, 0x1 - bgt _081CC96C - cmp r0, 0 - beq _081CC972 - b _081CC9B8 -_081CC96C: - cmp r0, 0x2 - beq _081CC996 - b _081CC9B8 -_081CC972: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081CC9BA -_081CC982: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CC99E - bl sub_81C7FDC - bl sub_81C78A0 - movs r0, 0 - b _081CC9BA -_081CC996: - bl MainMenuLoopedTaskIsBusy - cmp r0, 0 - beq _081CC9A2 -_081CC99E: - movs r0, 0x2 - b _081CC9BA -_081CC9A2: - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl HideBg - movs r0, 0 - b _081CC9BA -_081CC9B8: - movs r0, 0x4 -_081CC9BA: - pop {r1} - bx r1 - thumb_func_end sub_81CC95C - - thumb_func_start sub_81CC9C0 -sub_81CC9C0: @ 81CC9C0 - push {r4,r5,lr} - movs r5, 0 - ldr r4, =gUnknown_086230F8 -_081CC9C6: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0 - beq _081CC9C6 - ldr r0, =gUnknown_08623100 - bl Pokenav_AllocAndLoadPalettes - bl sub_81CCE58 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC9C0 - - thumb_func_start sub_81CC9EC -sub_81CC9EC: @ 81CC9EC - push {r4,r5,lr} - movs r0, 0x4 - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0x6 - bl FreeSpriteTilesByTag - movs r0, 0xB - bl FreeSpritePaletteByTag - adds r5, r4, 0 - adds r5, 0xC - movs r4, 0x2 -_081CCA08: - ldm r5!, {r0} - bl DestroySprite - subs r4, 0x1 - cmp r4, 0 - bge _081CCA08 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CC9EC - - thumb_func_start sub_81CCA1C -sub_81CCA1C: @ 81CCA1C - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - movs r0, 0x1 - movs r1, 0 - movs r2, 0x40 - movs r3, 0x1 - bl sub_8199DF0 - movs r0, 0x1 - movs r1, 0x11 - movs r2, 0x41 - movs r3, 0x1 - bl sub_8199DF0 - add r1, sp, 0x4 - movs r2, 0x82 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - adds r4, r5, 0 - adds r4, 0x18 - ldr r2, =0x01000400 - adds r0, r1, 0 - adds r1, r4, 0 - bl CpuSet - movs r0, 0x1 - adds r1, r4, 0 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_08623110 - bl AddWindow - movs r4, 0 - strh r0, [r5, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x42 - movs r2, 0x40 - bl LoadUserWindowBorderGfx_ - ldrb r0, [r5, 0x8] - movs r1, 0x42 - movs r2, 0x4 - bl DrawTextBorderOuter - ldr r1, =gUnknown_08622888 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldrb r0, [r5, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x8] - bl PutWindowTilemap - ldrb r0, [r5, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_08622868 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =gHoennMapZoomIcons_Pal - movs r1, 0x30 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - bl sub_8124658 - lsls r0, 24 - cmp r0, 0 - bne _081CCAE0 - ldr r1, =0xffffa000 - movs r0, 0x1 - movs r2, 0 - bl ChangeBgY - b _081CCAEA - .pool -_081CCAE0: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY -_081CCAEA: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CCA1C - - thumb_func_start sub_81CCAFC -sub_81CCAFC: @ 81CCAFC - push {lr} - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CCAFC - - thumb_func_start sub_81CCB0C -sub_81CCB0C: @ 81CCB0C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0x10 - bl GetSubstructPtr - adds r5, r0, 0 - ldrb r0, [r5, 0x2] - cmp r0, 0x4 - bls _081CCB22 - b _081CCC40 -_081CCB22: - lsls r0, 2 - ldr r1, =_081CCB30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CCB30: - .4byte _081CCC1C - .4byte _081CCBDC - .4byte _081CCB44 - .4byte _081CCB8E - .4byte _081CCBDC -_081CCB44: - ldrb r0, [r4, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - movs r1, 0x2 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0xC - bl PutWindowRectTilemap - ldrb r0, [r4, 0x8] - adds r2, r5, 0x4 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0 - bl AddTextPrinterParameterized - ldrh r1, [r5] - ldrb r2, [r5, 0x3] - adds r0, r4, 0 - bl sub_81CCD70 - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0 - bl sub_81CCFA4 - b _081CCC40 -_081CCB8E: - ldrb r0, [r4, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - movs r1, 0x2 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0xC - bl PutWindowRectTilemap - ldrb r0, [r4, 0x8] - adds r2, r5, 0x4 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =0x00001041 - movs r0, 0xC - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x11 - movs r3, 0x6 - bl FillBgTilemapBufferRect - b _081CCC0C - .pool -_081CCBDC: - ldrb r0, [r4, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - bl PutWindowTilemap - ldrb r0, [r4, 0x8] - adds r2, r5, 0x4 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0 - bl AddTextPrinterParameterized - ldrh r1, [r5] - ldrb r2, [r5, 0x3] - adds r0, r4, 0 - bl sub_81CCDE8 -_081CCC0C: - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - bl sub_81CCFA4 - b _081CCC40 -_081CCC1C: - ldr r1, =0x00001041 - movs r0, 0xC - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x11 - movs r3, 0x4 - bl FillBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl sub_81CCFA4 -_081CCC40: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCB0C - - thumb_func_start sub_81CCC4C -sub_81CCC4C: @ 81CCC4C - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CCC4C - - thumb_func_start sub_81CCC5C -sub_81CCC5C: @ 81CCC5C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_81CCC9C - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCC5C - - thumb_func_start sub_81CCC88 -sub_81CCC88: @ 81CCC88 - push {lr} - ldr r0, =sub_81CCC9C - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CCC88 - - thumb_func_start sub_81CCC9C -sub_81CCC9C: @ 81CCC9C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081CCCE0 - movs r1, 0x90 - lsls r1, 3 - movs r0, 0x1 - movs r2, 0x1 - bl ChangeBgY - cmp r0, 0 - blt _081CCCD6 - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - adds r0, r4, 0 - bl DestroyTask -_081CCCD6: - bl sub_81CCF78 - b _081CCD04 - .pool -_081CCCE0: - movs r1, 0x90 - lsls r1, 3 - movs r0, 0x1 - movs r2, 0x2 - bl ChangeBgY - ldr r1, =0xffffa000 - cmp r0, r1 - bgt _081CCD00 - movs r0, 0x1 - movs r2, 0 - bl ChangeBgY - adds r0, r5, 0 - bl DestroyTask -_081CCD00: - bl sub_81CCF78 -_081CCD04: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCC9C - - thumb_func_start sub_81CCD10 -sub_81CCD10: @ 81CCD10 - push {lr} - ldr r0, =sub_81CCD34 - movs r1, 0x1 - bl CreateLoopedTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCD10 - - thumb_func_start sub_81CCD24 -sub_81CCD24: @ 81CCD24 - push {lr} - ldr r0, =sub_81CCD34 - bl FuncIsActiveLoopedTask - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CCD24 - - thumb_func_start sub_81CCD34 -sub_81CCD34: @ 81CCD34 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - adds r2, r0, 0 - cmp r4, 0x15 - ble _081CCD48 - movs r0, 0x4 - b _081CCD62 -_081CCD48: - ldr r0, =gUnknown_08623118 - lsls r1, r4, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - movs r1, 0xC8 - muls r1, r4 - ldr r3, =0x00000818 - adds r1, r3 - adds r1, r2, r1 - bl LZ77UnCompWram - movs r0, 0x1 -_081CCD62: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CCD34 - - thumb_func_start sub_81CCD70 -sub_81CCD70: @ 81CCD70 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r3, r1, 0 - movs r4, 0 - ldr r0, =gUnknown_08623118 - ldrh r1, [r0] - adds r5, r0, 0 - cmp r1, r3 - bne _081CCD8A - ldrh r0, [r5, 0x2] - cmp r0, r2 - beq _081CCDA0 -_081CCD8A: - adds r4, 0x1 - cmp r4, 0x15 - bgt _081CCDA0 - lsls r0, r4, 3 - adds r1, r0, r5 - ldrh r0, [r1] - cmp r0, r3 - bne _081CCD8A - ldrh r0, [r1, 0x2] - cmp r0, r2 - bne _081CCD8A -_081CCDA0: - cmp r4, 0x16 - beq _081CCDD4 - ldr r1, =0x00001041 - movs r0, 0xC - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0x11 - movs r3, 0x6 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0xC8 - adds r1, r4, 0 - muls r1, r0 - ldr r0, =0x00000818 - adds r1, r0 - adds r1, r6, r1 - movs r0, 0xA - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0x12 - movs r3, 0x6 - bl CopyToBgTilemapBufferRect -_081CCDD4: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCD70 - - thumb_func_start sub_81CCDE8 -sub_81CCDE8: @ 81CCDE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - mov r9, r0 - movs r5, 0 - ldr r6, =gStringVar1 - movs r4, 0x88 - lsls r4, 21 - lsls r1, 24 - mov r8, r1 - lsls r7, r2, 24 - b _081CCE34 - .pool -_081CCE08: - adds r0, r6, 0 - movs r2, 0 - movs r3, 0xC - bl StringCopyPadded - mov r1, r9 - ldrb r0, [r1, 0x8] - lsrs r1, r4, 24 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - adds r2, r6, 0 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0x80 - lsls r0, 21 - adds r4, r0 - adds r5, 0x1 -_081CCE34: - lsls r2, r5, 24 - lsrs r2, 24 - mov r1, r8 - lsrs r0, r1, 24 - lsrs r1, r7, 24 - bl GetLandmarkName - adds r1, r0, 0 - cmp r1, 0 - bne _081CCE08 - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CCDE8 - - thumb_func_start sub_81CCE58 -sub_81CCE58: @ 81CCE58 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x4 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_8124658 - lsls r0, 24 - movs r2, 0x84 - cmp r0, 0 - bne _081CCE74 - movs r2, 0xE4 -_081CCE74: - movs r5, 0 - lsls r7, r2, 16 - adds r4, 0xC - mov r8, r4 - movs r6, 0x98 - lsls r6, 16 -_081CCE80: - asrs r1, r6, 16 - ldr r0, =gUnknown_086231D0 - asrs r2, r7, 16 - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - movs r0, 0 - strh r0, [r2, 0x2E] - lsls r4, r5, 2 - strh r4, [r2, 0x30] - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r0, r1, 22 - adds r1, r0, 0 - strh r0, [r2, 0x32] - movs r0, 0x96 - strh r0, [r2, 0x34] - strh r4, [r2, 0x36] - adds r1, r4 - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r4, =0xfffffc00 - adds r0, r4, 0 - ands r3, r0 - orrs r3, r1 - strh r3, [r2, 0x4] - mov r0, r8 - adds r0, 0x4 - mov r8, r0 - subs r0, 0x4 - stm r0!, {r2} - movs r4, 0x80 - lsls r4, 14 - adds r6, r4 - adds r5, 0x1 - cmp r5, 0x2 - ble _081CCE80 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCE58 - - thumb_func_start sub_81CCEF4 -sub_81CCEF4: @ 81CCEF4 - push {r4,r5,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x34] - movs r1, 0x34 - ldrsh r4, [r3, r1] - cmp r4, 0 - beq _081CCF06 - subs r0, 0x1 - b _081CCF6E -_081CCF06: - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _081CCF16 - strh r4, [r3, 0x2E] -_081CCF16: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _081CCF26 - strh r4, [r3, 0x30] -_081CCF26: - ldrh r5, [r3, 0x30] - ldrh r2, [r3, 0x32] - adds r1, r5, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - ldrh r1, [r3, 0x38] - movs r2, 0x38 - ldrsh r0, [r3, r2] - cmp r0, 0x3 - bgt _081CCF5C - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _081CCF70 - adds r0, r1, 0x1 - strh r0, [r3, 0x38] - b _081CCF6C - .pool -_081CCF5C: - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r3, r2] - cmp r0, r1 - bne _081CCF70 - strh r4, [r3, 0x38] - strh r4, [r3, 0x2E] -_081CCF6C: - movs r0, 0x78 -_081CCF6E: - strh r0, [r3, 0x34] -_081CCF70: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CCEF4 - - thumb_func_start sub_81CCF78 -sub_81CCF78: @ 81CCF78 - push {r4,lr} - movs r0, 0x4 - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0x1 - bl GetBgY - asrs r0, 8 - movs r1, 0x84 - subs r1, r0 - adds r4, 0xC - movs r2, 0x2 -_081CCF92: - ldm r4!, {r0} - strh r1, [r0, 0x22] - subs r2, 0x1 - cmp r2, 0 - bge _081CCF92 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CCF78 - - thumb_func_start sub_81CCFA4 -sub_81CCFA4: @ 81CCFA4 - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - movs r1, 0x1 - ands r4, r1 - lsls r5, r4, 2 - movs r6, 0x5 - negs r6, r6 - adds r4, r0, 0 - adds r4, 0xC - movs r3, 0x2 -_081CCFBE: - ldm r4!, {r0} - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r6, 0 - ands r1, r2 - orrs r1, r5 - strb r1, [r0] - subs r3, 0x1 - cmp r3, 0 - bge _081CCFBE - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81CCFA4 - - thumb_func_start sub_81CCFD8 -sub_81CCFD8: @ 81CCFD8 - push {r4,lr} - ldr r1, =0x0000678c - movs r0, 0xB - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CD01C - ldr r1, =0x00006428 - adds r0, r4, r1 - bl sub_81D1ED4 - bl sub_81CD970 - ldr r1, =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - ldr r0, =0x00006304 - adds r1, r4, r0 - ldr r0, =sub_81CD08C - str r0, [r1] - movs r0, 0x1 - b _081CD01E - .pool -_081CD01C: - movs r0, 0 -_081CD01E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CCFD8 - - thumb_func_start sub_81CD024 -sub_81CD024: @ 81CD024 - push {r4,lr} - ldr r1, =0x0000678c - movs r0, 0xB - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CD068 - ldr r1, =0x00006428 - adds r0, r4, r1 - bl sub_81D1ED4 - bl sub_81CD9F8 - ldr r1, =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - ldr r0, =0x00006304 - adds r1, r4, r0 - ldr r0, =sub_81CD08C - str r0, [r1] - movs r0, 0x1 - b _081CD06A - .pool -_081CD068: - movs r0, 0 -_081CD06A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CD024 - - thumb_func_start sub_81CD070 -sub_81CD070: @ 81CD070 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r2, =0x00006304 - adds r1, r0, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD070 - - thumb_func_start sub_81CD08C -sub_81CD08C: @ 81CD08C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r5, r0, 0 - adds r0, r4, 0 - bl sub_81CD1E4 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _081CD100 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081CD0D0 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081CD100 - movs r1, 0xC6 - lsls r1, 7 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081CD0F0 - ldrh r1, [r5, 0x2] - ldrh r0, [r5] - subs r0, 0x1 - cmp r1, r0 - bne _081CD100 -_081CD0D0: - movs r0, 0x5 - bl PlaySE - ldr r0, =0x00006304 - adds r1, r4, r0 - ldr r0, =sub_81CD19C - str r0, [r1] - movs r2, 0x2 - b _081CD100 - .pool -_081CD0F0: - movs r0, 0x5 - bl PlaySE - movs r2, 0x5 - ldr r0, =0x00006304 - adds r1, r4, r0 - ldr r0, =sub_81CD110 - str r0, [r1] -_081CD100: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD08C - - thumb_func_start sub_81CD110 -sub_81CD110: @ 81CD110 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r4, 0 - bl sub_811FBA4 - lsls r0, 24 - cmp r0, 0 - bne _081CD18A - bl sub_81CEF14 - ldr r1, =0x00006786 - adds r5, r6, r1 - movs r1, 0 - ldrsb r1, [r5, r1] - ldr r2, =0x00006783 - adds r4, r6, r2 - adds r1, r4, r1 - strb r0, [r1] - movs r0, 0x12 - bl GetSubstructPtr - ldrh r1, [r0, 0x2] - lsls r1, 2 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldrb r3, [r0, 0x5] - movs r0, 0 - ldrsb r0, [r5, r0] - adds r4, r0 - ldrb r1, [r4] - mov r0, sp - strb r1, [r0] - cmp r2, 0xE - bne _081CD174 - movs r0, 0x64 - muls r0, r3 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData - b _081CD180 - .pool -_081CD174: - adds r0, r2, 0 - adds r1, r3, 0 - movs r2, 0x8 - mov r3, sp - bl SetBoxMonDataAt -_081CD180: - ldr r0, =0x00006304 - adds r1, r6, r0 - ldr r0, =sub_81CD08C - str r0, [r1] - movs r4, 0x6 -_081CD18A: - adds r0, r4, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD110 - - thumb_func_start sub_81CD19C -sub_81CD19C: @ 81CD19C - push {lr} - movs r1, 0xC6 - lsls r1, 7 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081CD1B4 - ldr r0, =0x000186aa - b _081CD1B6 - .pool -_081CD1B4: - ldr r0, =0x000186a2 -_081CD1B6: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD19C - - thumb_func_start sub_81CD1C0 -sub_81CD1C0: @ 81CD1C0 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - movs r1, 0xC6 - lsls r1, 7 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081CD1DA - movs r0, 0x12 - bl FreePokenavSubstruct -_081CD1DA: - movs r0, 0xB - bl FreePokenavSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81CD1C0 - - thumb_func_start sub_81CD1E4 -sub_81CD1E4: @ 81CD1E4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r2, r0, 0 - movs r3, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CD220 - movs r1, 0xC6 - lsls r1, 7 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081CD210 - ldrh r0, [r2, 0x2] - cmp r0, 0 - beq _081CD24E -_081CD210: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - b _081CD246 - .pool -_081CD220: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CD24E - movs r1, 0xC6 - lsls r1, 7 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081CD23E - ldrh r1, [r2, 0x2] - ldrh r0, [r2] - subs r0, 0x1 - cmp r1, r0 - bge _081CD24E -_081CD23E: - movs r0, 0x5 - bl PlaySE - movs r0, 0 -_081CD246: - bl sub_81CD258 - lsls r0, 24 - lsrs r3, r0, 24 -_081CD24E: - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CD1E4 - - thumb_func_start sub_81CD258 -sub_81CD258: @ 81CD258 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0xB - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r5, r0, 0 - mov r0, r8 - cmp r0, 0 - beq _081CD284 - ldr r1, =0x00006788 - adds r0, r4, r1 - b _081CD288 - .pool -_081CD284: - ldr r2, =0x00006787 - adds r0, r4, r2 -_081CD288: - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - adds r7, r0, 0 - ldr r1, =0x00006428 - adds r0, r4, r1 - ldr r2, =0x00006786 - adds r1, r4, r2 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - ldr r3, =0x0000643c - adds r1, r3 - adds r1, r4, r1 - lsls r2, r7, 2 - adds r2, r7 - lsls r2, 2 - adds r2, r3 - adds r2, r4, r2 - bl sub_81D1F84 - ldrh r6, [r5, 0x2] - bl sub_81CDD5C - cmp r0, 0 - beq _081CD2D8 - ldrh r1, [r5] - b _081CD2DC - .pool -_081CD2D8: - ldrh r1, [r5] - subs r1, 0x1 -_081CD2DC: - eors r1, r6 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - adds r6, r0, 0 - mov r0, r8 - cmp r0, 0 - beq _081CD332 - ldr r1, =0x00006787 - adds r2, r4, r1 - ldrb r0, [r2] - adds r1, 0x1 - adds r3, r4, r1 - strb r0, [r3] - ldr r0, =0x00006786 - adds r1, r4, r0 - ldrb r0, [r1] - strb r0, [r2] - strb r7, [r1] - ldrb r1, [r3] - ldr r2, =0x00006789 - adds r0, r4, r2 - strb r1, [r0] - ldrh r0, [r5, 0x2] - cmp r0, 0 - bne _081CD312 - ldrh r0, [r5] -_081CD312: - subs r1, r0, 0x1 - strh r1, [r5, 0x2] - lsls r0, r1, 16 - cmp r0, 0 - beq _081CD32C - subs r1, 0x1 - b _081CD384 - .pool -_081CD32C: - ldrh r0, [r5] - subs r1, r0, 0x1 - b _081CD384 -_081CD332: - ldr r0, =0x00006788 - adds r2, r4, r0 - ldrb r0, [r2] - ldr r1, =0x00006787 - adds r3, r4, r1 - strb r0, [r3] - ldr r0, =0x00006786 - adds r1, r4, r0 - ldrb r0, [r1] - strb r0, [r2] - strb r7, [r1] - ldrb r1, [r3] - ldr r2, =0x00006789 - adds r0, r4, r2 - strb r1, [r0] - ldrh r1, [r5, 0x2] - ldrh r0, [r5] - subs r0, 0x1 - cmp r1, r0 - bge _081CD370 - adds r0, r1, 0x1 - b _081CD372 - .pool -_081CD370: - movs r0, 0 -_081CD372: - strh r0, [r5, 0x2] - ldrh r1, [r5, 0x2] - ldrh r0, [r5] - subs r0, 0x1 - cmp r1, r0 - bge _081CD382 - adds r1, 0x1 - b _081CD384 -_081CD382: - movs r1, 0 -_081CD384: - ldr r2, =0x00006302 - adds r0, r4, r2 - strh r1, [r0] - ldrh r4, [r5, 0x2] - bl sub_81CDD5C - cmp r0, 0 - beq _081CD39C - ldrh r1, [r5] - b _081CD3A0 - .pool -_081CD39C: - ldrh r1, [r5] - subs r1, 0x1 -_081CD3A0: - eors r1, r4 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - cmp r6, 0 - bne _081CD3B0 - movs r0, 0x3 - b _081CD3BA -_081CD3B0: - cmp r0, 0 - beq _081CD3B8 - movs r0, 0x1 - b _081CD3BA -_081CD3B8: - movs r0, 0x4 -_081CD3BA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CD258 - - thumb_func_start sub_81CD3C4 -sub_81CD3C4: @ 81CD3C4 - push {r4,lr} - movs r0, 0xB - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r2, r0, 0 - ldr r1, =0x0000678a - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0x9 - bls _081CD3E2 - b _081CD530 -_081CD3E2: - lsls r0, 2 - ldr r1, =_081CD3F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CD3F4: - .4byte _081CD41C - .4byte _081CD428 - .4byte _081CD434 - .4byte _081CD440 - .4byte _081CD490 - .4byte _081CD4A8 - .4byte _081CD4C0 - .4byte _081CD4D8 - .4byte _081CD4F0 - .4byte _081CD508 -_081CD41C: - movs r1, 0x2 - ldrsh r0, [r2, r1] - movs r1, 0 - bl sub_81CD824 - b _081CD530 -_081CD428: - movs r1, 0x2 - ldrsh r0, [r2, r1] - movs r1, 0 - bl sub_81CDA1C - b _081CD530 -_081CD434: - movs r1, 0x2 - ldrsh r0, [r2, r1] - movs r1, 0 - bl sub_81CDB98 - b _081CD530 -_081CD440: - ldrh r0, [r2] - cmp r0, 0x1 - bne _081CD468 - ldr r2, =0x00006786 - adds r0, r4, r2 - movs r1, 0 - strb r1, [r0] - adds r2, 0x1 - adds r0, r4, r2 - strb r1, [r0] - adds r2, 0x1 - adds r0, r4, r2 - strb r1, [r0] - adds r2, 0x2 - adds r0, r4, r2 - strb r1, [r0] - movs r0, 0x1 - b _081CD53C - .pool -_081CD468: - ldr r0, =0x00006786 - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - ldr r2, =0x00006787 - adds r1, r4, r2 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =0x00006788 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - b _081CD530 - .pool -_081CD490: - ldrh r0, [r2, 0x2] - adds r0, 0x1 - ldrh r2, [r2] - cmp r0, r2 - blt _081CD49C - movs r0, 0 -_081CD49C: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - bl sub_81CD824 - b _081CD530 -_081CD4A8: - ldrh r0, [r2, 0x2] - adds r0, 0x1 - ldrh r2, [r2] - cmp r0, r2 - blt _081CD4B4 - movs r0, 0 -_081CD4B4: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - bl sub_81CDA1C - b _081CD530 -_081CD4C0: - ldrh r0, [r2, 0x2] - adds r0, 0x1 - ldrh r2, [r2] - cmp r0, r2 - blt _081CD4CC - movs r0, 0 -_081CD4CC: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - bl sub_81CDB98 - b _081CD530 -_081CD4D8: - ldrh r0, [r2, 0x2] - subs r0, 0x1 - cmp r0, 0 - bge _081CD4E4 - ldrh r0, [r2] - subs r0, 0x1 -_081CD4E4: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x2 - bl sub_81CD824 - b _081CD530 -_081CD4F0: - ldrh r0, [r2, 0x2] - subs r0, 0x1 - cmp r0, 0 - bge _081CD4FC - ldrh r0, [r2] - subs r0, 0x1 -_081CD4FC: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x2 - bl sub_81CDA1C - b _081CD530 -_081CD508: - ldrh r0, [r2, 0x2] - subs r0, 0x1 - cmp r0, 0 - bge _081CD514 - ldrh r0, [r2] - subs r0, 0x1 -_081CD514: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x2 - bl sub_81CDB98 - ldr r2, =0x0000678a - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _081CD53C - .pool -_081CD530: - ldr r0, =0x0000678a - adds r1, r4, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_081CD53C: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD3C4 - - thumb_func_start sub_81CD548 -sub_81CD548: @ 81CD548 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r0, 0xB - bl GetSubstructPtr - adds r1, r0, 0 - cmp r4, 0x1 - beq _081CD588 - cmp r4, 0x1 - bgt _081CD566 - cmp r4, 0 - beq _081CD56C - b _081CD5C4 -_081CD566: - cmp r5, 0x2 - beq _081CD5A4 - b _081CD5C4 -_081CD56C: - ldr r2, =0x00006302 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - ldr r2, =0x00006789 - adds r1, r2 - ldrb r1, [r1] - bl sub_81CD824 - b _081CD5C4 - .pool -_081CD588: - ldr r2, =0x00006302 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - ldr r2, =0x00006789 - adds r1, r2 - ldrb r1, [r1] - bl sub_81CDA1C - b _081CD5C4 - .pool -_081CD5A4: - ldr r2, =0x00006302 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - ldr r2, =0x00006789 - adds r1, r2 - ldrb r1, [r1] - bl sub_81CDB98 - movs r0, 0x1 - b _081CD5C6 - .pool -_081CD5C4: - movs r0, 0 -_081CD5C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CD548 - - thumb_func_start sub_81CD5CC -sub_81CD5CC: @ 81CD5CC - push {r4,lr} - adds r4, r0, 0 - lsls r2, 16 - lsrs r2, 16 - b _081CD5E4 -_081CD5D6: - strb r3, [r4] - adds r1, 0x1 - adds r4, 0x1 - lsls r0, r2, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 -_081CD5E4: - ldrb r3, [r1] - adds r0, r3, 0 - cmp r0, 0xFF - bne _081CD5D6 - adds r1, r2, 0 - lsls r0, r1, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 - lsls r1, 16 - cmp r1, 0 - ble _081CD612 - movs r3, 0 -_081CD5FE: - strb r3, [r4] - adds r4, 0x1 - adds r1, r2, 0 - lsls r0, r1, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 - lsls r1, 16 - cmp r1, 0 - bgt _081CD5FE -_081CD612: - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD5CC - - thumb_func_start sub_81CD624 -sub_81CD624: @ 81CD624 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - movs r0, 0x12 - bl GetSubstructPtr - lsls r4, 2 - adds r0, r4 - ldrb r4, [r0, 0x4] - mov r8, r4 - ldrb r6, [r0, 0x5] - mov r9, r6 - movs r0, 0xFC - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x4 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x8 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x9 - strb r0, [r5] - adds r5, 0x1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x2D - movs r3, 0 - bl GetBoxOrPartyMonData - cmp r0, 0 - beq _081CD690 - ldr r1, =gText_EggNickname - adds r0, r5, 0 - movs r2, 0 - movs r3, 0xC - bl StringCopyPadded - b _081CD80E - .pool -_081CD690: - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x2 - adds r3, r5, 0 - bl GetBoxOrPartyMonData - adds r0, r5, 0 - bl StringGetEnd10 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0xB - movs r3, 0 - bl GetBoxOrPartyMonData - lsls r0, 16 - lsrs r7, r0, 16 - cmp r4, 0xE - bne _081CD6E0 - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r6, r0, 24 - b _081CD6FE - .pool -_081CD6E0: - mov r0, r8 - mov r1, r9 - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_081CD6FE: - cmp r7, 0x1D - beq _081CD706 - cmp r7, 0x20 - bne _081CD71C -_081CD706: - movs r0, 0xB - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r5, 0 - bl StringCompare - cmp r0, 0 - bne _081CD71C - movs r6, 0xFF -_081CD71C: - adds r3, r5, 0 - b _081CD726 - .pool -_081CD724: - adds r3, 0x1 -_081CD726: - ldrb r0, [r3] - cmp r0, 0xFF - bne _081CD724 - movs r1, 0xFC - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x12 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x3C - strb r0, [r3] - adds r3, 0x1 - cmp r6, 0 - beq _081CD74A - cmp r6, 0xFE - beq _081CD76E - movs r0, 0x77 - b _081CD790 -_081CD74A: - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x1 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x4 - strb r0, [r3] - adds r3, 0x1 - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x3 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x5 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xB5 - b _081CD790 -_081CD76E: - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x1 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x6 - strb r0, [r3] - adds r3, 0x1 - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x3 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x7 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xB6 -_081CD790: - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xFC - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x4 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x8 - strb r0, [r3] - adds r3, 0x1 - movs r5, 0 - strb r5, [r3] - adds r3, 0x1 - movs r0, 0x9 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xBA - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xF9 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x5 - strb r0, [r3] - adds r3, 0x1 - adds r4, r3, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r3, r0, 0 - subs r4, r3, r4 - lsls r4, 16 - lsrs r4, 16 - strb r5, [r3] - adds r3, 0x1 - mov r0, r10 - cmp r0, 0 - bne _081CD808 - movs r0, 0x3 - subs r0, r4 - lsls r0, 16 - ldr r1, =0xffff0000 - adds r0, r1 - lsrs r4, r0, 16 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _081CD808 - movs r2, 0 - adds r1, r0, 0 -_081CD7FA: - strb r2, [r3] - adds r3, 0x1 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r1 - bne _081CD7FA -_081CD808: - movs r0, 0xFF - strb r0, [r3] - adds r0, r3, 0 -_081CD80E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD624 - - thumb_func_start sub_81CD824 -sub_81CD824: @ 81CD824 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 24 - lsrs r6, r1, 24 - movs r0, 0xB - bl GetSubstructPtr - adds r5, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r7, r0, 0 - mov r1, r8 - lsls r0, r1, 16 - asrs r4, r0, 16 - bl sub_81CDD5C - cmp r0, 0 - beq _081CD85A - ldrh r2, [r7] - cmp r4, r2 - bne _081CD862 - b _081CD900 -_081CD85A: - ldrh r0, [r7] - subs r0, 0x1 - cmp r4, r0 - beq _081CD900 -_081CD862: - lsls r0, r6, 6 - ldr r1, =0x00006368 - adds r0, r1 - adds r0, r5, r0 - mov r2, r8 - lsls r4, r2, 16 - lsrs r1, r4, 16 - movs r2, 0 - bl sub_81CD624 - asrs r4, 14 - adds r4, r7, r4 - ldrb r3, [r4, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r4, r0, 3 - ldr r1, =0x00006320 - adds r0, r5, r1 - adds r0, r4 - movs r2, 0 - movs r1, 0xFC - strb r1, [r0] - ldr r1, =0x00006321 - adds r0, r5, r1 - adds r0, r4 - movs r1, 0x4 - strb r1, [r0] - ldr r1, =0x00006322 - adds r0, r5, r1 - adds r0, r4 - movs r1, 0x8 - strb r1, [r0] - ldr r1, =0x00006323 - adds r0, r5, r1 - adds r0, r4 - strb r2, [r0] - ldr r2, =0x00006324 - adds r0, r5, r2 - adds r0, r4 - movs r1, 0x9 - strb r1, [r0] - cmp r3, 0xE - bne _081CD8E4 - adds r0, r4, r5 - ldr r1, =0x00006325 - adds r0, r1 - ldr r1, =gText_InParty - b _081CD8F4 - .pool -_081CD8E4: - adds r4, r5 - ldr r2, =0x00006325 - adds r4, r2 - adds r0, r3, 0 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 -_081CD8F4: - movs r2, 0x8 - bl sub_81CD5CC - b _081CD95C - .pool -_081CD900: - movs r1, 0 - lsls r4, r6, 6 - lsls r0, r6, 1 - mov r8, r0 - adds r3, r4, 0 - ldr r0, =0x00006368 - adds r2, r5, r0 - movs r7, 0 -_081CD910: - adds r0, r1, r3 - adds r0, r2, r0 - strb r7, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xB - bls _081CD910 - adds r1, r4 - ldr r2, =0x00006368 - adds r0, r5, r2 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - movs r1, 0 - mov r2, r8 - adds r0, r2, r6 - lsls r3, r0, 3 - ldr r0, =0x00006320 - adds r2, r5, r0 - movs r4, 0 -_081CD93A: - adds r0, r1, r3 - adds r0, r2, r0 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x7 - bls _081CD93A - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1, r0 - ldr r2, =0x00006320 - adds r1, r5, r2 - adds r1, r0 - movs r0, 0xFF - strb r0, [r1] -_081CD95C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CD824 - - thumb_func_start sub_81CD970 -sub_81CD970: @ 81CD970 - push {r4-r7,lr} - movs r0, 0xB - bl GetSubstructPtr - adds r7, r0, 0 - ldr r1, =0x000006ac - movs r0, 0x12 - bl AllocSubstruct - adds r6, r0, 0 - movs r0, 0xC6 - lsls r0, 7 - adds r1, r7, r0 - movs r0, 0 - strb r0, [r1] - movs r4, 0 - movs r5, 0 - b _081CD9C4 - .pool -_081CD998: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - adds r2, r0, 0 - cmp r2, 0 - bne _081CD9BE - lsls r1, r5, 2 - adds r1, r6, r1 - movs r0, 0xE - strb r0, [r1, 0x4] - strb r4, [r1, 0x5] - strh r2, [r1, 0x6] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_081CD9BE: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_081CD9C4: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _081CD998 - lsls r0, r5, 2 - adds r0, r6, r0 - movs r1, 0 - strb r1, [r0, 0x4] - strb r1, [r0, 0x5] - movs r2, 0 - strh r1, [r0, 0x6] - strh r1, [r6, 0x2] - adds r0, r5, 0x1 - strh r0, [r6] - ldr r1, =0x0000678a - adds r0, r7, r1 - strb r2, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CD970 - - thumb_func_start sub_81CD9F8 -sub_81CD9F8: @ 81CD9F8 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - movs r1, 0xC6 - lsls r1, 7 - adds r2, r0, r1 - movs r3, 0 - movs r1, 0x1 - strb r1, [r2] - ldr r1, =0x0000678a - adds r0, r1 - strb r3, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CD9F8 - - thumb_func_start sub_81CDA1C -sub_81CDA1C: @ 81CDA1C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0xB - bl GetSubstructPtr - mov r8, r0 - movs r0, 0x12 - bl GetSubstructPtr - adds r4, r0, 0 - lsls r0, r6, 16 - asrs r5, r0, 16 - bl sub_81CDD5C - cmp r0, 0 - beq _081CDA52 - ldrh r0, [r4] - cmp r5, r0 - bne _081CDA5A - b _081CDB48 -_081CDA52: - ldrh r0, [r4] - subs r0, 0x1 - cmp r5, r0 - beq _081CDB48 -_081CDA5A: - lsls r0, r6, 16 - asrs r0, 14 - adds r0, r4, r0 - ldrb r6, [r0, 0x4] - ldrb r7, [r0, 0x5] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x16 - movs r3, 0 - bl GetBoxOrPartyMonData - mov r1, r9 - lsls r5, r1, 2 - adds r4, r5, r1 - ldr r1, =0x00006428 - add r1, r8 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x2F - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x00006429 - add r1, r8 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x21 - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x0000642a - add r1, r8 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x18 - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x0000642b - add r1, r8 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x17 - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x0000642c - add r1, r8 - adds r1, r4 - strb r0, [r1] - movs r0, 0xCF - lsls r0, 7 - add r0, r8 - mov r2, r9 - adds r4, r0, r2 - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x30 - movs r3, 0 - bl GetBoxOrPartyMonData - cmp r0, 0xFF - beq _081CDB10 - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x30 - movs r3, 0 - bl GetBoxOrPartyMonData - movs r1, 0x1D - bl __udivsi3 - b _081CDB12 - .pool -_081CDB10: - movs r0, 0x9 -_081CDB12: - strb r0, [r4] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x8 - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x00006783 - add r1, r8 - add r1, r9 - strb r0, [r1] - mov r0, r9 - adds r1, r5, r0 - ldr r2, =0x00006428 - adds r0, r1, r2 - add r0, r8 - lsls r1, 2 - adds r2, 0x14 - adds r1, r2 - add r1, r8 - bl sub_81D2754 - b _081CDB80 - .pool -_081CDB48: - movs r2, 0 - mov r0, r9 - lsls r5, r0, 2 - add r5, r9 - ldr r4, =0x00006428 - add r4, r8 - lsls r3, r5, 2 - mov r9, r2 - ldr r7, =0x0000643c - movs r6, 0x9B -_081CDB5C: - adds r0, r2, r5 - adds r0, r4, r0 - mov r1, r9 - strb r1, [r0] - lsls r0, r2, 2 - adds r0, r3 - add r0, r8 - adds r1, r0, r7 - strh r6, [r1] - ldr r1, =0x0000643e - adds r0, r1 - movs r1, 0x5B - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x4 - bls _081CDB5C -_081CDB80: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CDA1C - - thumb_func_start sub_81CDB98 -sub_81CDB98: @ 81CDB98 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0xB - bl GetSubstructPtr - adds r7, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r4, r0, 0 - lsls r0, r6, 16 - asrs r5, r0, 16 - bl sub_81CDD5C - cmp r0, 0 - beq _081CDBCC - ldrh r0, [r4] - b _081CDBD0 -_081CDBCC: - ldrh r0, [r4] - subs r0, 0x1 -_081CDBD0: - cmp r5, r0 - beq _081CDC3E - lsls r0, r6, 16 - asrs r0, 14 - adds r0, r4, r0 - ldrb r5, [r0, 0x4] - ldrb r6, [r0, 0x5] - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x41 - movs r3, 0 - bl GetBoxOrPartyMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x1 - movs r3, 0 - bl GetBoxOrPartyMonData - mov r8, r0 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl GetBoxOrPartyMonData - adds r5, r0, 0 - lsls r0, r4, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - mov r2, r9 - lsls r1, r2, 13 - movs r2, 0xC0 - lsls r2, 2 - adds r1, r2 - adds r1, r7, r1 - movs r2, 0x1 - str r2, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl LoadSpecialPokePic - adds r0, r4, 0 - mov r1, r8 - adds r2, r5, 0 - bl GetFrontSpritePalFromSpeciesAndPersonality - mov r2, r9 - lsls r1, r2, 7 - adds r1, r7, r1 - bl LZ77UnCompWram -_081CDC3E: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CDB98 - - thumb_func_start sub_81CDC50 -sub_81CDC50: @ 81CDC50 - push {lr} - movs r0, 0x12 - bl GetSubstructPtr - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81CDC50 - - thumb_func_start sub_81CDC60 -sub_81CDC60: @ 81CDC60 - push {lr} - movs r0, 0x12 - bl GetSubstructPtr - ldrh r0, [r0, 0x2] - pop {r1} - bx r1 - thumb_func_end sub_81CDC60 - - thumb_func_start sub_81CDC70 -sub_81CDC70: @ 81CDC70 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r1, =0x00006428 - adds r0, r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDC70 - - thumb_func_start sub_81CDC84 -sub_81CDC84: @ 81CDC84 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r1, =0x00006786 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDC84 - - thumb_func_start sub_81CDC9C -sub_81CDC9C: @ 81CDC9C - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r1, =0x00006302 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDC9C - - thumb_func_start sub_81CDCB4 -sub_81CDCB4: @ 81CDCB4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xB - bl GetSubstructPtr - lsls r4, 13 - movs r1, 0xC0 - lsls r1, 2 - adds r4, r1 - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CDCB4 - - thumb_func_start sub_81CDCD4 -sub_81CDCD4: @ 81CDCD4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xB - bl GetSubstructPtr - lsls r4, 7 - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CDCD4 - - thumb_func_start sub_81CDCEC -sub_81CDCEC: @ 81CDCEC - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r1, =0x00006789 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDCEC - - thumb_func_start sub_81CDD04 -sub_81CDD04: @ 81CDD04 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xB - bl GetSubstructPtr - lsls r4, 6 - ldr r1, =0x00006368 - adds r4, r1 - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDD04 - - thumb_func_start sub_81CDD24 -sub_81CDD24: @ 81CDD24 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xB - bl GetSubstructPtr - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - ldr r2, =0x00006320 - adds r1, r2 - adds r0, r1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDD24 - - thumb_func_start sub_81CDD48 -sub_81CDD48: @ 81CDD48 - push {lr} - movs r0, 0x12 - bl GetSubstructPtr - ldrh r1, [r0, 0x2] - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - pop {r1} - bx r1 - thumb_func_end sub_81CDD48 - - thumb_func_start sub_81CDD5C -sub_81CDD5C: @ 81CDD5C - push {lr} - movs r0, 0xB - bl GetSubstructPtr - movs r1, 0xC6 - lsls r1, 7 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _081CDD74 - movs r0, 0 - b _081CDD76 -_081CDD74: - movs r0, 0x1 -_081CDD76: - pop {r1} - bx r1 - thumb_func_end sub_81CDD5C - - thumb_func_start sub_81CDD7C -sub_81CDD7C: @ 81CDD7C - push {lr} - movs r0, 0xB - bl GetSubstructPtr - adds r2, r0, 0 - movs r1, 0xC6 - lsls r1, 7 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _081CDD96 - movs r0, 0 - b _081CDDA6 -_081CDD96: - ldr r3, =0x00006786 - adds r0, r2, r3 - movs r1, 0 - ldrsb r1, [r0, r1] - subs r3, 0x3 - adds r0, r2, r3 - adds r0, r1 - ldrb r0, [r0] -_081CDDA6: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDD7C - - thumb_func_start sub_81CDDB0 -sub_81CDDB0: @ 81CDDB0 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r2, =0x00006786 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - subs r2, 0x6 - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDDB0 - - thumb_func_start sub_81CDDD4 -sub_81CDDD4: @ 81CDDD4 - push {r4,lr} - ldr r1, =0x000038ac - movs r0, 0xC - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CDE24 - ldr r0, =0x00001816 - adds r1, r4, r0 - movs r0, 0xFF - strb r0, [r1] - ldr r0, =sub_81CDE94 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4] - ldr r0, =0x00001810 - adds r1, r4, r0 - ldr r0, =sub_81CDE80 - str r0, [r1] - ldr r0, =0x00002908 - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _081CDE26 - .pool -_081CDE24: - movs r0, 0 -_081CDE26: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CDDD4 - - thumb_func_start sub_81CDE2C -sub_81CDE2C: @ 81CDE2C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_08623384 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r5] - ldr r0, =0x00001810 - adds r5, r0 - ldr r0, =sub_81CDE80 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CDE2C - - thumb_func_start sub_81CDE64 -sub_81CDE64: @ 81CDE64 - push {lr} - movs r0, 0xC - bl GetSubstructPtr - ldr r1, =0x00001810 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDE64 - - thumb_func_start sub_81CDE80 -sub_81CDE80: @ 81CDE80 - push {lr} - movs r0, 0xC - bl GetSubstructPtr - ldr r0, [r0] - bl IsLoopedTaskActive - pop {r1} - bx r1 - thumb_func_end sub_81CDE80 - - thumb_func_start sub_81CDE94 -sub_81CDE94: @ 81CDE94 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x14 - bls _081CDEA8 - b _081CE2C4 -_081CDEA8: - lsls r0, r4, 2 - ldr r1, =_081CDEB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CDEB8: - .4byte _081CDF0C - .4byte _081CDF18 - .4byte _081CDF94 - .4byte _081CDFB8 - .4byte _081CE030 - .4byte _081CE074 - .4byte _081CE0B0 - .4byte _081CE118 - .4byte _081CE120 - .4byte _081CE126 - .4byte _081CE136 - .4byte _081CE146 - .4byte _081CE156 - .4byte _081CE16C - .4byte _081CE1C8 - .4byte _081CE1EC - .4byte _081CE218 - .4byte _081CE23C - .4byte _081CE24A - .4byte _081CE25A - .4byte _081CE262 -_081CDF0C: - bl sub_81CD3C4 - cmp r0, 0x1 - beq _081CDF16 - b _081CE2C0 -_081CDF16: - b _081CDFB0 -_081CDF18: - ldr r0, =gUnknown_08623358 - movs r1, 0x3 - bl InitBgTemplates - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r1, =0x00007940 - movs r0, 0 - bl SetGpuReg - ldr r1, =0x00000844 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - ldr r1, =gPokenavCondition_Gfx - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - b _081CDFA8 - .pool -_081CDF94: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081CDFA2 - b _081CE2C0 -_081CDFA2: - ldr r1, =gUnknown_08623228 - str r0, [sp] - movs r0, 0x2 -_081CDFA8: - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081CDFB0: - movs r0, 0 - b _081CE2C6 - .pool -_081CDFB8: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081CDFC4 - b _081CE2C0 -_081CDFC4: - ldr r0, =gPokenavCondition_Tilemap - adds r4, r5, 0x4 - adds r1, r4, 0 - bl LZ77UnCompVram - movs r0, 0x3 - adds r1, r4, 0 - bl SetBgTilemapBuffer - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CDFF2 - ldr r1, =gPokenavOptions_Tilemap - movs r0, 0x9 - str r0, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r2, 0 - movs r3, 0x5 - bl CopyToBgTilemapBufferRect -_081CDFF2: - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, =gPokenavCondition_Pal - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =gUnknown_08623208 - movs r1, 0xF0 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =0x00001814 - adds r1, r5, r0 - ldr r0, =0x0000ffb0 - strh r0, [r1] - b _081CDFB0 - .pool -_081CE030: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081CE03C - b _081CE2C0 -_081CE03C: - ldr r0, =gUnknown_0862323C - ldr r1, =0x00001004 - adds r4, r5, r1 - adds r1, r4, 0 - bl LZ77UnCompVram - movs r0, 0x2 - adds r1, r4, 0 - bl SetBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_086231E8 - movs r1, 0x30 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x2 - bl sub_81D21DC - b _081CDFB0 - .pool -_081CE074: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8199DF0 - movs r0, 0x1 - movs r1, 0x11 - movs r2, 0x1 - movs r3, 0x1 - bl sub_8199DF0 - movs r0, 0 - str r0, [sp, 0x8] - ldr r2, =0x00000804 - adds r4, r5, r2 - ldr r2, =0x05000200 - add r0, sp, 0x8 - adds r1, r4, 0 - bl CpuSet - movs r0, 0x1 - adds r1, r4, 0 - bl SetBgTilemapBuffer - b _081CDFB0 - .pool -_081CE0B0: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081CE0BC - b _081CE2C0 -_081CE0BC: - ldr r0, =gUnknown_08623364 - bl AddWindow - movs r2, 0xC1 - lsls r2, 5 - adds r1, r5, r2 - strb r0, [r1] - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CE0F6 - ldr r0, =gUnknown_0862336C - bl AddWindow - ldr r2, =0x00001821 - adds r1, r5, r2 - strb r0, [r1] - ldr r0, =gUnknown_08623374 - bl AddWindow - ldr r2, =0x00001822 - adds r1, r5, r2 - strb r0, [r1] - ldr r0, =gUnknown_0862337C - bl AddWindow - ldr r2, =0x00001823 - adds r1, r5, r2 - strb r0, [r1] -_081CE0F6: - bl DeactivateAllTextPrinters - b _081CDFB0 - .pool -_081CE118: - movs r0, 0 - bl sub_81CED30 - b _081CDFB0 -_081CE120: - bl sub_81CE9E4 - b _081CDFB0 -_081CE126: - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE130 - b _081CDFB0 -_081CE130: - bl sub_81CE934 - b _081CDFB0 -_081CE136: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0 - b _081CE164 -_081CE146: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x1 - b _081CE164 -_081CE156: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x2 -_081CE164: - movs r2, 0x1 - bl sub_81CE754 - b _081CDFB0 -_081CE16C: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x3 - movs r2, 0x1 - bl sub_81CE754 - cmp r0, 0x1 - beq _081CE186 - b _081CE2C0 -_081CE186: - movs r1, 0xC1 - lsls r1, 5 - adds r0, r5, r1 - ldrb r0, [r0] - bl PutWindowTilemap - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE19C - b _081CDFB0 -_081CE19C: - ldr r2, =0x00001821 - adds r0, r5, r2 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r1, =0x00001822 - adds r0, r5, r1 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r2, =0x00001823 - adds r0, r5, r2 - ldrb r0, [r0] - bl PutWindowTilemap - b _081CDFB0 - .pool -_081CE1C8: - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl ShowBg - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE1E4 - b _081CDFB0 -_081CE1E4: - movs r0, 0x4 - bl sub_81C7BA4 - b _081CDFB0 -_081CE1EC: - movs r0, 0x1 - bl sub_81C7AC0 - bl sub_81CDD5C - cmp r0, 0 - beq _081CE1FC - b _081CDFB0 -_081CE1FC: - movs r0, 0x6 - bl LoadLeftHeaderGfxForIndex - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - movs r0, 0x6 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - b _081CDFB0 -_081CE218: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CE2C0 - bl sub_81CDD5C - cmp r0, 0 - bne _081CE230 - bl sub_81C8010 - cmp r0, 0 - bne _081CE2C0 -_081CE230: - ldr r0, =sub_81CEE44 - bl SetVBlankCallback_ - b _081CDFB0 - .pool -_081CE23C: - bl sub_81CEE90 - bl sub_81CDC70 - bl sub_81D20AC - b _081CDFB0 -_081CE24A: - bl sub_81CDC70 - bl sub_81D20BC - lsls r0, 24 - cmp r0, 0 - bne _081CE2C0 - b _081CDFB0 -_081CE25A: - movs r0, 0x1 - bl sub_81CEE74 - b _081CDFB0 -_081CE262: - bl sub_81CDC70 - ldr r2, =0x00001814 - adds r1, r5, r2 - bl sub_81D3178 - lsls r0, 24 - cmp r0, 0 - bne _081CE2C0 - ldr r0, =0x000028e0 - adds r6, r5, r0 - adds r0, r6, 0 - bl sub_81D3464 - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE298 - bl sub_81CDC60 - adds r4, r0, 0 - bl sub_81CDC50 - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - beq _081CE2C4 -_081CE298: - ldr r1, =0x00001816 - adds r0, r5, r1 - ldrb r4, [r0] - bl sub_81CDDB0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_81D3480 - b _081CE2C4 - .pool -_081CE2C0: - movs r0, 0x2 - b _081CE2C6 -_081CE2C4: - movs r0, 0x4 -_081CE2C6: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CDE94 - - thumb_func_start sub_81CE2D0 -sub_81CE2D0: @ 81CE2D0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CE308 - cmp r4, 0x1 - bgt _081CE2EA - cmp r4, 0 - beq _081CE2F4 - b _081CE374 -_081CE2EA: - cmp r4, 0x2 - beq _081CE328 - cmp r4, 0x3 - beq _081CE33E - b _081CE374 -_081CE2F4: - bl sub_81CEEC8 - ldr r1, =0x000028e0 - adds r0, r5, r1 - bl sub_81D3520 - movs r0, 0x1 - b _081CE376 - .pool -_081CE308: - bl sub_81CDC70 - ldr r2, =0x00001814 - adds r1, r5, r2 - bl sub_81D31A4 - lsls r0, 24 - cmp r0, 0 - bne _081CE34E - movs r0, 0 - bl sub_81CEE74 - movs r0, 0x1 - b _081CE376 - .pool -_081CE328: - movs r0, 0 - bl sub_81C7AC0 - bl sub_81CDD5C - cmp r0, 0 - bne _081CE33A - bl sub_81C78A0 -_081CE33A: - movs r0, 0 - b _081CE376 -_081CE33E: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CE34E - bl MainMenuLoopedTaskIsBusy - cmp r0, 0 - beq _081CE352 -_081CE34E: - movs r0, 0x2 - b _081CE376 -_081CE352: - ldr r1, =0x000028e0 - adds r0, r5, r1 - bl sub_81D354C - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl HideBg - movs r0, 0x1 - b _081CE376 - .pool -_081CE374: - movs r0, 0x4 -_081CE376: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CE2D0 - - thumb_func_start sub_81CE37C -sub_81CE37C: @ 81CE37C - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r6, r0, 0 - bl sub_81CDC70 - adds r2, r0, 0 - cmp r4, 0x9 - bls _081CE394 - b _081CE4D0 -_081CE394: - lsls r0, r4, 2 - ldr r1, =_081CE3A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CE3A4: - .4byte _081CE3CC - .4byte _081CE3D0 - .4byte _081CE3DA - .4byte _081CE3F0 - .4byte _081CE3F8 - .4byte _081CE418 - .4byte _081CE428 - .4byte _081CE438 - .4byte _081CE44E - .4byte _081CE468 -_081CE3CC: - movs r0, 0 - b _081CE3D2 -_081CE3D0: - movs r0, 0x1 -_081CE3D2: - bl sub_81CD548 -_081CE3D6: - movs r0, 0x1 - b _081CE4D2 -_081CE3DA: - movs r0, 0x2 - bl sub_81CD548 - ldr r1, =0x000028e0 - adds r0, r6, r1 - bl sub_81D3520 - b _081CE3D6 - .pool -_081CE3F0: - adds r0, r2, 0 - bl sub_81D2074 - b _081CE3D6 -_081CE3F8: - ldr r1, =0x00001814 - adds r0, r6, r1 - bl sub_81D3150 - lsls r0, 24 - cmp r0, 0 - bne _081CE4CC - bl sub_81CDC84 - lsls r0, 24 - lsrs r0, 24 - bl sub_81CED30 - b _081CE3D6 - .pool -_081CE418: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0 - b _081CE446 -_081CE428: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x1 - b _081CE446 -_081CE438: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x2 -_081CE446: - movs r2, 0 - bl sub_81CE754 - b _081CE3D6 -_081CE44E: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x3 - movs r2, 0 - bl sub_81CE754 - cmp r0, 0x1 - beq _081CE3D6 - b _081CE4CC -_081CE468: - bl sub_81CDC70 - adds r2, r0, 0 - ldr r0, =0x00001814 - adds r1, r6, r0 - adds r0, r2, 0 - bl sub_81D3178 - lsls r0, 24 - cmp r0, 0 - bne _081CE4CC - ldr r1, =0x000028e0 - adds r0, r6, r1 - bl sub_81D3464 - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE4A0 - bl sub_81CDC60 - adds r4, r0, 0 - bl sub_81CDC50 - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - beq _081CE3D6 -_081CE4A0: - ldr r0, =0x000028e0 - adds r5, r6, r0 - ldr r1, =0x00001816 - adds r0, r6, r1 - ldrb r4, [r0] - bl sub_81CDDB0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81D3480 - b _081CE3D6 - .pool -_081CE4CC: - movs r0, 0x2 - b _081CE4D2 -_081CE4D0: - movs r0, 0x4 -_081CE4D2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CE37C - - thumb_func_start sub_81CE4D8 -sub_81CE4D8: @ 81CE4D8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x8 - bhi _081CE5DC - lsls r0, r4, 2 - ldr r1, =_081CE4F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CE4F8: - .4byte _081CE51C - .4byte _081CE520 - .4byte _081CE524 - .4byte _081CE52E - .4byte _081CE53E - .4byte _081CE54E - .4byte _081CE55E - .4byte _081CE576 - .4byte _081CE592 -_081CE51C: - movs r0, 0 - b _081CE526 -_081CE520: - movs r0, 0x1 - b _081CE526 -_081CE524: - movs r0, 0x2 -_081CE526: - bl sub_81CD548 - movs r0, 0x1 - b _081CE5DE -_081CE52E: - bl sub_81CDC84 - lsls r0, 24 - lsrs r0, 24 - bl sub_81CED30 - movs r0, 0x1 - b _081CE5DE -_081CE53E: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0 - b _081CE56C -_081CE54E: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x1 - b _081CE56C -_081CE55E: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x2 -_081CE56C: - movs r2, 0 - bl sub_81CE754 - movs r0, 0x1 - b _081CE5DE -_081CE576: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x3 - movs r2, 0 - bl sub_81CE754 - cmp r0, 0x1 - bne _081CE5D8 - movs r0, 0x1 - b _081CE5DE -_081CE592: - bl sub_81CDC70 - ldr r2, =0x00001814 - adds r1, r5, r2 - bl sub_81D3178 - lsls r0, 24 - cmp r0, 0 - bne _081CE5D8 - ldr r0, =0x000028e0 - adds r4, r5, r0 - adds r0, r4, 0 - bl sub_81D3464 - ldr r1, =0x00001816 - adds r0, r5, r1 - ldrb r5, [r0] - bl sub_81CDDB0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81D3480 - movs r0, 0x1 - b _081CE5DE - .pool -_081CE5D8: - movs r0, 0x2 - b _081CE5DE -_081CE5DC: - movs r0, 0x4 -_081CE5DE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CE4D8 - - thumb_func_start sub_81CE5E4 -sub_81CE5E4: @ 81CE5E4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x7 - bhi _081CE6B2 - lsls r0, r4, 2 - ldr r1, =_081CE604 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CE604: - .4byte _081CE624 - .4byte _081CE628 - .4byte _081CE632 - .4byte _081CE648 - .4byte _081CE660 - .4byte _081CE670 - .4byte _081CE680 - .4byte _081CE696 -_081CE624: - movs r0, 0 - b _081CE62A -_081CE628: - movs r0, 0x1 -_081CE62A: - bl sub_81CD548 -_081CE62E: - movs r0, 0x1 - b _081CE6B4 -_081CE632: - movs r0, 0x2 - bl sub_81CD548 - ldr r1, =0x000028e0 - adds r0, r5, r1 - bl sub_81D3520 - b _081CE62E - .pool -_081CE648: - bl sub_81CDC70 - ldr r2, =0x00001814 - adds r1, r5, r2 - bl sub_81D31A4 - lsls r0, 24 - cmp r0, 0 - beq _081CE62E - b _081CE6AE - .pool -_081CE660: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0 - b _081CE68E -_081CE670: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x1 - b _081CE68E -_081CE680: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x2 -_081CE68E: - movs r2, 0 - bl sub_81CE754 - b _081CE62E -_081CE696: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x3 - movs r2, 0 - bl sub_81CE754 - cmp r0, 0x1 - beq _081CE62E -_081CE6AE: - movs r0, 0x2 - b _081CE6B4 -_081CE6B2: - movs r0, 0x4 -_081CE6B4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CE5E4 - - thumb_func_start sub_81CE6BC -sub_81CE6BC: @ 81CE6BC - push {lr} - cmp r0, 0x1 - beq _081CE6E6 - cmp r0, 0x1 - bgt _081CE6CC - cmp r0, 0 - beq _081CE6D2 - b _081CE6FA -_081CE6CC: - cmp r0, 0x2 - beq _081CE6EE - b _081CE6FA -_081CE6D2: - bl sub_81CDD7C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xB0 - movs r2, 0x20 - bl sub_811FAA4 -_081CE6E2: - movs r0, 0x1 - b _081CE6FC -_081CE6E6: - movs r0, 0x5 - bl sub_81C7BA4 - b _081CE6E2 -_081CE6EE: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0x1 - bne _081CE6E2 - movs r0, 0x2 - b _081CE6FC -_081CE6FA: - movs r0, 0x4 -_081CE6FC: - pop {r1} - bx r1 - thumb_func_end sub_81CE6BC - - thumb_func_start sub_81CE700 -sub_81CE700: @ 81CE700 - push {lr} - cmp r0, 0x1 - beq _081CE71E - cmp r0, 0x1 - bgt _081CE710 - cmp r0, 0 - beq _081CE716 - b _081CE732 -_081CE710: - cmp r0, 0x2 - beq _081CE726 - b _081CE732 -_081CE716: - bl sub_811FAF8 -_081CE71A: - movs r0, 0x1 - b _081CE734 -_081CE71E: - movs r0, 0x4 - bl sub_81C7BA4 - b _081CE71A -_081CE726: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0x1 - bne _081CE71A - movs r0, 0x2 - b _081CE734 -_081CE732: - movs r0, 0x4 -_081CE734: - pop {r1} - bx r1 - thumb_func_end sub_81CE700 - - thumb_func_start sub_81CE738 -sub_81CE738: @ 81CE738 - push {lr} - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_Number2 - bl StringCopy - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CE738 - - thumb_func_start sub_81CE754 -sub_81CE754: @ 81CE754 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0xC - bl GetSubstructPtr - adds r6, r0, 0 - cmp r4, 0x1 - beq _081CE7B8 - cmp r4, 0x1 - bgt _081CE782 - cmp r4, 0 - beq _081CE78E - b _081CE924 -_081CE782: - cmp r4, 0x2 - beq _081CE800 - cmp r4, 0x3 - bne _081CE78C - b _081CE89C -_081CE78C: - b _081CE924 -_081CE78E: - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE7A6 - b _081CE924 -_081CE7A6: - ldr r1, =0x00001821 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - b _081CE924 - .pool -_081CE7B8: - bl sub_81CDC60 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_81CDC50 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r4, r0 - bne _081CE7DA - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE7DA - b _081CE924 -_081CE7DA: - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_81CDD04 - adds r2, r0, 0 - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - str r7, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - b _081CE924 -_081CE800: - bl sub_81CDD5C - adds r7, r0, 0 - cmp r7, 0x1 - beq _081CE80C - b _081CE924 -_081CE80C: - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_81CDD24 - adds r2, r0, 0 - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x11 - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - add r1, sp, 0xC - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - movs r0, 0x8 - strb r0, [r1, 0x2] - adds r0, r1, 0 - strb r4, [r0, 0x3] - movs r0, 0x9 - strb r0, [r1, 0x4] - mov r5, sp - adds r5, 0x11 - ldr r1, =gText_Number2 - adds r0, r5, 0 - bl StringCopy - ldr r0, =0x00001821 - adds r6, r0 - ldrb r0, [r6] - str r7, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - movs r3, 0x4 - bl AddTextPrinterParameterized - bl sub_81CDD48 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldrb r0, [r6] - str r7, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - movs r3, 0x1C - bl AddTextPrinterParameterized - b _081CE924 - .pool -_081CE89C: - ldr r1, =0x00002908 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081CE8B0 - cmp r0, 0x1 - beq _081CE8EC - b _081CE924 - .pool -_081CE8B0: - cmp r5, 0 - beq _081CE8C4 - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - b _081CE8D2 -_081CE8C4: - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram -_081CE8D2: - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CE910 - ldr r0, =0x00002908 - adds r1, r6, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081CE924 - .pool -_081CE8EC: - cmp r5, 0 - beq _081CE904 - ldr r1, =0x00001821 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - b _081CE910 - .pool -_081CE904: - ldr r1, =0x00001821 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram -_081CE910: - ldr r0, =0x00002908 - adds r1, r6, r0 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _081CE926 - .pool -_081CE924: - movs r0, 0 -_081CE926: - add sp, 0x2C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CE754 - - thumb_func_start sub_81CE934 -sub_81CE934: @ 81CE934 - push {r4,lr} - movs r0, 0xC - bl GetSubstructPtr - adds r4, r0, 0 - ldr r1, =0x00001822 - adds r0, r4, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =0x00001823 - adds r4, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CE934 - - thumb_func_start sub_81CE964 -sub_81CE964: @ 81CE964 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - bl sub_81CDC60 - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - bne _081CE982 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - b _081CE98A -_081CE982: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_081CE98A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CE964 - - thumb_func_start sub_81CE990 -sub_81CE990: @ 81CE990 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_81CDC60 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_81CDC50 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r4, r0 - bne _081CE9B0 - movs r0, 0x65 - b _081CE9B2 -_081CE9B0: - movs r0, 0x66 -_081CE9B2: - bl IndexOfSpritePaletteTag - lsls r0, 4 - ldrb r2, [r5, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CE990 - - thumb_func_start sub_81CE9C8 -sub_81CE9C8: @ 81CE9C8 - push {r4,lr} - adds r4, r0, 0 - bl sub_81CDD7C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CE9C8 - - thumb_func_start sub_81CE9E4 -sub_81CE9E4: @ 81CE9E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - movs r0, 0xC - bl GetSubstructPtr - adds r6, r0, 0 - add r4, sp, 0x20 - add r5, sp, 0x38 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_81D321C - bl sub_81CDD5C - adds r7, r4, 0 - mov r10, r5 - cmp r0, 0x1 - bne _081CEA78 - ldr r1, =0x00001824 - adds r0, r6, r1 - movs r2, 0x6A - strh r2, [r0] - ldr r3, =0x00001826 - adds r1, r6, r3 - strh r2, [r1] - bl sub_811F90C - bl sub_811FA90 - ldr r2, =gUnknown_08623338 - movs r0, 0x69 - movs r1, 0x69 - bl sub_811FF94 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0xC0 - strh r1, [r0, 0x20] - movs r1, 0x20 - strh r1, [r0, 0x22] - ldr r1, =sub_81CE9C8 - str r1, [r0, 0x1C] - ldr r2, =0x000028dc - adds r1, r6, r2 - str r0, [r1] - movs r0, 0x69 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_81C7990 - add r3, sp, 0x50 - mov r8, r3 - b _081CEBC6 - .pool -_081CEA78: - mov r0, sp - bl LoadSpriteSheets - mov r0, r10 - bl Pokenav_AllocAndLoadPalettes - movs r4, 0 - add r0, sp, 0x50 - mov r8, r0 - b _081CEAE8 -_081CEA8C: - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 18 - movs r1, 0x80 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - adds r0, r7, 0 - movs r1, 0xE2 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _081CEAD8 - ldr r2, =0x00001806 - adds r0, r6, r2 - adds r0, r4 - strb r3, [r0] - ldr r2, =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r1, r0, r2 - strh r4, [r1, 0x2E] - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_81CE964 - str r1, [r0] - b _081CEAE2 - .pool -_081CEAD8: - ldr r3, =0x00001806 - adds r0, r6, r3 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] -_081CEAE2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_081CEAE8: - bl sub_81CDC50 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r4, r0 - blt _081CEA8C - movs r0, 0x67 - strh r0, [r7] - ldr r0, =SpriteCallbackDummy - str r0, [r7, 0x14] - cmp r4, 0x5 - bhi _081CEB5C - ldr r0, =0x00001806 - adds r5, r6, r0 - ldr r1, =gSprites - mov r9, r1 -_081CEB0A: - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 18 - movs r3, 0x80 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - adds r0, r7, 0 - movs r1, 0xE6 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _081CEB4C - adds r0, r5, r4 - strb r3, [r0] - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x3] - movs r0, 0x3F - ands r0, r2 - strb r0, [r1, 0x3] - b _081CEB52 - .pool -_081CEB4C: - adds r1, r5, r4 - movs r0, 0xFF - strb r0, [r1] -_081CEB52: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _081CEB0A -_081CEB5C: - movs r0, 0x66 - strh r0, [r7] - ldr r0, =sub_81CE990 - str r0, [r7, 0x14] - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 18 - movs r0, 0x80 - lsls r0, 12 - adds r2, r0 - asrs r2, 16 - adds r0, r7, 0 - movs r1, 0xDE - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _081CEBBC - ldr r1, =0x00001806 - adds r0, r6, r1 - adds r0, r4 - strb r3, [r0] - ldr r0, =gSprites - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - adds r2, r0 - ldrb r3, [r2, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r3 - movs r3, 0x40 - orrs r0, r3 - strb r0, [r2, 0x1] - ldrb r0, [r2, 0x3] - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2, 0x3] - b _081CEBC6 - .pool -_081CEBBC: - ldr r2, =0x00001806 - adds r0, r6, r2 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] -_081CEBC6: - mov r0, r8 - mov r1, r10 - bl sub_81D32B0 - mov r0, r8 - bl LoadSpriteSheet - movs r0, 0 - mov r3, r10 - str r0, [r3, 0x8] - mov r0, r10 - bl Pokenav_AllocAndLoadPalettes - add sp, 0x58 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CE9E4 - - thumb_func_start sub_81CEBF4 -sub_81CEBF4: @ 81CEBF4 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CEC28 - ldr r1, =0x000028dc - adds r0, r5, r1 - ldr r0, [r0] - bl DestroySprite - movs r0, 0x6A - bl FreeSpriteTilesByTag - movs r0, 0x69 - bl FreeSpriteTilesByTag - movs r0, 0x6A - bl FreeSpritePaletteByTag - movs r0, 0x69 - bl FreeSpritePaletteByTag - b _081CEC68 - .pool -_081CEC28: - movs r4, 0 -_081CEC2A: - ldr r1, =0x00001806 - adds r0, r5, r1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _081CEC2A - movs r0, 0x65 - bl FreeSpriteTilesByTag - movs r0, 0x66 - bl FreeSpriteTilesByTag - movs r0, 0x67 - bl FreeSpriteTilesByTag - movs r0, 0x65 - bl FreeSpritePaletteByTag - movs r0, 0x66 - bl FreeSpritePaletteByTag -_081CEC68: - ldr r0, =0x00001816 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081CEC8E - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - movs r0, 0x64 - bl FreeSpriteTilesByTag - movs r0, 0x64 - bl FreeSpritePaletteByTag -_081CEC8E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CEBF4 - - thumb_func_start sub_81CECA0 -sub_81CECA0: @ 81CECA0 - push {r4,lr} - movs r0, 0xC - bl GetSubstructPtr - adds r4, r0, 0 - movs r1, 0xC1 - lsls r1, 5 - adds r0, r4, r1 - ldrb r0, [r0] - bl RemoveWindow - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CECEC - ldr r1, =0x00001821 - adds r0, r4, r1 - ldrb r0, [r0] - bl RemoveWindow - ldr r1, =0x00001822 - adds r0, r4, r1 - ldrb r0, [r0] - bl RemoveWindow - ldr r1, =0x00001823 - adds r0, r4, r1 - ldrb r0, [r0] - bl RemoveWindow - b _081CECF0 - .pool -_081CECEC: - bl sub_81C7FDC -_081CECF0: - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - adds r0, r4, 0 - bl sub_81CEBF4 - bl sub_81CEE68 - movs r0, 0xC - bl FreePokenavSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CECA0 - - thumb_func_start sub_81CED10 -sub_81CED10: @ 81CED10 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - ldr r1, =0x00001814 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x26 - strh r0, [r4, 0x20] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CED10 - - thumb_func_start sub_81CED30 -sub_81CED30: @ 81CED30 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0xC - bl GetSubstructPtr - mov r8, r0 - ldr r7, =0x00001816 - add r7, r8 - ldrb r0, [r7] - cmp r0, 0xFF - bne _081CEDFC - add r5, sp, 0x18 - add r4, sp, 0x20 - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_81D31D0 - adds r0, r6, 0 - bl sub_81CDCB4 - str r0, [sp, 0x18] - adds r0, r6, 0 - bl sub_81CDCD4 - str r0, [sp, 0x20] - adds r0, r4, 0 - bl LoadSpritePalette - lsls r0, 24 - lsrs r0, 24 - ldr r4, =0x00001818 - add r4, r8 - strh r0, [r4] - adds r0, r5, 0 - bl LoadSpriteSheet - ldr r5, =0x0000181a - add r5, r8 - strh r0, [r5] - mov r0, sp - movs r1, 0x26 - movs r2, 0x68 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strb r0, [r7] - cmp r0, 0x40 - bne _081CEDBC - movs r0, 0x64 - bl FreeSpriteTilesByTag - movs r0, 0x64 - bl FreeSpritePaletteByTag - movs r0, 0xFF - strb r0, [r7] - b _081CEE26 - .pool -_081CEDBC: - strb r0, [r7] - ldr r2, =gSprites - ldrb r1, [r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_81CED10 - str r1, [r0] - ldr r1, =0x0000181c - add r1, r8 - ldrh r0, [r5] - lsls r0, 5 - ldr r2, =0x06010000 - adds r0, r2 - str r0, [r1] - ldrh r0, [r4] - lsls r0, 4 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4] - b _081CEE26 - .pool -_081CEDFC: - adds r0, r6, 0 - bl sub_81CDCB4 - ldr r1, =0x0000181c - add r1, r8 - ldr r2, [r1] - ldr r1, =0x040000d4 - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, =0x80000400 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r0, r6, 0 - bl sub_81CDCD4 - ldr r1, =0x00001818 - add r1, r8 - ldrh r1, [r1] - movs r2, 0x20 - bl LoadPalette -_081CEE26: - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CED30 - - thumb_func_start sub_81CEE44 -sub_81CEE44: @ 81CEE44 - push {r4,lr} - bl sub_81CDC70 - adds r4, r0, 0 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - adds r0, r4, 0 - bl sub_81D2108 - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CEE44 - - thumb_func_start sub_81CEE68 -sub_81CEE68: @ 81CEE68 - push {lr} - bl SetPokenavVBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_81CEE68 - - thumb_func_start sub_81CEE74 -sub_81CEE74: @ 81CEE74 - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _081CEE84 - movs r0, 0x2 - bl ShowBg - b _081CEE8A -_081CEE84: - movs r0, 0x2 - bl HideBg -_081CEE8A: - pop {r0} - bx r0 - thumb_func_end sub_81CEE74 - - thumb_func_start sub_81CEE90 -sub_81CEE90: @ 81CEE90 - push {r4,lr} - bl sub_81CDC70 - adds r4, r0, 0 - bl sub_81CDC84 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_030012BC - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x50 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 2 - adds r2, 0x14 - adds r2, r4, r2 - adds r0, r4, 0 - bl sub_81D1F84 - adds r0, r4, 0 - bl sub_81D2074 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CEE90 - - thumb_func_start sub_81CEEC8 -sub_81CEEC8: @ 81CEEC8 - push {r4,r5,lr} - bl sub_81CDC70 - adds r5, r0, 0 - bl sub_81CDD5C - cmp r0, 0 - bne _081CEEF0 - bl sub_81CDC60 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_81CDC50 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r4, r0 - beq _081CEF0C -_081CEEF0: - bl sub_81CDC84 - lsls r0, 24 - asrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, 0x14 - adds r1, r5, r1 - adds r2, r5, 0 - adds r2, 0x50 - adds r0, r5, 0 - bl sub_81D1F84 -_081CEF0C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CEEC8 - - thumb_func_start sub_81CEF14 -sub_81CEF14: @ 81CEF14 - push {r4,lr} - movs r0, 0xC - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CEF2A - movs r0, 0 - b _081CEF30 -_081CEF2A: - ldr r1, =0x00001828 - adds r0, r4, r1 - ldrb r0, [r0] -_081CEF30: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CEF14 - - thumb_func_start sub_81CEF3C -sub_81CEF3C: @ 81CEF3C - push {r4,lr} - movs r0, 0x7 - movs r1, 0x24 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CEF90 - ldr r1, =0x000006ac - movs r0, 0x12 - bl AllocSubstruct - str r0, [r4, 0x20] - cmp r0, 0 - beq _081CEF90 - ldr r0, =sub_81CF010 - str r0, [r4] - ldr r0, =sub_81CF11C - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - movs r0, 0 - str r0, [r4, 0x18] - bl sub_81C76AC - ldr r1, =gUnknown_086233A0 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r4, 0x14] - movs r0, 0x1 - b _081CEF92 - .pool -_081CEF90: - movs r0, 0 -_081CEF92: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CEF3C - - thumb_func_start sub_81CEF98 -sub_81CEF98: @ 81CEF98 - push {r4,lr} - movs r0, 0x7 - movs r1, 0x24 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CEFD4 - movs r0, 0x12 - bl GetSubstructPtr - str r0, [r4, 0x20] - ldr r0, =sub_81CF030 - str r0, [r4] - movs r0, 0x1 - str r0, [r4, 0x18] - bl sub_81C76AC - ldr r1, =gUnknown_086233A0 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r4, 0x14] - movs r0, 0x1 - b _081CEFD6 - .pool -_081CEFD4: - movs r0, 0 -_081CEFD6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CEF98 - - thumb_func_start sub_81CEFDC -sub_81CEFDC: @ 81CEFDC - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r1, [r0] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81CEFDC - - thumb_func_start sub_81CEFF0 -sub_81CEFF0: @ 81CEFF0 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x1C] - cmp r0, 0 - bne _081CF004 - movs r0, 0x12 - bl FreePokenavSubstruct -_081CF004: - movs r0, 0x7 - bl FreePokenavSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81CEFF0 - - thumb_func_start sub_81CF010 -sub_81CF010: @ 81CF010 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x4] - bl IsLoopedTaskActive - cmp r0, 0 - bne _081CF022 - ldr r0, =sub_81CF030 - str r0, [r4] -_081CF022: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CF010 - - thumb_func_start sub_81CF030 -sub_81CF030: @ 81CF030 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CF048 - movs r0, 0x1 - b _081CF0A6 - .pool -_081CF048: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CF054 - movs r0, 0x2 - b _081CF0A6 -_081CF054: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081CF062 - movs r0, 0x3 - b _081CF0A6 -_081CF062: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _081CF072 - movs r0, 0x4 - b _081CF0A6 -_081CF072: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081CF088 - str r2, [r4, 0x1C] - ldr r0, =sub_81CF0B0 - str r0, [r4] - movs r0, 0x5 - b _081CF0A6 - .pool -_081CF088: - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _081CF096 - movs r0, 0 - b _081CF0A6 -_081CF096: - bl GetSelectedMatchCall - ldr r1, [r4, 0x20] - strh r0, [r1, 0x2] - str r5, [r4, 0x1C] - ldr r0, =sub_81CF0B8 - str r0, [r4] - movs r0, 0x6 -_081CF0A6: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CF030 - - thumb_func_start sub_81CF0B0 -sub_81CF0B0: @ 81CF0B0 - ldr r0, =0x000186a3 - bx lr - .pool - thumb_func_end sub_81CF0B0 - - thumb_func_start sub_81CF0B8 -sub_81CF0B8: @ 81CF0B8 - ldr r0, =0x000186a9 - bx lr - .pool - thumb_func_end sub_81CF0B8 - - thumb_func_start sub_81CF0C0 -sub_81CF0C0: @ 81CF0C0 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x18] - pop {r1} - bx r1 - thumb_func_end sub_81CF0C0 - - thumb_func_start sub_81CF0D0 -sub_81CF0D0: @ 81CF0D0 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x20] - adds r0, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_81CF0D0 - - thumb_func_start sub_81CF0E0 -sub_81CF0E0: @ 81CF0E0 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x20] - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81CF0E0 - - thumb_func_start sub_81CF0F0 -sub_81CF0F0: @ 81CF0F0 - push {r4,lr} - movs r0, 0x7 - bl GetSubstructPtr - adds r4, r0, 0 - bl GetSelectedMatchCall - ldr r1, [r4, 0x20] - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CF0F0 - - thumb_func_start sub_81CF10C -sub_81CF10C: @ 81CF10C - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x20] - ldrh r0, [r0, 0x2] - pop {r1} - bx r1 - thumb_func_end sub_81CF10C - - thumb_func_start sub_81CF11C -sub_81CF11C: @ 81CF11C - push {lr} - ldr r2, =gUnknown_086233B4 - lsls r1, r0, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CF11C - - thumb_func_start sub_81CF134 -sub_81CF134: @ 81CF134 - push {r4-r6,lr} - sub sp, 0x4 - movs r0, 0x7 - bl GetSubstructPtr - adds r6, r0, 0 - ldr r0, [r6, 0x20] - movs r1, 0 - strh r1, [r0] - ldr r0, [r6, 0x20] - strh r1, [r0, 0x2] - ldr r1, =0xffffff00 - ldr r0, [sp] - ands r0, r1 - movs r1, 0xE - orrs r0, r1 - str r0, [sp] - movs r5, 0 -_081CF158: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _081CF1AA - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _081CF1A4 - lsls r1, r5, 24 - lsrs r1, 16 - ldr r2, =0xffff00ff - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldr r1, [r6, 0x14] - adds r0, r4, 0 - bl GetMonData - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - adds r0, r6, 0 - mov r1, sp - bl sub_81CF2C4 -_081CF1A4: - adds r5, 0x1 - cmp r5, 0x5 - ble _081CF158 -_081CF1AA: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CF134 - - thumb_func_start sub_81CF1C4 -sub_81CF1C4: @ 81CF1C4 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - movs r1, 0 - str r1, [r0, 0x10] - str r1, [r0, 0xC] - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_81CF1C4 - - thumb_func_start sub_81CF1D8 -sub_81CF1D8: @ 81CF1D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0x7 - bl GetSubstructPtr - adds r6, r0, 0 - ldr r5, [r6, 0xC] - ldr r4, [r6, 0x10] - movs r0, 0 - mov r8, r0 - cmp r5, 0xD - bgt _081CF268 -_081CF1F4: - cmp r4, 0x1D - bgt _081CF260 - lsls r0, r5, 24 - lsrs r7, r0, 24 -_081CF1FC: - adds r0, r5, 0 - adds r1, r4, 0 - bl CheckBoxMonSanityAt - cmp r0, 0 - beq _081CF23A - ldr r1, =0xffffff00 - ldr r0, [sp] - ands r0, r1 - orrs r0, r7 - lsls r1, r4, 24 - lsrs r1, 24 - lsls r3, r1, 8 - ldr r2, =0xffff00ff - ands r0, r2 - orrs r0, r3 - str r0, [sp] - ldr r2, [r6, 0x14] - adds r0, r7, 0 - bl GetBoxMonDataAt - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - adds r0, r6, 0 - mov r1, sp - bl sub_81CF2C4 -_081CF23A: - movs r0, 0x1 - add r8, r0 - adds r4, 0x1 - mov r0, r8 - cmp r0, 0xE - ble _081CF25C - str r5, [r6, 0xC] - str r4, [r6, 0x10] - movs r0, 0x3 - b _081CF26A - .pool -_081CF25C: - cmp r4, 0x1D - ble _081CF1FC -_081CF260: - movs r4, 0 - adds r5, 0x1 - cmp r5, 0xD - ble _081CF1F4 -_081CF268: - movs r0, 0x1 -_081CF26A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CF1D8 - - thumb_func_start sub_81CF278 -sub_81CF278: @ 81CF278 - push {r4-r6,lr} - movs r0, 0x7 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, [r5, 0x20] - ldrh r6, [r0] - ldrh r4, [r0, 0x6] - movs r1, 0x1 - strh r1, [r0, 0x6] - movs r3, 0x1 - cmp r3, r6 - bge _081CF2B8 -_081CF292: - ldr r2, [r5, 0x20] - lsls r0, r3, 2 - adds r1, r2, r0 - ldrh r0, [r1, 0x6] - cmp r0, r4 - bne _081CF2AC - subs r0, r3, 0x1 - lsls r0, 2 - adds r0, r2, r0 - ldrh r0, [r0, 0x6] - strh r0, [r1, 0x6] - adds r0, r3, 0x1 - b _081CF2B2 -_081CF2AC: - adds r4, r0, 0 - adds r0, r3, 0x1 - strh r0, [r1, 0x6] -_081CF2B2: - adds r3, r0, 0 - cmp r3, r6 - blt _081CF292 -_081CF2B8: - movs r0, 0x1 - str r0, [r5, 0x18] - movs r0, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CF278 - - thumb_func_start sub_81CF2C4 -sub_81CF2C4: @ 81CF2C4 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - movs r1, 0 - ldr r0, [r5, 0x20] - ldrh r2, [r0] - lsrs r3, r2, 1 - cmp r2, r3 - beq _081CF2F4 - adds r6, r0, 0 - ldrh r4, [r7, 0x2] -_081CF2DA: - lsls r0, r3, 2 - adds r0, r6, r0 - ldrh r0, [r0, 0x6] - cmp r4, r0 - bls _081CF2E8 - adds r2, r3, 0 - b _081CF2EA -_081CF2E8: - adds r1, r3, 0x1 -_081CF2EA: - subs r0, r2, r1 - lsrs r0, 1 - adds r3, r1, r0 - cmp r2, r3 - bne _081CF2DA -_081CF2F4: - ldr r0, [r5, 0x20] - ldrh r2, [r0] - lsls r6, r3, 2 - cmp r2, r3 - bls _081CF318 - lsls r0, r2, 2 - subs r4, r0, 0x4 -_081CF302: - ldr r0, [r5, 0x20] - lsls r1, r2, 2 - adds r0, 0x4 - adds r1, r0, r1 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - subs r4, 0x4 - subs r2, 0x1 - cmp r2, r3 - bhi _081CF302 -_081CF318: - ldr r0, [r5, 0x20] - adds r0, 0x4 - adds r0, r6 - ldr r1, [r7] - str r1, [r0] - ldr r1, [r5, 0x20] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CF2C4 - - thumb_func_start sub_81CF330 -sub_81CF330: @ 81CF330 - push {r4,lr} - movs r1, 0x81 - lsls r1, 4 - movs r0, 0x8 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CF360 - ldr r0, =sub_81CF418 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - ldr r0, =sub_81CF3E4 - str r0, [r4] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081CF362 - .pool -_081CF360: - movs r0, 0 -_081CF362: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CF330 - - thumb_func_start sub_81CF368 -sub_81CF368: @ 81CF368 - push {r4,lr} - movs r1, 0x81 - lsls r1, 4 - movs r0, 0x8 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CF398 - ldr r0, =sub_81CF418 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - ldr r0, =sub_81CF3E4 - str r0, [r4] - movs r0, 0x1 - str r0, [r4, 0xC] - b _081CF39A - .pool -_081CF398: - movs r0, 0 -_081CF39A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CF368 - - thumb_func_start sub_81CF3A0 -sub_81CF3A0: @ 81CF3A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_08623598 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r5, 0x4] - ldr r0, =sub_81CF3E4 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF3A0 - - thumb_func_start sub_81CF3D0 -sub_81CF3D0: @ 81CF3D0 - push {lr} - movs r0, 0x8 - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81CF3D0 - - thumb_func_start sub_81CF3E4 -sub_81CF3E4: @ 81CF3E4 - push {lr} - movs r0, 0x8 - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl IsLoopedTaskActive - pop {r1} - bx r1 - thumb_func_end sub_81CF3E4 - - thumb_func_start sub_81CF3F8 -sub_81CF3F8: @ 81CF3F8 - push {r4,lr} - movs r0, 0x8 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C8234 - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0x8 - bl FreePokenavSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CF3F8 - - thumb_func_start sub_81CF418 -sub_81CF418: @ 81CF418 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x5 - bls _081CF42C - b _081CF56E -_081CF42C: - lsls r0, r4, 2 - ldr r1, =_081CF43C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CF43C: - .4byte _081CF454 - .4byte _081CF4AC - .4byte _081CF4C0 - .4byte _081CF4E0 - .4byte _081CF4F6 - .4byte _081CF55A -_081CF454: - ldr r0, =gUnknown_08623590 - movs r1, 0x2 - bl InitBgTemplates - ldr r1, =gUnknown_086233E4 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r1, r5, 0 - adds r1, 0x10 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_086234AC - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_086233C4 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 - bl CopyBgTilemapBufferToVram -_081CF498: - movs r0, 0 - b _081CF570 - .pool -_081CF4AC: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CF56A - bl sub_81CF0C0 - cmp r0, 0 - beq _081CF56A - b _081CF498 -_081CF4C0: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CF56A - ldr r0, =gUnknown_08623570 - movs r1, 0x20 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - bl sub_81CF88C - b _081CF498 - .pool -_081CF4E0: - bl sub_81C8224 - cmp r0, 0 - bne _081CF56A - adds r0, r5, 0 - bl sub_81CF7C8 - movs r0, 0x3 - bl sub_81C7BA4 - b _081CF498 -_081CF4F6: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CF56A - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl HideBg - ldr r0, [r5, 0xC] - cmp r0, 0 - bne _081CF552 - bl sub_81C76AC - adds r4, r0, 0 - adds r4, 0x8 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl LoadLeftHeaderGfxForIndex - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 -_081CF552: - movs r0, 0x1 - bl sub_81C7AC0 - b _081CF498 -_081CF55A: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CF56A - bl sub_81C8010 - cmp r0, 0 - beq _081CF56E -_081CF56A: - movs r0, 0x2 - b _081CF570 -_081CF56E: - movs r0, 0x4 -_081CF570: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF418 - - thumb_func_start sub_81CF578 -sub_81CF578: @ 81CF578 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CF5C6 - cmp r4, 0x1 - bgt _081CF592 - cmp r4, 0 - beq _081CF59C - b _081CF5E6 -_081CF592: - cmp r4, 0x2 - beq _081CF5CE - cmp r4, 0x3 - beq _081CF5D8 - b _081CF5E6 -_081CF59C: - bl MatchCall_MoveCursorUp - cmp r0, 0x1 - beq _081CF5B4 - cmp r0, 0x1 - bgt _081CF5AE - cmp r0, 0 - beq _081CF5E6 - b _081CF5D4 -_081CF5AE: - cmp r0, 0x2 - beq _081CF5BE - b _081CF5D4 -_081CF5B4: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CF5E8 -_081CF5BE: - movs r0, 0x5 - bl PlaySE - b _081CF5D4 -_081CF5C6: - bl sub_81C8630 - cmp r0, 0 - bne _081CF5E2 -_081CF5CE: - adds r0, r5, 0 - bl sub_81CF7F4 -_081CF5D4: - movs r0, 0 - b _081CF5E8 -_081CF5D8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CF5E6 -_081CF5E2: - movs r0, 0x2 - b _081CF5E8 -_081CF5E6: - movs r0, 0x4 -_081CF5E8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF578 - - thumb_func_start sub_81CF5F0 -sub_81CF5F0: @ 81CF5F0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CF63E - cmp r4, 0x1 - bgt _081CF60A - cmp r4, 0 - beq _081CF614 - b _081CF65E -_081CF60A: - cmp r4, 0x2 - beq _081CF646 - cmp r4, 0x3 - beq _081CF650 - b _081CF65E -_081CF614: - bl MatchCall_MoveCursorDown - cmp r0, 0x1 - beq _081CF62C - cmp r0, 0x1 - bgt _081CF626 - cmp r0, 0 - beq _081CF65E - b _081CF64C -_081CF626: - cmp r0, 0x2 - beq _081CF636 - b _081CF64C -_081CF62C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CF660 -_081CF636: - movs r0, 0x5 - bl PlaySE - b _081CF64C -_081CF63E: - bl sub_81C8630 - cmp r0, 0 - bne _081CF65A -_081CF646: - adds r0, r5, 0 - bl sub_81CF7F4 -_081CF64C: - movs r0, 0 - b _081CF660 -_081CF650: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CF65E -_081CF65A: - movs r0, 0x2 - b _081CF660 -_081CF65E: - movs r0, 0x4 -_081CF660: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF5F0 - - thumb_func_start sub_81CF668 -sub_81CF668: @ 81CF668 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CF6B6 - cmp r4, 0x1 - bgt _081CF682 - cmp r4, 0 - beq _081CF68C - b _081CF6D6 -_081CF682: - cmp r4, 0x2 - beq _081CF6BE - cmp r4, 0x3 - beq _081CF6C8 - b _081CF6D6 -_081CF68C: - bl MatchCall_PageUp - cmp r0, 0x1 - beq _081CF6A4 - cmp r0, 0x1 - bgt _081CF69E - cmp r0, 0 - beq _081CF6D6 - b _081CF6C4 -_081CF69E: - cmp r0, 0x2 - beq _081CF6AE - b _081CF6C4 -_081CF6A4: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CF6D8 -_081CF6AE: - movs r0, 0x5 - bl PlaySE - b _081CF6C4 -_081CF6B6: - bl sub_81C8630 - cmp r0, 0 - bne _081CF6D2 -_081CF6BE: - adds r0, r5, 0 - bl sub_81CF7F4 -_081CF6C4: - movs r0, 0 - b _081CF6D8 -_081CF6C8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CF6D6 -_081CF6D2: - movs r0, 0x2 - b _081CF6D8 -_081CF6D6: - movs r0, 0x4 -_081CF6D8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF668 - - thumb_func_start sub_81CF6E0 -sub_81CF6E0: @ 81CF6E0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CF72E - cmp r4, 0x1 - bgt _081CF6FA - cmp r4, 0 - beq _081CF704 - b _081CF74E -_081CF6FA: - cmp r4, 0x2 - beq _081CF736 - cmp r4, 0x3 - beq _081CF740 - b _081CF74E -_081CF704: - bl MatchCall_PageDown - cmp r0, 0x1 - beq _081CF71C - cmp r0, 0x1 - bgt _081CF716 - cmp r0, 0 - beq _081CF74E - b _081CF73C -_081CF716: - cmp r0, 0x2 - beq _081CF726 - b _081CF73C -_081CF71C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CF750 -_081CF726: - movs r0, 0x5 - bl PlaySE - b _081CF73C -_081CF72E: - bl sub_81C8630 - cmp r0, 0 - bne _081CF74A -_081CF736: - adds r0, r5, 0 - bl sub_81CF7F4 -_081CF73C: - movs r0, 0 - b _081CF750 -_081CF740: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CF74E -_081CF74A: - movs r0, 0x2 - b _081CF750 -_081CF74E: - movs r0, 0x4 -_081CF750: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF6E0 - - thumb_func_start sub_81CF758 -sub_81CF758: @ 81CF758 - push {lr} - cmp r0, 0 - beq _081CF764 - cmp r0, 0x1 - beq _081CF778 - b _081CF790 -_081CF764: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - bl sub_81C78A0 - movs r0, 0 - b _081CF792 -_081CF778: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CF788 - bl MainMenuLoopedTaskIsBusy - cmp r0, 0 - beq _081CF78C -_081CF788: - movs r0, 0x2 - b _081CF792 -_081CF78C: - bl sub_81C7FDC -_081CF790: - movs r0, 0x4 -_081CF792: - pop {r1} - bx r1 - thumb_func_end sub_81CF758 - - thumb_func_start sub_81CF798 -sub_81CF798: @ 81CF798 - push {lr} - cmp r0, 0 - beq _081CF7A4 - cmp r0, 0x1 - beq _081CF7B4 - b _081CF7C0 -_081CF7A4: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081CF7C2 -_081CF7B4: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081CF7C0 - movs r0, 0x2 - b _081CF7C2 -_081CF7C0: - movs r0, 0x4 -_081CF7C2: - pop {r1} - bx r1 - thumb_func_end sub_81CF798 - - thumb_func_start sub_81CF7C8 -sub_81CF7C8: @ 81CF7C8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_086235B4 - bl AddWindow - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r0, [r4, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - adds r0, r4, 0 - bl sub_81CF7F4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF7C8 - - thumb_func_start sub_81CF7F4 -sub_81CF7F4: @ 81CF7F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - bl sub_81CF0F0 - adds r7, r0, 0 - bl DynamicPlaceholderTextUtil_Reset - ldr r4, =gStringVar1 - movs r0, 0 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r0, 0xFF - strb r0, [r4] - ldr r5, =gStringVar2 - ldr r1, =gText_NumberF700 - adds r0, r5, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - mov r1, r8 - ldrb r0, [r1, 0x8] - movs r1, 0x1 - mov r10, r1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r1, r8 - ldrb r0, [r1, 0x8] - mov r1, r10 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x22 - bl AddTextPrinterParameterized - mov r1, r8 - ldrb r0, [r1, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF7F4 - - thumb_func_start sub_81CF88C -sub_81CF88C: @ 81CF88C - push {r4,lr} - sub sp, 0x18 - bl sub_81CF0D0 - str r0, [sp] - bl sub_81CF0E0 - mov r1, sp - movs r4, 0 - strh r0, [r1, 0x4] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_81CF10C - mov r1, sp - strh r0, [r1, 0x6] - movs r0, 0xD - strb r0, [r1, 0x9] - movs r0, 0x11 - strb r0, [r1, 0xA] - mov r0, sp - movs r2, 0x1 - strb r2, [r0, 0xB] - movs r0, 0x8 - strb r0, [r1, 0xC] - movs r0, 0x2 - strb r0, [r1, 0xD] - mov r0, sp - strb r2, [r0, 0xE] - ldr r0, =sub_81CF8E4 - str r0, [sp, 0x10] - str r4, [sp, 0x14] - ldr r0, =gUnknown_08623594 - movs r2, 0 - bl sub_81C81D4 - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF88C - - thumb_func_start sub_81CF8E4 -sub_81CF8E4: @ 81CF8E4 - push {r4-r7,lr} - adds r2, r0, 0 - adds r6, r1, 0 - ldrb r0, [r2] - cmp r0, 0xE - bne _081CF924 - ldrb r1, [r2, 0x1] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl GetLevelFromMonExp - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl GetMonData - b _081CF94A - .pool -_081CF924: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl GetBoxMonData -_081CF94A: - ldr r4, =gStringVar3 - adds r0, r4, 0 - bl StringGetEnd10 - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x3C - bl sub_81DB494 - adds r6, r0, 0 - cmp r5, 0 - beq _081CF974 - cmp r5, 0xFE - beq _081CF97C - ldr r1, =gUnknown_086235D4 - b _081CF97E - .pool -_081CF974: - ldr r1, =gUnknown_086235BC - b _081CF97E - .pool -_081CF97C: - ldr r1, =gUnknown_086235C8 -_081CF97E: - ldr r4, =gStringVar1 - adds r0, r4, 0 - bl StringCopy - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - movs r1, 0xF9 - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x5 - strb r1, [r0] - adds r0, 0x1 - adds r1, r7, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x28 - bl sub_81DB494 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF8E4 - - thumb_func_start sub_81CF9BC -sub_81CF9BC: @ 81CF9BC - push {r4,lr} - movs r0, 0x9 - movs r1, 0x20 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CF9FC - ldr r1, =0x000006ac - movs r0, 0x12 - bl AllocSubstruct - str r0, [r4, 0x1C] - cmp r0, 0 - beq _081CF9FC - ldr r0, =sub_81CFA68 - str r0, [r4] - ldr r0, =sub_81CFB74 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - movs r0, 0 - str r0, [r4, 0x14] - movs r0, 0x1 - b _081CF9FE - .pool -_081CF9FC: - movs r0, 0 -_081CF9FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CF9BC - - thumb_func_start sub_81CFA04 -sub_81CFA04: @ 81CFA04 - push {r4,lr} - movs r0, 0x9 - movs r1, 0x20 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CFA2C - movs r0, 0x12 - bl GetSubstructPtr - str r0, [r4, 0x1C] - ldr r0, =sub_81CFA88 - str r0, [r4] - movs r0, 0x1 - str r0, [r4, 0x14] - b _081CFA2E - .pool -_081CFA2C: - movs r0, 0 -_081CFA2E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CFA04 - - thumb_func_start sub_81CFA34 -sub_81CFA34: @ 81CFA34 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r1, [r0] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81CFA34 - - thumb_func_start sub_81CFA48 -sub_81CFA48: @ 81CFA48 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x18] - cmp r0, 0 - bne _081CFA5C - movs r0, 0x12 - bl FreePokenavSubstruct -_081CFA5C: - movs r0, 0x9 - bl FreePokenavSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81CFA48 - - thumb_func_start sub_81CFA68 -sub_81CFA68: @ 81CFA68 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x4] - bl IsLoopedTaskActive - cmp r0, 0 - bne _081CFA7A - ldr r0, =sub_81CFA88 - str r0, [r4] -_081CFA7A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CFA68 - - thumb_func_start sub_81CFA88 -sub_81CFA88: @ 81CFA88 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CFAA0 - movs r0, 0x1 - b _081CFAFE - .pool -_081CFAA0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CFAAC - movs r0, 0x2 - b _081CFAFE -_081CFAAC: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081CFABA - movs r0, 0x3 - b _081CFAFE -_081CFABA: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _081CFACA - movs r0, 0x4 - b _081CFAFE -_081CFACA: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081CFAE0 - str r2, [r4, 0x18] - ldr r0, =sub_81CFB08 - str r0, [r4] - movs r0, 0x5 - b _081CFAFE - .pool -_081CFAE0: - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _081CFAEE - movs r0, 0 - b _081CFAFE -_081CFAEE: - bl GetSelectedMatchCall - ldr r1, [r4, 0x1C] - strh r0, [r1, 0x2] - str r5, [r4, 0x18] - ldr r0, =sub_81CFB10 - str r0, [r4] - movs r0, 0x6 -_081CFAFE: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CFA88 - - thumb_func_start sub_81CFB08 -sub_81CFB08: @ 81CFB08 - ldr r0, =0x000186a5 - bx lr - .pool - thumb_func_end sub_81CFB08 - - thumb_func_start sub_81CFB10 -sub_81CFB10: @ 81CFB10 - ldr r0, =0x000186ad - bx lr - .pool - thumb_func_end sub_81CFB10 - - thumb_func_start sub_81CFB18 -sub_81CFB18: @ 81CFB18 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x14] - pop {r1} - bx r1 - thumb_func_end sub_81CFB18 - - thumb_func_start sub_81CFB28 -sub_81CFB28: @ 81CFB28 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x1C] - adds r0, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_81CFB28 - - thumb_func_start sub_81CFB38 -sub_81CFB38: @ 81CFB38 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x1C] - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81CFB38 - - thumb_func_start sub_81CFB48 -sub_81CFB48: @ 81CFB48 - push {r4,lr} - movs r0, 0x9 - bl GetSubstructPtr - adds r4, r0, 0 - bl GetSelectedMatchCall - ldr r1, [r4, 0x1C] - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CFB48 - - thumb_func_start sub_81CFB64 -sub_81CFB64: @ 81CFB64 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x1C] - ldrh r0, [r0, 0x2] - pop {r1} - bx r1 - thumb_func_end sub_81CFB64 - - thumb_func_start sub_81CFB74 -sub_81CFB74: @ 81CFB74 - push {lr} - ldr r2, =gUnknown_086235D8 - lsls r1, r0, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CFB74 - - thumb_func_start sub_81CFB8C -sub_81CFB8C: @ 81CFB8C - push {r4-r6,lr} - sub sp, 0x4 - movs r0, 0x9 - bl GetSubstructPtr - adds r6, r0, 0 - ldr r0, [r6, 0x1C] - movs r1, 0 - strh r1, [r0] - ldr r0, [r6, 0x1C] - strh r1, [r0, 0x2] - ldr r1, =0xffffff00 - ldr r0, [sp] - ands r0, r1 - movs r1, 0xE - orrs r0, r1 - str r0, [sp] - movs r5, 0 -_081CFBB0: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _081CFC10 - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _081CFC0A - adds r0, r4, 0 - movs r1, 0x4 - bl GetMonData - cmp r0, 0 - bne _081CFC0A - adds r0, r4, 0 - movs r1, 0x52 - bl GetMonData - adds r3, r0, 0 - cmp r3, 0 - beq _081CFC0A - lsls r1, r5, 24 - lsrs r1, 16 - ldr r2, =0xffff00ff - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - lsls r2, r3, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp] - adds r0, r6, 0 - mov r1, sp - bl sub_81CFCEC -_081CFC0A: - adds r5, 0x1 - cmp r5, 0x5 - ble _081CFBB0 -_081CFC10: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CFB8C - - thumb_func_start sub_81CFC2C -sub_81CFC2C: @ 81CFC2C - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - movs r1, 0 - str r1, [r0, 0x10] - str r1, [r0, 0xC] - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_81CFC2C - - thumb_func_start sub_81CFC40 -sub_81CFC40: @ 81CFC40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0x9 - bl GetSubstructPtr - mov r8, r0 - ldr r7, [r0, 0xC] - ldr r6, [r0, 0x10] - movs r0, 0 - mov r9, r0 - cmp r7, 0xD - bgt _081CFCD4 - b _081CFCC8 -_081CFC60: - adds r0, r7, 0 - adds r1, r6, 0 - bl CheckBoxMonSanityAt - cmp r0, 0 - beq _081CFCA6 - lsls r0, r7, 24 - lsrs r5, r0, 24 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x52 - bl GetBoxMonDataAt - adds r3, r0, 0 - cmp r3, 0 - beq _081CFCA6 - ldr r1, =0xffffff00 - ldr r0, [sp] - ands r0, r1 - orrs r0, r5 - lsls r2, r4, 8 - ldr r1, =0xffff00ff - ands r0, r1 - orrs r0, r2 - lsls r2, r3, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp] - mov r0, r8 - mov r1, sp - bl sub_81CFCEC -_081CFCA6: - movs r1, 0x1 - add r9, r1 - adds r6, 0x1 - mov r0, r9 - cmp r0, 0xE - ble _081CFCC8 - mov r1, r8 - str r7, [r1, 0xC] - str r6, [r1, 0x10] - movs r0, 0x3 - b _081CFCDC - .pool -_081CFCC8: - cmp r6, 0x1D - ble _081CFC60 - movs r6, 0 - adds r7, 0x1 - cmp r7, 0xD - ble _081CFCC8 -_081CFCD4: - movs r0, 0x1 - mov r1, r8 - str r0, [r1, 0x14] - movs r0, 0x4 -_081CFCDC: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CFC40 - - thumb_func_start sub_81CFCEC -sub_81CFCEC: @ 81CFCEC - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - movs r1, 0 - ldr r0, [r5, 0x1C] - ldrh r2, [r0] - lsrs r3, r2, 1 - cmp r2, r3 - beq _081CFD1C - adds r6, r0, 0 - ldrh r4, [r7, 0x2] -_081CFD02: - lsls r0, r3, 2 - adds r0, r6, r0 - ldrh r0, [r0, 0x6] - cmp r4, r0 - bls _081CFD10 - adds r2, r3, 0 - b _081CFD12 -_081CFD10: - adds r1, r3, 0x1 -_081CFD12: - subs r0, r2, r1 - lsrs r0, 1 - adds r3, r1, r0 - cmp r2, r3 - bne _081CFD02 -_081CFD1C: - ldr r0, [r5, 0x1C] - ldrh r2, [r0] - lsls r6, r3, 2 - cmp r2, r3 - bls _081CFD40 - lsls r0, r2, 2 - subs r4, r0, 0x4 -_081CFD2A: - ldr r0, [r5, 0x1C] - lsls r1, r2, 2 - adds r0, 0x4 - adds r1, r0, r1 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - subs r4, 0x4 - subs r2, 0x1 - cmp r2, r3 - bhi _081CFD2A -_081CFD40: - ldr r0, [r5, 0x1C] - adds r0, 0x4 - adds r0, r6 - ldr r1, [r7] - str r1, [r0] - ldr r1, [r5, 0x1C] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CFCEC - - thumb_func_start sub_81CFD58 -sub_81CFD58: @ 81CFD58 - push {r4-r6,lr} - movs r5, 0 -_081CFD5C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _081CFD8A - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _081CFD8A - adds r0, r4, 0 - movs r1, 0x53 - bl GetMonData - cmp r0, 0 - bne _081CFDB2 -_081CFD8A: - adds r5, 0x1 - cmp r5, 0x5 - ble _081CFD5C - movs r5, 0 -_081CFD92: - movs r4, 0 - lsls r6, r5, 24 -_081CFD96: - adds r0, r5, 0 - adds r1, r4, 0 - bl CheckBoxMonSanityAt - cmp r0, 0 - beq _081CFDBC - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - movs r2, 0x53 - bl GetBoxMonDataAt - cmp r0, 0 - beq _081CFDBC -_081CFDB2: - movs r0, 0x1 - b _081CFDCA - .pool -_081CFDBC: - adds r4, 0x1 - cmp r4, 0x1D - ble _081CFD96 - adds r5, 0x1 - cmp r5, 0xD - ble _081CFD92 - movs r0, 0 -_081CFDCA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CFD58 - - thumb_func_start sub_81CFDD0 -sub_81CFDD0: @ 81CFDD0 - push {r4,lr} - movs r1, 0x81 - lsls r1, 4 - movs r0, 0xA - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CFE00 - ldr r0, =sub_81CFEB8 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - ldr r0, =sub_81CFE84 - str r0, [r4] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081CFE02 - .pool -_081CFE00: - movs r0, 0 -_081CFE02: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CFDD0 - - thumb_func_start sub_81CFE08 -sub_81CFE08: @ 81CFE08 - push {r4,lr} - movs r1, 0x81 - lsls r1, 4 - movs r0, 0xA - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CFE38 - ldr r0, =sub_81CFEB8 - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - ldr r0, =sub_81CFE84 - str r0, [r4] - movs r0, 0x1 - str r0, [r4, 0xC] - b _081CFE3A - .pool -_081CFE38: - movs r0, 0 -_081CFE3A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CFE08 - - thumb_func_start sub_81CFE40 -sub_81CFE40: @ 81CFE40 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_086237B8 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r5, 0x4] - ldr r0, =sub_81CFE84 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CFE40 - - thumb_func_start sub_81CFE70 -sub_81CFE70: @ 81CFE70 - push {lr} - movs r0, 0xA - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81CFE70 - - thumb_func_start sub_81CFE84 -sub_81CFE84: @ 81CFE84 - push {lr} - movs r0, 0xA - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl IsLoopedTaskActive - pop {r1} - bx r1 - thumb_func_end sub_81CFE84 - - thumb_func_start sub_81CFE98 -sub_81CFE98: @ 81CFE98 - push {r4,lr} - movs r0, 0xA - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C8234 - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0xA - bl FreePokenavSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CFE98 - - thumb_func_start sub_81CFEB8 -sub_81CFEB8: @ 81CFEB8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x5 - bls _081CFECC - b _081CFFF2 -_081CFECC: - lsls r0, r4, 2 - ldr r1, =_081CFEDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CFEDC: - .4byte _081CFEF4 - .4byte _081CFF48 - .4byte _081CFF76 - .4byte _081CFF94 - .4byte _081CFFA4 - .4byte _081CFFDE -_081CFEF4: - ldr r0, =gUnknown_086237B0 - movs r1, 0x2 - bl InitBgTemplates - ldr r1, =gUnknown_08623604 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r1, r5, 0 - adds r1, 0x10 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_086236CC - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r0, =gUnknown_086235E4 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 - bl CopyBgTilemapBufferToVram -_081CFF32: - movs r0, 0 - b _081CFFF4 - .pool -_081CFF48: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CFFEE - bl sub_81CFB18 - cmp r0, 0 - beq _081CFFEE - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - bl ShowBg - b _081CFF32 -_081CFF76: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CFFEE - ldr r0, =gUnknown_08623790 - movs r1, 0x20 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - bl sub_81D0304 - b _081CFF32 - .pool -_081CFF94: - bl sub_81C8224 - cmp r0, 0 - bne _081CFFEE - adds r0, r5, 0 - bl sub_81D024C - b _081CFF32 -_081CFFA4: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CFFEE - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl HideBg - movs r0, 0x9 - bl sub_81C7BA4 - movs r0, 0x1 - bl sub_81C7AC0 - ldr r0, [r5, 0xC] - cmp r0, 0 - bne _081CFF32 - movs r0, 0x2 - bl LoadLeftHeaderGfxForIndex - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - b _081CFF32 -_081CFFDE: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CFFEE - bl sub_81C8010 - cmp r0, 0 - beq _081CFFF2 -_081CFFEE: - movs r0, 0x2 - b _081CFFF4 -_081CFFF2: - movs r0, 0x4 -_081CFFF4: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CFEB8 - - thumb_func_start sub_81CFFFC -sub_81CFFFC: @ 81CFFFC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D004A - cmp r4, 0x1 - bgt _081D0016 - cmp r4, 0 - beq _081D0020 - b _081D006A -_081D0016: - cmp r4, 0x2 - beq _081D0052 - cmp r4, 0x3 - beq _081D005C - b _081D006A -_081D0020: - bl MatchCall_MoveCursorUp - cmp r0, 0x1 - beq _081D0038 - cmp r0, 0x1 - bgt _081D0032 - cmp r0, 0 - beq _081D006A - b _081D0058 -_081D0032: - cmp r0, 0x2 - beq _081D0042 - b _081D0058 -_081D0038: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081D006C -_081D0042: - movs r0, 0x5 - bl PlaySE - b _081D0058 -_081D004A: - bl sub_81C8630 - cmp r0, 0 - bne _081D0066 -_081D0052: - adds r0, r5, 0 - bl sub_81D0288 -_081D0058: - movs r0, 0 - b _081D006C -_081D005C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D006A -_081D0066: - movs r0, 0x2 - b _081D006C -_081D006A: - movs r0, 0x4 -_081D006C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CFFFC - - thumb_func_start sub_81D0074 -sub_81D0074: @ 81D0074 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D00C2 - cmp r4, 0x1 - bgt _081D008E - cmp r4, 0 - beq _081D0098 - b _081D00E2 -_081D008E: - cmp r4, 0x2 - beq _081D00CA - cmp r4, 0x3 - beq _081D00D4 - b _081D00E2 -_081D0098: - bl MatchCall_MoveCursorDown - cmp r0, 0x1 - beq _081D00B0 - cmp r0, 0x1 - bgt _081D00AA - cmp r0, 0 - beq _081D00E2 - b _081D00D0 -_081D00AA: - cmp r0, 0x2 - beq _081D00BA - b _081D00D0 -_081D00B0: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081D00E4 -_081D00BA: - movs r0, 0x5 - bl PlaySE - b _081D00D0 -_081D00C2: - bl sub_81C8630 - cmp r0, 0 - bne _081D00DE -_081D00CA: - adds r0, r5, 0 - bl sub_81D0288 -_081D00D0: - movs r0, 0 - b _081D00E4 -_081D00D4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D00E2 -_081D00DE: - movs r0, 0x2 - b _081D00E4 -_081D00E2: - movs r0, 0x4 -_081D00E4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0074 - - thumb_func_start sub_81D00EC -sub_81D00EC: @ 81D00EC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D013A - cmp r4, 0x1 - bgt _081D0106 - cmp r4, 0 - beq _081D0110 - b _081D015A -_081D0106: - cmp r4, 0x2 - beq _081D0142 - cmp r4, 0x3 - beq _081D014C - b _081D015A -_081D0110: - bl MatchCall_PageUp - cmp r0, 0x1 - beq _081D0128 - cmp r0, 0x1 - bgt _081D0122 - cmp r0, 0 - beq _081D015A - b _081D0148 -_081D0122: - cmp r0, 0x2 - beq _081D0132 - b _081D0148 -_081D0128: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081D015C -_081D0132: - movs r0, 0x5 - bl PlaySE - b _081D0148 -_081D013A: - bl sub_81C8630 - cmp r0, 0 - bne _081D0156 -_081D0142: - adds r0, r5, 0 - bl sub_81D0288 -_081D0148: - movs r0, 0 - b _081D015C -_081D014C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D015A -_081D0156: - movs r0, 0x2 - b _081D015C -_081D015A: - movs r0, 0x4 -_081D015C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D00EC - - thumb_func_start sub_81D0164 -sub_81D0164: @ 81D0164 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D01B2 - cmp r4, 0x1 - bgt _081D017E - cmp r4, 0 - beq _081D0188 - b _081D01D2 -_081D017E: - cmp r4, 0x2 - beq _081D01BA - cmp r4, 0x3 - beq _081D01C4 - b _081D01D2 -_081D0188: - bl MatchCall_PageDown - cmp r0, 0x1 - beq _081D01A0 - cmp r0, 0x1 - bgt _081D019A - cmp r0, 0 - beq _081D01D2 - b _081D01C0 -_081D019A: - cmp r0, 0x2 - beq _081D01AA - b _081D01C0 -_081D01A0: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081D01D4 -_081D01AA: - movs r0, 0x5 - bl PlaySE - b _081D01C0 -_081D01B2: - bl sub_81C8630 - cmp r0, 0 - bne _081D01CE -_081D01BA: - adds r0, r5, 0 - bl sub_81D0288 -_081D01C0: - movs r0, 0 - b _081D01D4 -_081D01C4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D01D2 -_081D01CE: - movs r0, 0x2 - b _081D01D4 -_081D01D2: - movs r0, 0x4 -_081D01D4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0164 - - thumb_func_start sub_81D01DC -sub_81D01DC: @ 81D01DC - push {lr} - cmp r0, 0 - beq _081D01E8 - cmp r0, 0x1 - beq _081D01FC - b _081D0214 -_081D01E8: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - bl sub_81C78A0 - movs r0, 0 - b _081D0216 -_081D01FC: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081D020C - bl MainMenuLoopedTaskIsBusy - cmp r0, 0 - beq _081D0210 -_081D020C: - movs r0, 0x2 - b _081D0216 -_081D0210: - bl sub_81C7FDC -_081D0214: - movs r0, 0x4 -_081D0216: - pop {r1} - bx r1 - thumb_func_end sub_81D01DC - - thumb_func_start sub_81D021C -sub_81D021C: @ 81D021C - push {lr} - cmp r0, 0 - beq _081D0228 - cmp r0, 0x1 - beq _081D0238 - b _081D0244 -_081D0228: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081D0246 -_081D0238: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081D0244 - movs r0, 0x2 - b _081D0246 -_081D0244: - movs r0, 0x4 -_081D0246: - pop {r1} - bx r1 - thumb_func_end sub_81D021C - - thumb_func_start sub_81D024C -sub_81D024C: @ 81D024C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_086237D4 - bl AddWindow - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - bl sub_81CFB38 - adds r2, r0, 0 - ldrh r0, [r4, 0x8] - movs r1, 0 - bl sub_81D02B0 - ldrb r0, [r4, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - adds r0, r4, 0 - bl sub_81D0288 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D024C - - thumb_func_start sub_81D0288 -sub_81D0288: @ 81D0288 - push {r4,r5,lr} - adds r5, r0, 0 - bl GetSelectedMatchCall - adds r4, r0, 0 - bl sub_81CFB38 - adds r2, r0, 0 - ldrh r0, [r5, 0x8] - adds r4, 0x1 - adds r1, r4, 0 - bl sub_81D02B0 - ldrb r0, [r5, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D0288 - - thumb_func_start sub_81D02B0 -sub_81D02B0: @ 81D02B0 - push {r4,r5,lr} - sub sp, 0x1C - adds r4, r0, 0 - adds r5, r2, 0 - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x38 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - add r2, sp, 0xC - bl AddTextPrinterParameterized - add sp, 0x1C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D02B0 - - thumb_func_start sub_81D0304 -sub_81D0304: @ 81D0304 - push {r4,lr} - sub sp, 0x18 - bl sub_81CFB28 - str r0, [sp] - bl sub_81CFB38 - mov r1, sp - movs r4, 0 - strh r0, [r1, 0x4] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_81CFB64 - mov r1, sp - strh r0, [r1, 0x6] - movs r0, 0xD - strb r0, [r1, 0x9] - movs r0, 0x11 - strb r0, [r1, 0xA] - mov r0, sp - movs r2, 0x1 - strb r2, [r0, 0xB] - movs r0, 0x8 - strb r0, [r1, 0xC] - movs r0, 0x2 - strb r0, [r1, 0xD] - mov r0, sp - strb r2, [r0, 0xE] - ldr r0, =sub_81D035C - str r0, [sp, 0x10] - str r4, [sp, 0x14] - ldr r0, =gUnknown_086237B4 - movs r2, 0 - bl sub_81C81D4 - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0304 - - thumb_func_start sub_81D035C -sub_81D035C: @ 81D035C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r1, 0 - adds r7, r0, 0 - ldrb r0, [r7] - cmp r0, 0xE - bne _081D03A4 - ldrb r1, [r7, 0x1] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl GetLevelFromMonExp - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl GetMonData - b _081D03CC - .pool -_081D03A4: - ldrb r0, [r7] - ldrb r1, [r7, 0x1] - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl GetBoxMonData -_081D03CC: - ldr r4, =gStringVar3 - adds r0, r4, 0 - bl StringGetEnd10 - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x3C - bl sub_81DB494 - adds r6, r0, 0 - cmp r5, 0 - beq _081D03F8 - cmp r5, 0xFE - beq _081D0400 - ldr r1, =gUnknown_086237F4 - b _081D0402 - .pool -_081D03F8: - ldr r1, =gUnknown_086237DC - b _081D0402 - .pool -_081D0400: - ldr r1, =gUnknown_086237E8 -_081D0402: - ldr r4, =gStringVar1 - adds r0, r4, 0 - bl StringCopy - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - movs r1, 0xF9 - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x5 - strb r1, [r0] - adds r0, 0x1 - mov r1, r8 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x36 - bl sub_81DB494 - adds r6, r0, 0 - ldrh r1, [r7, 0x2] - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D035C - - thumb_func_start sub_81D0450 -sub_81D0450: @ 81D0450 - push {r4,lr} - movs r0, 0xD - movs r1, 0x9C - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081D0498 - movs r0, 0x12 - bl GetSubstructPtr - str r0, [r4, 0x8] - cmp r0, 0 - beq _081D0498 - adds r0, r4, 0 - bl sub_81D0814 - adds r1, r4, 0 - adds r1, 0x98 - ldr r0, =sub_81D04C4 - str r0, [r1] - ldr r1, =gKeyRepeatContinueDelay - movs r0, 0x3 - strh r0, [r1] - ldr r1, =gKeyRepeatStartDelay - movs r0, 0xA - strh r0, [r1] - movs r0, 0x1 - b _081D049A - .pool -_081D0498: - movs r0, 0 -_081D049A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D0450 - - thumb_func_start sub_81D04A0 -sub_81D04A0: @ 81D04A0 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - adds r1, r0, 0 - adds r1, 0x98 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81D04A0 - - thumb_func_start sub_81D04B8 -sub_81D04B8: @ 81D04B8 - push {lr} - movs r0, 0xD - bl FreePokenavSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81D04B8 - - thumb_func_start sub_81D04C4 -sub_81D04C4: @ 81D04C4 - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081D04E4 - ldr r3, [r4, 0x8] - ldrh r0, [r3, 0x2] - cmp r0, 0 - beq _081D04E4 - subs r0, 0x1 - b _081D04FC - .pool -_081D04E4: - ldrh r1, [r2, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081D050C - ldr r3, [r4, 0x8] - ldrh r1, [r3, 0x2] - ldrh r0, [r3] - subs r0, 0x1 - cmp r1, r0 - bge _081D050C - adds r0, r1, 0x1 -_081D04FC: - movs r1, 0 - strh r0, [r3, 0x2] - strh r1, [r4, 0xC] - adds r0, r4, 0 - bl sub_81D0814 - movs r0, 0x1 - b _081D053E -_081D050C: - ldrh r2, [r2, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _081D0528 - adds r1, r4, 0 - adds r1, 0x98 - ldr r0, =sub_81D0548 - str r0, [r1] - movs r0, 0x2 - b _081D053E - .pool -_081D0528: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - bne _081D0534 - movs r0, 0 - b _081D053E -_081D0534: - adds r1, r4, 0 - adds r1, 0x98 - ldr r0, =sub_81D05D4 - str r0, [r1] - movs r0, 0x5 -_081D053E: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D04C4 - - thumb_func_start sub_81D0548 -sub_81D0548: @ 81D0548 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081D0562 - adds r0, r4, 0 - bl sub_81D05DC - cmp r0, 0 - bne _081D05A4 -_081D0562: - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081D0578 - adds r0, r4, 0 - bl sub_81D061C - cmp r0, 0 - bne _081D05A4 -_081D0578: - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081D058E - adds r0, r4, 0 - bl sub_81D0664 - cmp r0, 0 - bne _081D05A4 -_081D058E: - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081D05AC - adds r0, r4, 0 - bl sub_81D0688 - cmp r0, 0 - beq _081D05AC -_081D05A4: - movs r0, 0x3 - b _081D05CA - .pool -_081D05AC: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081D05C0 - movs r0, 0 - b _081D05CA - .pool -_081D05C0: - adds r1, r4, 0 - adds r1, 0x98 - ldr r0, =sub_81D04C4 - str r0, [r1] - movs r0, 0x4 -_081D05CA: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D0548 - - thumb_func_start sub_81D05D4 -sub_81D05D4: @ 81D05D4 - ldr r0, =0x000186ae - bx lr - .pool - thumb_func_end sub_81D05D4 - - thumb_func_start sub_81D05DC -sub_81D05DC: @ 81D05DC - push {r4,lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xC] - adds r2, r0, 0 - cmp r2, 0x18 - bhi _081D05F0 - cmp r2, 0x8 - bls _081D0612 - subs r0, 0x9 - b _081D060C -_081D05F0: - ldrh r3, [r1, 0x10] - adds r2, r3, 0 - cmp r2, 0 - beq _081D0612 - ldrh r0, [r1, 0xC] - subs r0, 0x1B - ldrh r4, [r1, 0xE] - adds r0, r4 - strh r0, [r1, 0xC] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r2 - bcc _081D060E - subs r0, r3, 0x1 -_081D060C: - strh r0, [r1, 0xC] -_081D060E: - movs r0, 0x1 - b _081D0614 -_081D0612: - movs r0, 0 -_081D0614: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D05DC - - thumb_func_start sub_81D061C -sub_81D061C: @ 81D061C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0xC] - adds r1, r0, 0 - cmp r1, 0x18 - bhi _081D065C - ldrh r3, [r2, 0xE] - cmp r1, r3 - bcs _081D0640 - adds r0, 0x9 - strh r0, [r2, 0xC] - ldrh r1, [r2, 0x10] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bcc _081D0658 - subs r0, r1, 0x1 - b _081D0656 -_081D0640: - ldrh r0, [r2, 0x12] - cmp r0, 0 - beq _081D065C - ldrh r1, [r2, 0xC] - ldrh r0, [r2, 0xE] - subs r0, r1, r0 - ldrh r1, [r2, 0x12] - cmp r0, r1 - blt _081D0654 - subs r0, r1, 0x1 -_081D0654: - adds r0, 0x1B -_081D0656: - strh r0, [r2, 0xC] -_081D0658: - movs r0, 0x1 - b _081D065E -_081D065C: - movs r0, 0 -_081D065E: - pop {r1} - bx r1 - thumb_func_end sub_81D061C - - thumb_func_start sub_81D0664 -sub_81D0664: @ 81D0664 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r4, [r5, 0xC] - adds r0, r4, 0 - movs r1, 0x9 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _081D067C - movs r0, 0 - b _081D0682 -_081D067C: - subs r0, r4, 0x1 - strh r0, [r5, 0xC] - movs r0, 0x1 -_081D0682: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0664 - - thumb_func_start sub_81D0688 -sub_81D0688: @ 81D0688 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r4, [r5, 0xC] - adds r0, r4, 0 - movs r1, 0x9 - bl __umodsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x7 - bgt _081D06BC - cmp r4, 0x1A - bhi _081D06AC - ldrh r0, [r5, 0x10] - subs r0, 0x1 - cmp r4, r0 - bge _081D06BC - b _081D06B4 -_081D06AC: - ldrh r0, [r5, 0x12] - subs r0, 0x1 - cmp r1, r0 - bge _081D06BC -_081D06B4: - adds r0, r4, 0x1 - strh r0, [r5, 0xC] - movs r0, 0x1 - b _081D06BE -_081D06BC: - movs r0, 0 -_081D06BE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0688 - - thumb_func_start sub_81D06C4 -sub_81D06C4: @ 81D06C4 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - ldr r0, [r0, 0x8] - ldrh r0, [r0, 0x2] - pop {r1} - bx r1 - thumb_func_end sub_81D06C4 - - thumb_func_start sub_81D06D4 -sub_81D06D4: @ 81D06D4 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - ldr r0, [r0, 0x8] - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81D06D4 - - thumb_func_start sub_81D06E4 -sub_81D06E4: @ 81D06E4 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - movs r0, 0xD - bl GetSubstructPtr - ldr r1, [r0, 0x8] - ldrh r0, [r1, 0x2] - lsls r0, 2 - adds r0, 0x4 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xE - bne _081D0730 - ldrb r1, [r1, 0x1] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl GetMonData - adds r0, r4, 0 - bl GetLevelFromMonExp - strb r0, [r7] - adds r0, r4, 0 - bl GetMonGender - strb r0, [r6] - b _081D0752 - .pool -_081D0730: - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - strb r0, [r6] - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - strb r0, [r7] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl GetBoxMonData -_081D0752: - adds r0, r5, 0 - bl StringGetEnd10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D06E4 - - thumb_func_start sub_81D0760 -sub_81D0760: @ 81D0760 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - movs r0, 0xD - bl GetSubstructPtr - ldr r1, [r0, 0x8] - ldrh r0, [r1, 0x2] - lsls r0, 2 - adds r0, 0x4 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xE - bne _081D07AC - ldrb r1, [r1, 0x1] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r6] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - b _081D07D0 - .pool -_081D07AC: - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl GetBoxedMonPtr - adds r4, r0, 0 - movs r1, 0xB - bl GetBoxMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0 - bl GetBoxMonData - str r0, [r6] - adds r0, r4, 0 - movs r1, 0x1 - bl GetBoxMonData -_081D07D0: - str r0, [r7] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D0760 - - thumb_func_start sub_81D07D8 -sub_81D07D8: @ 81D07D8 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - ldr r1, [r0, 0x8] - ldrh r0, [r1, 0x2] - lsls r0, 2 - adds r0, 0x4 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xE - beq _081D07FA - ldrb r1, [r1, 0x1] - movs r2, 0x52 - bl GetBoxMonDataAt - b _081D080A -_081D07FA: - ldrb r1, [r1, 0x1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x52 - bl GetMonData -_081D080A: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D07D8 - - thumb_func_start sub_81D0814 -sub_81D0814: @ 81D0814 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrh r1, [r0, 0x2] - lsls r1, 2 - adds r1, 0x4 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0xE - bne _081D0848 - ldrb r1, [r1, 0x1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x53 - bl GetMonData - b _081D0852 - .pool -_081D0848: - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - movs r2, 0x53 - bl GetBoxMonDataAt -_081D0852: - mov r12, r0 - movs r0, 0 - strh r0, [r5, 0x10] - strh r0, [r5, 0x12] - movs r6, 0 - ldr r0, =gUnknown_086237F8 - mov r9, r0 - mov r10, r9 -_081D0862: - lsls r2, r6, 2 - mov r3, r9 - adds r1, r2, r3 - movs r0, 0x1 - ldrb r3, [r1] - lsls r0, r3 - subs r4, r0, 0x1 - mov r0, r12 - ands r4, r0 - ldrb r0, [r1, 0x3] - adds r7, r2, 0 - cmp r0, 0 - bne _081D08AC - movs r3, 0 - adds r6, 0x1 - mov r8, r6 - cmp r3, r4 - bge _081D08D6 - adds r6, r5, 0 - adds r6, 0x14 - mov r1, r10 - adds r0, r7, r1 - ldrb r2, [r0, 0x2] -_081D0890: - ldrh r0, [r5, 0x10] - adds r1, r0, 0x1 - strh r1, [r5, 0x10] - lsls r0, 16 - lsrs r0, 14 - adds r0, r6, r0 - adds r1, r2, r3 - str r1, [r0] - adds r3, 0x1 - cmp r3, r4 - blt _081D0890 - b _081D08D6 - .pool -_081D08AC: - movs r3, 0 - adds r6, 0x1 - mov r8, r6 - cmp r3, r4 - bge _081D08D6 - adds r6, r5, 0 - adds r6, 0x78 - mov r1, r10 - adds r0, r7, r1 - ldrb r2, [r0, 0x2] -_081D08C0: - ldrh r0, [r5, 0x12] - adds r1, r0, 0x1 - strh r1, [r5, 0x12] - lsls r0, 16 - lsrs r0, 14 - adds r0, r6, r0 - adds r1, r2, r3 - str r1, [r0] - adds r3, 0x1 - cmp r3, r4 - blt _081D08C0 -_081D08D6: - mov r3, r9 - adds r0, r7, r3 - mov r1, r12 - ldrb r0, [r0] - lsrs r1, r0 - mov r12, r1 - mov r6, r8 - cmp r6, 0x10 - bls _081D0862 - ldrh r0, [r5, 0x10] - cmp r0, 0 - beq _081D0900 - subs r0, 0x1 - movs r1, 0x9 - bl __divsi3 - lsls r1, r0, 3 - adds r1, r0 - movs r0, 0 - strh r1, [r5, 0xE] - b _081D0904 -_081D0900: - strh r0, [r5, 0xE] - movs r0, 0x1B -_081D0904: - strh r0, [r5, 0xC] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D0814 - - thumb_func_start sub_81D0914 -sub_81D0914: @ 81D0914 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xD - bl GetSubstructPtr - ldrh r1, [r0, 0x10] - str r1, [r4] - adds r0, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D0914 - - thumb_func_start sub_81D092C -sub_81D092C: @ 81D092C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xD - bl GetSubstructPtr - ldrh r1, [r0, 0x12] - str r1, [r4] - adds r0, 0x78 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D092C - - thumb_func_start sub_81D0944 -sub_81D0944: @ 81D0944 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - ldrh r0, [r0, 0xC] - pop {r1} - bx r1 - thumb_func_end sub_81D0944 - - thumb_func_start sub_81D0954 -sub_81D0954: @ 81D0954 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - adds r1, r0, 0 - ldrh r0, [r1, 0xC] - cmp r0, 0x18 - ble _081D096C - subs r0, 0x1B - lsls r0, 2 - adds r1, 0x78 - b _081D0970 -_081D096C: - lsls r0, 2 - adds r1, 0x14 -_081D0970: - adds r1, r0 - ldr r0, [r1] - pop {r1} - bx r1 - thumb_func_end sub_81D0954 - - thumb_func_start sub_81D0978 -sub_81D0978: @ 81D0978 - push {r4,lr} - ldr r1, =0x0000101c - movs r0, 0xE - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081D09A8 - ldr r0, =sub_81D0A6C - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r4, 0x4] - ldr r0, =sub_81D0A58 - str r0, [r4] - movs r0, 0x1 - b _081D09AA - .pool -_081D09A8: - movs r0, 0 -_081D09AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D0978 - - thumb_func_start sub_81D09B0 -sub_81D09B0: @ 81D09B0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_08624BA0 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl CreateLoopedTask - str r0, [r5, 0x4] - ldr r0, =sub_81D0A58 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D09B0 - - thumb_func_start sub_81D09E0 -sub_81D09E0: @ 81D09E0 - push {lr} - movs r0, 0xE - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81D09E0 - - thumb_func_start sub_81D09F4 -sub_81D09F4: @ 81D09F4 - push {r4,lr} - movs r0, 0xE - bl GetSubstructPtr - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl RemoveWindow - ldrb r0, [r4, 0x8] - bl RemoveWindow - ldrb r0, [r4, 0xC] - bl RemoveWindow - ldrb r0, [r4, 0xE] - bl RemoveWindow - adds r0, r4, 0 - bl sub_81D1178 - movs r0, 0x9 - bl FreeSpriteTilesByTag - movs r0, 0xF - bl FreeSpritePaletteByTag - movs r0, 0x10 - bl FreeSpritePaletteByTag - movs r0, 0x11 - bl FreeSpritePaletteByTag - movs r0, 0x12 - bl FreeSpritePaletteByTag - movs r0, 0x13 - bl FreeSpritePaletteByTag - ldr r0, [r4, 0x14] - bl FreeSpriteOamMatrix - ldr r0, [r4, 0x14] - bl DestroySprite - movs r0, 0xE - bl FreePokenavSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D09F4 - - thumb_func_start sub_81D0A58 -sub_81D0A58: @ 81D0A58 - push {lr} - movs r0, 0xE - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl IsLoopedTaskActive - pop {r1} - bx r1 - thumb_func_end sub_81D0A58 - - thumb_func_start sub_81D0A6C -sub_81D0A6C: @ 81D0A6C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x9 - bls _081D0A80 - b _081D0C48 -_081D0A80: - lsls r0, r4, 2 - ldr r1, =_081D0A90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D0A90: - .4byte _081D0AB8 - .4byte _081D0B04 - .4byte _081D0B74 - .4byte _081D0B88 - .4byte _081D0B9C - .4byte _081D0BB0 - .4byte _081D0BC4 - .4byte _081D0BD8 - .4byte _081D0BE8 - .4byte _081D0C3C -_081D0AB8: - ldr r0, =gUnknown_08624B98 - movs r1, 0x2 - bl InitBgTemplates - ldr r1, =gUnknown_08DDE030 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r1, r5, 0 - adds r1, 0x1C - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DDE12C - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r0, =gUnknown_08DDE010 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - b _081D0BBA - .pool -_081D0B04: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _081D0B12 - b _081D0C44 -_081D0B12: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8199DF0 - ldr r1, =gUnknown_086240B8 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0x1 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =0x0000081c - adds r1, r5, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r0, =gUnknown_08623FF8 - movs r1, 0x20 - movs r2, 0xA0 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =gUnknown_08624098 - movs r1, 0xA0 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 - b _081D0BBC - .pool -_081D0B74: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D0E60 - movs r0, 0 - b _081D0C4A -_081D0B88: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D0FCC - movs r0, 0 - b _081D0C4A -_081D0B9C: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D10A4 - movs r0, 0 - b _081D0C4A -_081D0BB0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 -_081D0BBA: - movs r0, 0x2 -_081D0BBC: - bl CopyBgTilemapBufferToVram - movs r0, 0 - b _081D0C4A -_081D0BC4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D1148 - movs r0, 0x1 - b _081D0C4A -_081D0BD8: - adds r0, r5, 0 - bl sub_81D12D8 - movs r0, 0xA - bl sub_81C7BA4 - movs r0, 0 - b _081D0C4A -_081D0BE8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D13FC - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl HideBg - movs r0, 0x1 - bl sub_81C7AC0 - movs r0, 0 - b _081D0C4A -_081D0C3C: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081D0C48 -_081D0C44: - movs r0, 0x2 - b _081D0C4A -_081D0C48: - movs r0, 0x4 -_081D0C4A: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0A6C - - thumb_func_start sub_81D0C54 -sub_81D0C54: @ 81D0C54 - push {lr} - cmp r0, 0 - beq _081D0C60 - cmp r0, 0x1 - beq _081D0C70 - b _081D0C7C -_081D0C60: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081D0C7E -_081D0C70: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081D0C7C - movs r0, 0x2 - b _081D0C7E -_081D0C7C: - movs r0, 0x4 -_081D0C7E: - pop {r1} - bx r1 - thumb_func_end sub_81D0C54 - - thumb_func_start sub_81D0C84 -sub_81D0C84: @ 81D0C84 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x6 - bhi _081D0D24 - lsls r0, r5, 2 - ldr r1, =_081D0CA4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D0CA4: - .4byte _081D0CC0 - .4byte _081D0CD0 - .4byte _081D0CE4 - .4byte _081D0CEE - .4byte _081D0CF8 - .4byte _081D0D02 - .4byte _081D0D16 -_081D0CC0: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81D11D8 - movs r0, 0 - b _081D0D26 -_081D0CD0: - adds r0, r4, 0 - bl sub_81D1234 - cmp r0, 0 - bne _081D0D20 - adds r0, r4, 0 - bl sub_81D0FF0 - movs r0, 0x1 - b _081D0D26 -_081D0CE4: - adds r0, r4, 0 - bl sub_81D12D8 - movs r0, 0x1 - b _081D0D26 -_081D0CEE: - adds r0, r4, 0 - bl sub_81D10D0 - movs r0, 0x1 - b _081D0D26 -_081D0CF8: - adds r0, r4, 0 - bl sub_81D0E84 - movs r0, 0x1 - b _081D0D26 -_081D0D02: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081D0D20 - adds r0, r4, 0 - bl sub_81D11FC - movs r0, 0 - b _081D0D26 -_081D0D16: - adds r0, r4, 0 - bl sub_81D1234 - cmp r0, 0 - beq _081D0D24 -_081D0D20: - movs r0, 0x2 - b _081D0D26 -_081D0D24: - movs r0, 0x4 -_081D0D26: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0C84 - - thumb_func_start sub_81D0D2C -sub_81D0D2C: @ 81D0D2C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D0D5C - cmp r4, 0x1 - bgt _081D0D46 - cmp r4, 0 - beq _081D0D4C - b _081D0D84 -_081D0D46: - cmp r4, 0x2 - beq _081D0D76 - b _081D0D84 -_081D0D4C: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81D1448 - movs r0, 0 - b _081D0D86 -_081D0D5C: - adds r0, r5, 0 - bl sub_81D1524 - cmp r0, 0 - bne _081D0D80 - adds r0, r5, 0 - bl sub_81D0EFC - movs r0, 0xB - bl sub_81C7BA4 - movs r0, 0 - b _081D0D86 -_081D0D76: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D0D84 -_081D0D80: - movs r0, 0x2 - b _081D0D86 -_081D0D84: - movs r0, 0x4 -_081D0D86: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0D2C - - thumb_func_start sub_81D0D8C -sub_81D0D8C: @ 81D0D8C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D0DC0 - cmp r4, 0x1 - bgt _081D0DA6 - cmp r4, 0 - beq _081D0DB0 - b _081D0DF6 -_081D0DA6: - cmp r4, 0x2 - beq _081D0DD4 - cmp r4, 0x3 - beq _081D0DE8 - b _081D0DF6 -_081D0DB0: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81D1500 - movs r0, 0 - b _081D0DF8 -_081D0DC0: - adds r0, r5, 0 - bl sub_81D1524 - cmp r0, 0 - bne _081D0DF2 - adds r0, r5, 0 - bl sub_81D1448 - movs r0, 0 - b _081D0DF8 -_081D0DD4: - adds r0, r5, 0 - bl sub_81D1524 - cmp r0, 0 - bne _081D0DF2 - adds r0, r5, 0 - bl sub_81D0EFC - movs r0, 0 - b _081D0DF8 -_081D0DE8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D0DF6 -_081D0DF2: - movs r0, 0x2 - b _081D0DF8 -_081D0DF6: - movs r0, 0x4 -_081D0DF8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0D8C - - thumb_func_start sub_81D0E00 -sub_81D0E00: @ 81D0E00 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D0E30 - cmp r4, 0x1 - bgt _081D0E1A - cmp r4, 0 - beq _081D0E20 - b _081D0E58 -_081D0E1A: - cmp r4, 0x2 - beq _081D0E4A - b _081D0E58 -_081D0E20: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81D1500 - movs r0, 0 - b _081D0E5A -_081D0E30: - adds r0, r5, 0 - bl sub_81D1524 - cmp r0, 0 - bne _081D0E54 - adds r0, r5, 0 - bl sub_81D0E84 - movs r0, 0xA - bl sub_81C7BA4 - movs r0, 0 - b _081D0E5A -_081D0E4A: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D0E58 -_081D0E54: - movs r0, 0x2 - b _081D0E5A -_081D0E58: - movs r0, 0x4 -_081D0E5A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0E00 - - thumb_func_start sub_81D0E60 -sub_81D0E60: @ 81D0E60 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08624BB8 - bl AddWindow - strh r0, [r4, 0xA] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_81D0E84 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0E60 - - thumb_func_start sub_81D0E84 -sub_81D0E84: @ 81D0E84 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - ldr r1, =gUnknown_08624BC0 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldr r4, =gStringVar1 - bl sub_81D07D8 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - bl DynamicPlaceholderTextUtil_Reset - movs r0, 0 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r4, =gStringVar4 - ldr r1, =gText_RibbonsF700 - adds r0, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldrb r0, [r5, 0xA] - movs r1, 0x44 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0xA] - add r1, sp, 0xC - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - ldrb r0, [r5, 0xA] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0E84 - - thumb_func_start sub_81D0EFC -sub_81D0EFC: @ 81D0EFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r0, 0 - bl sub_81D0954 - adds r5, r0, 0 - ldr r1, =gUnknown_08624BC0 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldrb r0, [r7, 0xA] - movs r1, 0x44 - bl FillWindowPixelBuffer - cmp r5, 0x18 - bhi _081D0F60 - lsls r1, r5, 3 - ldr r0, =gRibbonDescriptionPointers - adds r6, r1, r0 - movs r5, 0x80 - lsls r5, 17 - movs r4, 0x1 -_081D0F2E: - ldrb r0, [r7, 0xA] - lsrs r3, r5, 24 - add r1, sp, 0xC - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - ldm r6!, {r1} - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x80 - lsls r0, 21 - adds r5, r0 - subs r4, 0x1 - cmp r4, 0 - bge _081D0F2E - b _081D0FAA - .pool -_081D0F60: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, r5 - ldr r1, =0x0000318f - adds r0, r1 - ldrb r5, [r0] - cmp r5, 0 - beq _081D0FB2 - subs r5, 0x1 - movs r4, 0 - ldr r0, =gGiftRibbonDescriptionPointers - mov r8, r0 - movs r6, 0x80 - lsls r6, 17 -_081D0F7C: - ldrb r0, [r7, 0xA] - lsrs r3, r6, 24 - add r1, sp, 0xC - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - lsls r1, r4, 2 - lsls r2, r5, 3 - adds r1, r2 - add r1, r8 - ldr r1, [r1] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x80 - lsls r0, 21 - adds r6, r0 - adds r4, 0x1 - cmp r4, 0x1 - ble _081D0F7C -_081D0FAA: - ldrb r0, [r7, 0xA] - movs r1, 0x2 - bl CopyWindowToVram -_081D0FB2: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0EFC - - thumb_func_start sub_81D0FCC -sub_81D0FCC: @ 81D0FCC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08624BC4 - bl AddWindow - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_81D0FF0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0FCC - - thumb_func_start sub_81D0FF0 -sub_81D0FF0: @ 81D0FF0 - push {r4-r7,lr} - sub sp, 0x10 - ldrh r7, [r0, 0x8] - ldrb r5, [r0, 0x8] - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r4, =gStringVar3 - mov r6, sp - adds r6, 0xD - adds r0, r4, 0 - add r1, sp, 0xC - adds r2, r6, 0 - bl sub_81D06E4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r6] - cmp r0, 0 - beq _081D1040 - cmp r0, 0xFE - beq _081D1048 - ldr r1, =gUnknown_08624BE4 - b _081D104A - .pool -_081D1040: - ldr r1, =gUnknown_08624BCC - b _081D104A - .pool -_081D1048: - ldr r1, =gUnknown_08624BD8 -_081D104A: - ldr r5, =gStringVar1 - adds r0, r5, 0 - bl StringCopy - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - movs r1, 0xF9 - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x5 - strb r1, [r0] - adds r0, 0x1 - add r1, sp, 0xC - ldrb r1, [r1] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - lsls r4, r7, 24 - lsrs r4, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x3C - bl AddTextPrinterParameterized - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0FF0 - - thumb_func_start sub_81D10A4 -sub_81D10A4: @ 81D10A4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08624BE8 - bl AddWindow - strh r0, [r4, 0xC] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0xC] - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_81D10D0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D10A4 - - thumb_func_start sub_81D10D0 -sub_81D10D0: @ 81D10D0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r8, r0 - bl sub_81D06C4 - adds r4, r0, 0 - adds r4, 0x1 - bl sub_81D06D4 - adds r6, r0, 0 - ldr r5, =gStringVar1 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - adds r1, r6, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x38 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - mov r1, r8 - ldrb r0, [r1, 0xC] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - mov r1, r8 - ldrb r0, [r1, 0xC] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D10D0 - - thumb_func_start sub_81D1148 -sub_81D1148: @ 81D1148 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r1, sp, 0x4 - add r2, sp, 0x8 - mov r0, sp - bl sub_81D0760 - bl ResetAllPicSprites - movs r0, 0x28 - movs r1, 0x68 - bl sub_81D1184 - strh r0, [r4, 0x10] - movs r0, 0xF - movs r1, 0 - bl sub_81C7990 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D1148 - - thumb_func_start sub_81D1178 -sub_81D1178: @ 81D1178 - push {lr} - ldrh r0, [r0, 0x10] - bl FreeAndDestroyMonPicSprite - pop {r0} - bx r0 - thumb_func_end sub_81D1178 - - thumb_func_start sub_81D1184 -sub_81D1184: @ 81D1184 - push {lr} - sub sp, 0x1C - add r1, sp, 0x14 - add r2, sp, 0x18 - add r0, sp, 0x10 - bl sub_81D0760 - add r0, sp, 0x10 - ldrh r0, [r0] - ldr r1, [sp, 0x18] - ldr r2, [sp, 0x14] - movs r3, 0x28 - str r3, [sp] - movs r3, 0x68 - str r3, [sp, 0x4] - movs r3, 0xF - str r3, [sp, 0x8] - ldr r3, =0x0000ffff - str r3, [sp, 0xC] - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - lsls r0, 16 - lsrs r0, 16 - ldr r1, =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 - strb r1, [r2, 0x5] - add sp, 0x1C - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D1184 - - thumb_func_start sub_81D11D8 -sub_81D11D8: @ 81D11D8 - push {lr} - ldrh r1, [r0, 0x10] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r2, 0x20 - negs r2, r2 - movs r1, 0x28 - movs r3, 0x6 - bl sub_81D1258 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D11D8 - - thumb_func_start sub_81D11FC -sub_81D11FC: @ 81D11FC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - bl FreeAndDestroyMonPicSprite - movs r5, 0x20 - negs r5, r5 - adds r0, r5, 0 - movs r1, 0x68 - bl sub_81D1184 - strh r0, [r4, 0x10] - ldrh r1, [r4, 0x10] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x28 - movs r3, 0x6 - bl sub_81D1258 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D11FC - - thumb_func_start sub_81D1234 -sub_81D1234: @ 81D1234 - ldr r2, =gSprites - ldrh r1, [r0, 0x10] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_81D1234 - - thumb_func_start sub_81D1258 -sub_81D1258: @ 81D1258 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r2, 0 - adds r5, r3, 0 - subs r0, r6, r1 - strh r1, [r4, 0x20] - lsls r1, 4 - strh r1, [r4, 0x2E] - lsls r0, 4 - adds r1, r5, 0 - bl __udivsi3 - strh r0, [r4, 0x30] - strh r5, [r4, 0x32] - strh r6, [r4, 0x34] - ldr r0, =sub_81D1284 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1258 - - thumb_func_start sub_81D1284 -sub_81D1284: @ 81D1284 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x32] - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _081D12C8 - subs r0, r1, 0x1 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x2E] - adds r0, r1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bgt _081D12BA - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _081D12D0 -_081D12BA: - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _081D12D0 -_081D12C8: - ldrh r0, [r2, 0x34] - strh r0, [r2, 0x20] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_081D12D0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1284 - - thumb_func_start sub_81D12D8 -sub_81D12D8: @ 81D12D8 - push {r4-r6,lr} - bl sub_81D1350 - ldr r5, =gUnknown_030012C0 - adds r0, r5, 0 - bl sub_81D0914 - adds r6, r0, 0 - ldr r2, =gUnknown_030012C4 - movs r1, 0 - str r1, [r2] - ldr r0, [r5] - cmp r1, r0 - bcs _081D130A - adds r4, r2, 0 -_081D12F6: - ldr r0, [r4] - ldm r6!, {r1} - bl sub_81D1370 - ldr r1, [r4] - adds r1, 0x1 - str r1, [r4] - ldr r0, [r5] - cmp r1, r0 - bcc _081D12F6 -_081D130A: - ldr r4, =gUnknown_030012C0 - adds r0, r4, 0 - bl sub_81D092C - adds r6, r0, 0 - ldr r2, =gUnknown_030012C4 - movs r1, 0 - str r1, [r2] - ldr r0, [r4] - cmp r1, r0 - bcs _081D133A - adds r4, r2, 0 -_081D1322: - ldr r0, [r4] - adds r0, 0x1B - ldm r6!, {r1} - bl sub_81D1370 - ldr r1, [r4] - adds r1, 0x1 - str r1, [r4] - ldr r0, =gUnknown_030012C0 - ldr r0, [r0] - cmp r1, r0 - bcc _081D1322 -_081D133A: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D12D8 - - thumb_func_start sub_81D1350 -sub_81D1350: @ 81D1350 - push {lr} - sub sp, 0x8 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_81D1350 - - thumb_func_start sub_81D1370 -sub_81D1370: @ 81D1370 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r6, r1, 0 - movs r1, 0x9 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 1 - adds r5, 0xB - adds r0, r4, 0 - movs r1, 0x9 - bl __udivsi3 - adds r4, r0, 0 - lsls r4, 1 - adds r4, 0x4 - add r0, sp, 0x8 - adds r1, r6, 0 - bl sub_81D13BC - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - add r1, sp, 0x8 - adds r2, r5, 0 - adds r3, r4, 0 - bl CopyToBgTilemapBufferRect - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D1370 - - thumb_func_start sub_81D13BC -sub_81D13BC: @ 81D13BC - push {r4,r5,lr} - ldr r2, =gUnknown_08624BF8 - lsls r1, 2 - adds r1, r2 - ldrh r3, [r1, 0x2] - adds r3, 0x2 - lsls r3, 16 - ldrh r1, [r1] - lsls r1, 1 - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - lsrs r3, 4 - adds r2, r1, 0 - orrs r2, r3 - strh r2, [r0] - movs r5, 0x80 - lsls r5, 3 - adds r4, r5, 0 - orrs r2, r4 - strh r2, [r0, 0x2] - adds r1, 0x1 - orrs r1, r3 - strh r1, [r0, 0x4] - orrs r1, r4 - strh r1, [r0, 0x6] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D13BC - - thumb_func_start sub_81D13FC -sub_81D13FC: @ 81D13FC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08624C78 - bl LoadCompressedSpriteSheet - ldr r0, =gUnknown_08624C80 - bl Pokenav_AllocAndLoadPalettes - ldr r0, =gUnknown_08624D04 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r4, 0x14] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D13FC - - thumb_func_start sub_81D1448 -sub_81D1448: @ 81D1448 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r6, r0, 0 - bl sub_81D0944 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x9 - bl __modsi3 - adds r5, r0, 0 - lsls r5, 4 - adds r5, 0x60 - adds r0, r4, 0 - movs r1, 0x9 - bl __divsi3 - lsls r0, 4 - adds r0, 0x28 - ldr r1, [r6, 0x14] - movs r2, 0 - mov r8, r2 - strh r5, [r1, 0x20] - ldr r1, [r6, 0x14] - strh r0, [r1, 0x22] - bl sub_81D0954 - adds r4, r0, 0 - movs r0, 0x9 - bl GetSpriteTileStartByTag - ldr r3, [r6, 0x14] - ldr r1, =gUnknown_08624BF8 - lsls r4, 2 - adds r4, r1 - ldrh r1, [r4] - lsls r1, 4 - adds r0, r1 - ldr r2, =0x000003ff - adds r1, r2, 0 - ands r0, r1 - ldrh r2, [r3, 0x4] - ldr r1, =0xfffffc00 - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x4] - ldrh r0, [r4, 0x2] - adds r0, 0xF - lsls r0, 16 - lsrs r0, 16 - bl IndexOfSpritePaletteTag - ldr r3, [r6, 0x14] - lsls r0, 4 - ldrb r2, [r3, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x5] - ldr r0, [r6, 0x14] - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r1, [r6, 0x14] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r6, 0x14] - mov r1, r8 - strh r1, [r0, 0x2E] - ldr r1, [r6, 0x14] - ldr r0, =sub_81D1538 - str r0, [r1, 0x1C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1448 - - thumb_func_start sub_81D1500 -sub_81D1500: @ 81D1500 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x14] - movs r0, 0x1 - strh r0, [r1, 0x2E] - ldr r0, [r4, 0x14] - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r1, [r4, 0x14] - ldr r0, =sub_81D1538 - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1500 - - thumb_func_start sub_81D1524 -sub_81D1524: @ 81D1524 - ldr r0, [r0, 0x14] - ldr r1, [r0, 0x1C] - ldr r0, =SpriteCallbackDummy - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_81D1524 - - thumb_func_start sub_81D1538 -sub_81D1538: @ 81D1538 - push {lr} - adds r3, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081D156A - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - movs r0, 0x1 - ldrh r1, [r3, 0x2E] - ands r1, r0 - lsls r1, 2 - mov r0, r12 - ldrb r2, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] -_081D156A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1538 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_1.s b/asm/pokenav_unk_1.s new file mode 100644 index 0000000000..bc4a5968f2 --- /dev/null +++ b/asm/pokenav_unk_1.s @@ -0,0 +1,864 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(1) + + thumb_func_start sub_81C9268 +sub_81C9268: @ 81C9268 + push {r4,lr} + movs r4, 0 + movs r0, 0x98 + lsls r0, 1 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _081C928A + movs r4, 0x1 + ldr r0, =0x0000089b + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _081C928A + movs r4, 0x2 +_081C928A: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81C9268 + + thumb_func_start sub_81C9298 +sub_81C9298: @ 81C9298 + push {r4,lr} + movs r0, 0x1 + movs r1, 0x10 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081C92C4 + bl sub_81C9268 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + strh r0, [r4] + strh r1, [r4, 0x2] + strh r1, [r4, 0x4] + strh r1, [r4, 0x6] + adds r0, r4, 0 + bl sub_81C939C + movs r0, 0x1 + b _081C92C6 +_081C92C4: + movs r0, 0 +_081C92C6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81C9298 + + thumb_func_start sub_81C92CC +sub_81C92CC: @ 81C92CC + push {r4,lr} + movs r0, 0x1 + movs r1, 0x10 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081C92FA + bl sub_81C9268 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + strh r0, [r4] + movs r0, 0x2 + strh r0, [r4, 0x2] + strh r0, [r4, 0x4] + strh r1, [r4, 0x6] + adds r0, r4, 0 + bl sub_81C939C + movs r0, 0x1 + b _081C92FC +_081C92FA: + movs r0, 0 +_081C92FC: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81C92CC + + thumb_func_start sub_81C9304 +sub_81C9304: @ 81C9304 + push {r4,lr} + movs r0, 0x1 + movs r1, 0x10 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081C932E + bl sub_81C9268 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0x3 + strh r0, [r4, 0x2] + strh r0, [r4, 0x4] + adds r0, r4, 0 + bl sub_81C939C + movs r0, 0x1 + b _081C9330 +_081C932E: + movs r0, 0 +_081C9330: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81C9304 + + thumb_func_start sub_81C9338 +sub_81C9338: @ 81C9338 + push {lr} + movs r0, 0x1 + movs r1, 0x10 + bl AllocSubstruct + adds r2, r0, 0 + cmp r2, 0 + beq _081C9360 + movs r0, 0 + movs r1, 0x3 + strh r1, [r2] + strh r0, [r2, 0x2] + movs r1, 0x5 + strh r1, [r2, 0x4] + strh r0, [r2, 0x6] + adds r0, r2, 0 + bl sub_81C939C + movs r0, 0x1 + b _081C9362 +_081C9360: + movs r0, 0 +_081C9362: + pop {r1} + bx r1 + thumb_func_end sub_81C9338 + + thumb_func_start sub_81C9368 +sub_81C9368: @ 81C9368 + push {r4,r5,lr} + movs r0, 0x1 + movs r1, 0x10 + bl AllocSubstruct + adds r5, r0, 0 + cmp r5, 0 + beq _081C9394 + movs r4, 0 + movs r0, 0x4 + strh r0, [r5] + bl sub_81C76AC + strh r0, [r5, 0x2] + adds r0, 0x8 + strh r0, [r5, 0x4] + strh r4, [r5, 0x6] + adds r0, r5, 0 + bl sub_81C939C + movs r0, 0x1 + b _081C9396 +_081C9394: + movs r0, 0 +_081C9396: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81C9368 + + thumb_func_start sub_81C939C +sub_81C939C: @ 81C939C + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4] + cmp r0, 0x4 + bhi _081C93E0 + lsls r0, 2 + ldr r1, =_081C93B4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081C93B4: + .4byte _081C93C8 + .4byte _081C93CE + .4byte _081C93CE + .4byte _081C93D4 + .4byte _081C93DC +_081C93C8: + movs r0, 0 + bl SetPokenavMode +_081C93CE: + bl sub_81C93EC + b _081C93DE +_081C93D4: + ldr r0, =sub_81C963C + b _081C93DE + .pool +_081C93DC: + ldr r0, =sub_81C96FC +_081C93DE: + str r0, [r4, 0xC] +_081C93E0: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81C939C + + thumb_func_start sub_81C93EC +sub_81C93EC: @ 81C93EC + push {lr} + bl GetPokenavMode + cmp r0, 0x1 + beq _081C9408 + cmp r0, 0x1 + bcc _081C93FE + cmp r0, 0x2 + beq _081C9410 +_081C93FE: + ldr r0, =sub_81C943C + b _081C9412 + .pool +_081C9408: + ldr r0, =sub_81C9520 + b _081C9412 + .pool +_081C9410: + ldr r0, =c2_pre_battle_1 +_081C9412: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81C93EC + + thumb_func_start sub_81C941C +sub_81C941C: @ 81C941C + push {lr} + movs r0, 0x1 + bl GetSubstructPtr + ldr r1, [r0, 0xC] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81C941C + + thumb_func_start sub_81C9430 +sub_81C9430: @ 81C9430 + push {lr} + movs r0, 0x1 + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81C9430 + + thumb_func_start sub_81C943C +sub_81C943C: @ 81C943C + push {r4,r5,lr} + adds r4, r0, 0 + bl sub_81C9814 + cmp r0, 0 + beq _081C944C + movs r0, 0x1 + b _081C951A +_081C944C: + ldr r2, =gMain + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + adds r5, r2, 0 + cmp r0, 0 + beq _081C9508 + ldr r3, =gUnknown_0861FC59 + movs r0, 0x2 + ldrsh r1, [r4, r0] + ldrh r2, [r4] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 1 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] + cmp r0, 0x4 + bhi _081C9508 + lsls r0, 2 + ldr r1, =_081C9488 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081C9488: + .4byte _081C949C + .4byte _081C94BC + .4byte _081C94D4 + .4byte _081C94E0 + .4byte _081C9516 +_081C949C: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r1, [r0, 0x15] + movs r0, 0x8 + ands r0, r1 + movs r1, 0x1 + cmp r0, 0 + beq _081C94AE + movs r1, 0x2 +_081C94AE: + strh r1, [r4, 0x6] + ldr r1, =0x000186a6 + b _081C94EE + .pool +_081C94BC: + movs r1, 0 + movs r0, 0x3 + strh r0, [r4] + strh r1, [r4, 0x2] + ldrb r0, [r3, 0x12] + strh r0, [r4, 0x4] + ldr r0, =sub_81C963C + str r0, [r4, 0xC] + movs r0, 0x2 + b _081C951A + .pool +_081C94D4: + movs r0, 0x6 + strh r0, [r4, 0x6] + ldr r1, =0x000186ab + b _081C94EE + .pool +_081C94E0: + bl CanViewRibbonsMenu + cmp r0, 0 + beq _081C94FC + movs r0, 0x9 + strh r0, [r4, 0x6] + ldr r1, =0x000186ac +_081C94EE: + adds r0, r4, 0 + bl sub_81C97B0 + movs r0, 0x8 + b _081C951A + .pool +_081C94FC: + ldr r0, =sub_81C9600 + str r0, [r4, 0xC] + movs r0, 0x6 + b _081C951A + .pool +_081C9508: + ldrh r1, [r5, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081C9516 + movs r0, 0 + b _081C951A +_081C9516: + movs r0, 0x1 + negs r0, r0 +_081C951A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81C943C + + thumb_func_start sub_81C9520 +sub_81C9520: @ 81C9520 + push {r4,lr} + adds r4, r0, 0 + bl sub_81C9814 + cmp r0, 0 + beq _081C9530 + movs r0, 0x1 + b _081C9580 +_081C9530: + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _081C9570 + ldr r3, =gUnknown_0861FC59 + movs r0, 0x2 + ldrsh r1, [r4, r0] + ldrh r2, [r4] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 1 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] + cmp r0, 0x2 + bne _081C9578 + movs r0, 0x6 + strh r0, [r4, 0x6] + ldr r1, =0x000186ab + adds r0, r4, 0 + bl sub_81C97B0 + movs r0, 0x8 + b _081C9580 + .pool +_081C9570: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081C957E +_081C9578: + movs r0, 0x20 + bl PlaySE +_081C957E: + movs r0, 0 +_081C9580: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81C9520 + + thumb_func_start c2_pre_battle_1 +c2_pre_battle_1: @ 81C9588 + push {r4,lr} + adds r4, r0, 0 + bl sub_81C9814 + cmp r0, 0 + beq _081C9598 + movs r0, 0x1 + b _081C95F8 +_081C9598: + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _081C95E8 + ldr r3, =gUnknown_0861FC59 + movs r0, 0x2 + ldrsh r1, [r4, r0] + ldrh r2, [r4] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 1 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] + cmp r0, 0x2 + beq _081C95D4 + cmp r0, 0x4 + beq _081C95F4 + movs r0, 0x20 + bl PlaySE + movs r0, 0 + b _081C95F8 + .pool +_081C95D4: + movs r0, 0x6 + strh r0, [r4, 0x6] + ldr r1, =0x000186ab + adds r0, r4, 0 + bl sub_81C97B0 + movs r0, 0x8 + b _081C95F8 + .pool +_081C95E8: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081C95F4 + movs r0, 0 + b _081C95F8 +_081C95F4: + movs r0, 0x1 + negs r0, r0 +_081C95F8: + pop {r4} + pop {r1} + bx r1 + thumb_func_end c2_pre_battle_1 + + thumb_func_start sub_81C9600 +sub_81C9600: @ 81C9600 + push {r4,lr} + adds r4, r0, 0 + bl sub_81C9814 + cmp r0, 0 + beq _081C9616 + bl sub_81C93EC + str r0, [r4, 0xC] + movs r0, 0x1 + b _081C9634 +_081C9616: + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + bne _081C962C + movs r0, 0 + b _081C9634 + .pool +_081C962C: + bl sub_81C93EC + str r0, [r4, 0xC] + movs r0, 0x7 +_081C9634: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81C9600 + + thumb_func_start sub_81C963C +sub_81C963C: @ 81C963C + push {r4-r6,lr} + adds r4, r0, 0 + bl sub_81C9814 + adds r3, r0, 0 + cmp r3, 0 + beq _081C964E + movs r0, 0x1 + b _081C96F6 +_081C964E: + ldr r2, =gMain + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + adds r6, r2, 0 + cmp r0, 0 + beq _081C96B8 + ldr r5, =gUnknown_0861FC59 + movs r1, 0x2 + ldrsh r0, [r4, r1] + ldrh r2, [r4] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 1 + adds r0, r1 + adds r0, r5 + ldrb r0, [r0] + cmp r0, 0x6 + beq _081C968E + cmp r0, 0x6 + bgt _081C9688 + cmp r0, 0x5 + beq _081C96A4 + b _081C96B8 + .pool +_081C9688: + cmp r0, 0x7 + beq _081C96E4 + b _081C96B8 +_081C968E: + movs r0, 0x4 + strh r0, [r4] + strh r3, [r4, 0x2] + ldrb r0, [r5, 0x18] + strh r0, [r4, 0x4] + ldr r0, =sub_81C96FC + str r0, [r4, 0xC] + movs r0, 0x4 + b _081C96F6 + .pool +_081C96A4: + strh r3, [r4, 0x6] + ldr r1, =0x000186a7 + adds r0, r4, 0 + bl sub_81C97B0 + movs r0, 0x8 + b _081C96F6 + .pool +_081C96B8: + ldrh r1, [r6, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081C96F4 + movs r0, 0x2 + ldrsh r2, [r4, r0] + ldr r1, =gUnknown_0861FC54 + ldrh r0, [r4] + adds r0, r1 + ldrb r0, [r0] + cmp r2, r0 + beq _081C96E4 + strh r0, [r4, 0x2] + ldr r0, =sub_81C9798 + str r0, [r4, 0xC] + movs r0, 0x1 + b _081C96F6 + .pool +_081C96E4: + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_81C97C0 + movs r0, 0x3 + b _081C96F6 +_081C96F4: + movs r0, 0 +_081C96F6: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81C963C + + thumb_func_start sub_81C96FC +sub_81C96FC: @ 81C96FC + push {r4,lr} + adds r4, r0, 0 + bl sub_81C9814 + cmp r0, 0 + beq _081C970C + movs r0, 0x1 + b _081C9792 +_081C970C: + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _081C9754 + ldr r3, =gUnknown_0861FC59 + movs r0, 0x2 + ldrsh r1, [r4, r0] + ldrh r2, [r4] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 1 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] + cmp r0, 0xD + beq _081C9780 + subs r0, 0x8 + bl sub_81C7694 + ldr r1, =0x000186a8 + adds r0, r4, 0 + bl sub_81C97B0 + movs r0, 0x3 + strh r0, [r4, 0x6] + movs r0, 0x8 + b _081C9792 + .pool +_081C9754: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081C9790 + movs r0, 0x2 + ldrsh r2, [r4, r0] + ldr r1, =gUnknown_0861FC54 + ldrh r0, [r4] + adds r0, r1 + ldrb r0, [r0] + cmp r2, r0 + beq _081C9780 + strh r0, [r4, 0x2] + ldr r0, =sub_81C97A4 + str r0, [r4, 0xC] + movs r0, 0x1 + b _081C9792 + .pool +_081C9780: + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_81C97F8 + movs r0, 0x5 + b _081C9792 +_081C9790: + movs r0, 0 +_081C9792: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81C96FC + + thumb_func_start sub_81C9798 +sub_81C9798: @ 81C9798 + push {lr} + bl sub_81C97C0 + movs r0, 0x3 + pop {r1} + bx r1 + thumb_func_end sub_81C9798 + + thumb_func_start sub_81C97A4 +sub_81C97A4: @ 81C97A4 + push {lr} + bl sub_81C97F8 + movs r0, 0x5 + pop {r1} + bx r1 + thumb_func_end sub_81C97A4 + + thumb_func_start sub_81C97B0 +sub_81C97B0: @ 81C97B0 + str r1, [r0, 0x8] + ldr r1, =sub_81C97BC + str r1, [r0, 0xC] + bx lr + .pool + thumb_func_end sub_81C97B0 + + thumb_func_start sub_81C97BC +sub_81C97BC: @ 81C97BC + ldr r0, [r0, 0x8] + bx lr + thumb_func_end sub_81C97BC + + thumb_func_start sub_81C97C0 +sub_81C97C0: @ 81C97C0 + push {r4,lr} + adds r4, r0, 0 + bl sub_81C9268 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0x1 + strh r0, [r4, 0x2] + ldr r2, =gUnknown_0861FC59 + ldrh r1, [r4] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 1 + adds r0, 0x1 + adds r0, r2 + ldrb r0, [r0] + strh r0, [r4, 0x4] + ldr r0, =sub_81C943C + str r0, [r4, 0xC] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81C97C0 + + thumb_func_start sub_81C97F8 +sub_81C97F8: @ 81C97F8 + movs r1, 0x3 + strh r1, [r0] + movs r1, 0x1 + strh r1, [r0, 0x2] + ldr r1, =gUnknown_0861FC59 + ldrb r1, [r1, 0x13] + strh r1, [r0, 0x4] + ldr r1, =sub_81C963C + str r1, [r0, 0xC] + bx lr + .pool + thumb_func_end sub_81C97F8 + + thumb_func_start sub_81C9814 +sub_81C9814: @ 81C9814 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x40 + ands r0, r1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0 + beq _081C9848 + ldrh r0, [r4, 0x2] + subs r0, 0x1 + strh r0, [r4, 0x2] + lsls r0, 16 + ldrh r3, [r4] + cmp r0, 0 + bge _081C986A + ldr r0, =gUnknown_0861FC54 + adds r0, r3, r0 + ldrb r0, [r0] + strh r0, [r4, 0x2] + b _081C986A + .pool +_081C9848: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081C988C + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + movs r0, 0x2 + ldrsh r2, [r4, r0] + ldr r0, =gUnknown_0861FC54 + ldrh r1, [r4] + adds r0, r1, r0 + adds r3, r1, 0 + ldrb r0, [r0] + cmp r2, r0 + ble _081C986A + strh r5, [r4, 0x2] +_081C986A: + ldr r2, =gUnknown_0861FC59 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r3, 1 + adds r0, r3 + lsls r0, 1 + adds r1, r0 + adds r1, r2 + ldrb r0, [r1] + strh r0, [r4, 0x4] + movs r0, 0x1 + b _081C988E + .pool +_081C988C: + movs r0, 0 +_081C988E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81C9814 + + thumb_func_start sub_81C9894 +sub_81C9894: @ 81C9894 + push {lr} + movs r0, 0x1 + bl GetSubstructPtr + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81C9894 + + thumb_func_start sub_81C98A4 +sub_81C98A4: @ 81C98A4 + push {lr} + movs r0, 0x1 + bl GetSubstructPtr + movs r1, 0x2 + ldrsh r0, [r0, r1] + pop {r1} + bx r1 + thumb_func_end sub_81C98A4 + + thumb_func_start sub_81C98B4 +sub_81C98B4: @ 81C98B4 + push {lr} + movs r0, 0x1 + bl GetSubstructPtr + ldrh r0, [r0, 0x4] + pop {r1} + bx r1 + thumb_func_end sub_81C98B4 + + thumb_func_start sub_81C98C4 +sub_81C98C4: @ 81C98C4 + push {lr} + movs r0, 0x1 + bl GetSubstructPtr + ldrh r0, [r0, 0x6] + pop {r1} + bx r1 + thumb_func_end sub_81C98C4 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_10.s b/asm/pokenav_unk_10.s new file mode 100644 index 0000000000..b24f0b406c --- /dev/null +++ b/asm/pokenav_unk_10.s @@ -0,0 +1,2185 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + thumb_func_start sub_81D0450 +sub_81D0450: @ 81D0450 + push {r4,lr} + movs r0, 0xD + movs r1, 0x9C + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081D0498 + movs r0, 0x12 + bl GetSubstructPtr + str r0, [r4, 0x8] + cmp r0, 0 + beq _081D0498 + adds r0, r4, 0 + bl sub_81D0814 + adds r1, r4, 0 + adds r1, 0x98 + ldr r0, =sub_81D04C4 + str r0, [r1] + ldr r1, =gKeyRepeatContinueDelay + movs r0, 0x3 + strh r0, [r1] + ldr r1, =gKeyRepeatStartDelay + movs r0, 0xA + strh r0, [r1] + movs r0, 0x1 + b _081D049A + .pool +_081D0498: + movs r0, 0 +_081D049A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D0450 + + thumb_func_start sub_81D04A0 +sub_81D04A0: @ 81D04A0 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + adds r1, r0, 0 + adds r1, 0x98 + ldr r1, [r1] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81D04A0 + + thumb_func_start sub_81D04B8 +sub_81D04B8: @ 81D04B8 + push {lr} + movs r0, 0xD + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81D04B8 + + thumb_func_start sub_81D04C4 +sub_81D04C4: @ 81D04C4 + push {r4,lr} + adds r4, r0, 0 + ldr r2, =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081D04E4 + ldr r3, [r4, 0x8] + ldrh r0, [r3, 0x2] + cmp r0, 0 + beq _081D04E4 + subs r0, 0x1 + b _081D04FC + .pool +_081D04E4: + ldrh r1, [r2, 0x30] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081D050C + ldr r3, [r4, 0x8] + ldrh r1, [r3, 0x2] + ldrh r0, [r3] + subs r0, 0x1 + cmp r1, r0 + bge _081D050C + adds r0, r1, 0x1 +_081D04FC: + movs r1, 0 + strh r0, [r3, 0x2] + strh r1, [r4, 0xC] + adds r0, r4, 0 + bl sub_81D0814 + movs r0, 0x1 + b _081D053E +_081D050C: + ldrh r2, [r2, 0x2E] + movs r0, 0x1 + ands r0, r2 + cmp r0, 0 + beq _081D0528 + adds r1, r4, 0 + adds r1, 0x98 + ldr r0, =sub_81D0548 + str r0, [r1] + movs r0, 0x2 + b _081D053E + .pool +_081D0528: + movs r0, 0x2 + ands r0, r2 + cmp r0, 0 + bne _081D0534 + movs r0, 0 + b _081D053E +_081D0534: + adds r1, r4, 0 + adds r1, 0x98 + ldr r0, =sub_81D05D4 + str r0, [r1] + movs r0, 0x5 +_081D053E: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D04C4 + + thumb_func_start sub_81D0548 +sub_81D0548: @ 81D0548 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gMain + ldrh r1, [r0, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081D0562 + adds r0, r4, 0 + bl sub_81D05DC + cmp r0, 0 + bne _081D05A4 +_081D0562: + ldr r0, =gMain + ldrh r1, [r0, 0x30] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081D0578 + adds r0, r4, 0 + bl sub_81D061C + cmp r0, 0 + bne _081D05A4 +_081D0578: + ldr r0, =gMain + ldrh r1, [r0, 0x30] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081D058E + adds r0, r4, 0 + bl sub_81D0664 + cmp r0, 0 + bne _081D05A4 +_081D058E: + ldr r0, =gMain + ldrh r1, [r0, 0x30] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _081D05AC + adds r0, r4, 0 + bl sub_81D0688 + cmp r0, 0 + beq _081D05AC +_081D05A4: + movs r0, 0x3 + b _081D05CA + .pool +_081D05AC: + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081D05C0 + movs r0, 0 + b _081D05CA + .pool +_081D05C0: + adds r1, r4, 0 + adds r1, 0x98 + ldr r0, =sub_81D04C4 + str r0, [r1] + movs r0, 0x4 +_081D05CA: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D0548 + + thumb_func_start sub_81D05D4 +sub_81D05D4: @ 81D05D4 + ldr r0, =0x000186ae + bx lr + .pool + thumb_func_end sub_81D05D4 + + thumb_func_start sub_81D05DC +sub_81D05DC: @ 81D05DC + push {r4,lr} + adds r1, r0, 0 + ldrh r0, [r1, 0xC] + adds r2, r0, 0 + cmp r2, 0x18 + bhi _081D05F0 + cmp r2, 0x8 + bls _081D0612 + subs r0, 0x9 + b _081D060C +_081D05F0: + ldrh r3, [r1, 0x10] + adds r2, r3, 0 + cmp r2, 0 + beq _081D0612 + ldrh r0, [r1, 0xC] + subs r0, 0x1B + ldrh r4, [r1, 0xE] + adds r0, r4 + strh r0, [r1, 0xC] + lsls r0, 16 + lsrs r0, 16 + cmp r0, r2 + bcc _081D060E + subs r0, r3, 0x1 +_081D060C: + strh r0, [r1, 0xC] +_081D060E: + movs r0, 0x1 + b _081D0614 +_081D0612: + movs r0, 0 +_081D0614: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D05DC + + thumb_func_start sub_81D061C +sub_81D061C: @ 81D061C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0xC] + adds r1, r0, 0 + cmp r1, 0x18 + bhi _081D065C + ldrh r3, [r2, 0xE] + cmp r1, r3 + bcs _081D0640 + adds r0, 0x9 + strh r0, [r2, 0xC] + ldrh r1, [r2, 0x10] + lsls r0, 16 + lsrs r0, 16 + cmp r0, r1 + bcc _081D0658 + subs r0, r1, 0x1 + b _081D0656 +_081D0640: + ldrh r0, [r2, 0x12] + cmp r0, 0 + beq _081D065C + ldrh r1, [r2, 0xC] + ldrh r0, [r2, 0xE] + subs r0, r1, r0 + ldrh r1, [r2, 0x12] + cmp r0, r1 + blt _081D0654 + subs r0, r1, 0x1 +_081D0654: + adds r0, 0x1B +_081D0656: + strh r0, [r2, 0xC] +_081D0658: + movs r0, 0x1 + b _081D065E +_081D065C: + movs r0, 0 +_081D065E: + pop {r1} + bx r1 + thumb_func_end sub_81D061C + + thumb_func_start sub_81D0664 +sub_81D0664: @ 81D0664 + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r4, [r5, 0xC] + adds r0, r4, 0 + movs r1, 0x9 + bl __umodsi3 + lsls r0, 16 + cmp r0, 0 + bne _081D067C + movs r0, 0 + b _081D0682 +_081D067C: + subs r0, r4, 0x1 + strh r0, [r5, 0xC] + movs r0, 0x1 +_081D0682: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0664 + + thumb_func_start sub_81D0688 +sub_81D0688: @ 81D0688 + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r4, [r5, 0xC] + adds r0, r4, 0 + movs r1, 0x9 + bl __umodsi3 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0x7 + bgt _081D06BC + cmp r4, 0x1A + bhi _081D06AC + ldrh r0, [r5, 0x10] + subs r0, 0x1 + cmp r4, r0 + bge _081D06BC + b _081D06B4 +_081D06AC: + ldrh r0, [r5, 0x12] + subs r0, 0x1 + cmp r1, r0 + bge _081D06BC +_081D06B4: + adds r0, r4, 0x1 + strh r0, [r5, 0xC] + movs r0, 0x1 + b _081D06BE +_081D06BC: + movs r0, 0 +_081D06BE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0688 + + thumb_func_start sub_81D06C4 +sub_81D06C4: @ 81D06C4 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + ldr r0, [r0, 0x8] + ldrh r0, [r0, 0x2] + pop {r1} + bx r1 + thumb_func_end sub_81D06C4 + + thumb_func_start sub_81D06D4 +sub_81D06D4: @ 81D06D4 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + ldr r0, [r0, 0x8] + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81D06D4 + + thumb_func_start sub_81D06E4 +sub_81D06E4: @ 81D06E4 + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + adds r6, r2, 0 + movs r0, 0xD + bl GetSubstructPtr + ldr r1, [r0, 0x8] + ldrh r0, [r1, 0x2] + lsls r0, 2 + adds r0, 0x4 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0xE + bne _081D0730 + ldrb r1, [r1, 0x1] + movs r0, 0x64 + adds r4, r1, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x2 + adds r2, r5, 0 + bl GetMonData + adds r0, r4, 0 + bl GetLevelFromMonExp + strb r0, [r7] + adds r0, r4, 0 + bl GetMonGender + strb r0, [r6] + b _081D0752 + .pool +_081D0730: + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + strb r0, [r6] + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + strb r0, [r7] + adds r0, r4, 0 + movs r1, 0x2 + adds r2, r5, 0 + bl GetBoxMonData +_081D0752: + adds r0, r5, 0 + bl StringGetEnd10 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D06E4 + + thumb_func_start sub_81D0760 +sub_81D0760: @ 81D0760 + push {r4-r7,lr} + adds r5, r0, 0 + adds r6, r1, 0 + adds r7, r2, 0 + movs r0, 0xD + bl GetSubstructPtr + ldr r1, [r0, 0x8] + ldrh r0, [r1, 0x2] + lsls r0, 2 + adds r0, 0x4 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0xE + bne _081D07AC + ldrb r1, [r1, 0x1] + movs r0, 0x64 + adds r4, r1, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + strh r0, [r5] + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + str r0, [r6] + adds r0, r4, 0 + movs r1, 0x1 + bl GetMonData + b _081D07D0 + .pool +_081D07AC: + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + bl GetBoxedMonPtr + adds r4, r0, 0 + movs r1, 0xB + bl GetBoxMonData + strh r0, [r5] + adds r0, r4, 0 + movs r1, 0 + bl GetBoxMonData + str r0, [r6] + adds r0, r4, 0 + movs r1, 0x1 + bl GetBoxMonData +_081D07D0: + str r0, [r7] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D0760 + + thumb_func_start sub_81D07D8 +sub_81D07D8: @ 81D07D8 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + ldr r1, [r0, 0x8] + ldrh r0, [r1, 0x2] + lsls r0, 2 + adds r0, 0x4 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0xE + beq _081D07FA + ldrb r1, [r1, 0x1] + movs r2, 0x52 + bl GetBoxMonDataAt + b _081D080A +_081D07FA: + ldrb r1, [r1, 0x1] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x52 + bl GetMonData +_081D080A: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D07D8 + + thumb_func_start sub_81D0814 +sub_81D0814: @ 81D0814 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrh r1, [r0, 0x2] + lsls r1, 2 + adds r1, 0x4 + adds r1, r0, r1 + ldrb r0, [r1] + cmp r0, 0xE + bne _081D0848 + ldrb r1, [r1, 0x1] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x53 + bl GetMonData + b _081D0852 + .pool +_081D0848: + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + movs r2, 0x53 + bl GetBoxMonDataAt +_081D0852: + mov r12, r0 + movs r0, 0 + strh r0, [r5, 0x10] + strh r0, [r5, 0x12] + movs r6, 0 + ldr r0, =gUnknown_086237F8 + mov r9, r0 + mov r10, r9 +_081D0862: + lsls r2, r6, 2 + mov r3, r9 + adds r1, r2, r3 + movs r0, 0x1 + ldrb r3, [r1] + lsls r0, r3 + subs r4, r0, 0x1 + mov r0, r12 + ands r4, r0 + ldrb r0, [r1, 0x3] + adds r7, r2, 0 + cmp r0, 0 + bne _081D08AC + movs r3, 0 + adds r6, 0x1 + mov r8, r6 + cmp r3, r4 + bge _081D08D6 + adds r6, r5, 0 + adds r6, 0x14 + mov r1, r10 + adds r0, r7, r1 + ldrb r2, [r0, 0x2] +_081D0890: + ldrh r0, [r5, 0x10] + adds r1, r0, 0x1 + strh r1, [r5, 0x10] + lsls r0, 16 + lsrs r0, 14 + adds r0, r6, r0 + adds r1, r2, r3 + str r1, [r0] + adds r3, 0x1 + cmp r3, r4 + blt _081D0890 + b _081D08D6 + .pool +_081D08AC: + movs r3, 0 + adds r6, 0x1 + mov r8, r6 + cmp r3, r4 + bge _081D08D6 + adds r6, r5, 0 + adds r6, 0x78 + mov r1, r10 + adds r0, r7, r1 + ldrb r2, [r0, 0x2] +_081D08C0: + ldrh r0, [r5, 0x12] + adds r1, r0, 0x1 + strh r1, [r5, 0x12] + lsls r0, 16 + lsrs r0, 14 + adds r0, r6, r0 + adds r1, r2, r3 + str r1, [r0] + adds r3, 0x1 + cmp r3, r4 + blt _081D08C0 +_081D08D6: + mov r3, r9 + adds r0, r7, r3 + mov r1, r12 + ldrb r0, [r0] + lsrs r1, r0 + mov r12, r1 + mov r6, r8 + cmp r6, 0x10 + bls _081D0862 + ldrh r0, [r5, 0x10] + cmp r0, 0 + beq _081D0900 + subs r0, 0x1 + movs r1, 0x9 + bl __divsi3 + lsls r1, r0, 3 + adds r1, r0 + movs r0, 0 + strh r1, [r5, 0xE] + b _081D0904 +_081D0900: + strh r0, [r5, 0xE] + movs r0, 0x1B +_081D0904: + strh r0, [r5, 0xC] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D0814 + + thumb_func_start sub_81D0914 +sub_81D0914: @ 81D0914 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0xD + bl GetSubstructPtr + ldrh r1, [r0, 0x10] + str r1, [r4] + adds r0, 0x14 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D0914 + + thumb_func_start sub_81D092C +sub_81D092C: @ 81D092C + push {r4,lr} + adds r4, r0, 0 + movs r0, 0xD + bl GetSubstructPtr + ldrh r1, [r0, 0x12] + str r1, [r4] + adds r0, 0x78 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D092C + + thumb_func_start sub_81D0944 +sub_81D0944: @ 81D0944 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + ldrh r0, [r0, 0xC] + pop {r1} + bx r1 + thumb_func_end sub_81D0944 + + thumb_func_start sub_81D0954 +sub_81D0954: @ 81D0954 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + adds r1, r0, 0 + ldrh r0, [r1, 0xC] + cmp r0, 0x18 + ble _081D096C + subs r0, 0x1B + lsls r0, 2 + adds r1, 0x78 + b _081D0970 +_081D096C: + lsls r0, 2 + adds r1, 0x14 +_081D0970: + adds r1, r0 + ldr r0, [r1] + pop {r1} + bx r1 + thumb_func_end sub_81D0954 + + thumb_func_start sub_81D0978 +sub_81D0978: @ 81D0978 + push {r4,lr} + ldr r1, =0x0000101c + movs r0, 0xE + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081D09A8 + ldr r0, =sub_81D0A6C + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81D0A58 + str r0, [r4] + movs r0, 0x1 + b _081D09AA + .pool +_081D09A8: + movs r0, 0 +_081D09AA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D0978 + + thumb_func_start sub_81D09B0 +sub_81D09B0: @ 81D09B0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_08624BA0 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81D0A58 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D09B0 + + thumb_func_start sub_81D09E0 +sub_81D09E0: @ 81D09E0 + push {lr} + movs r0, 0xE + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81D09E0 + + thumb_func_start sub_81D09F4 +sub_81D09F4: @ 81D09F4 + push {r4,lr} + movs r0, 0xE + bl GetSubstructPtr + adds r4, r0, 0 + ldrb r0, [r4, 0xA] + bl RemoveWindow + ldrb r0, [r4, 0x8] + bl RemoveWindow + ldrb r0, [r4, 0xC] + bl RemoveWindow + ldrb r0, [r4, 0xE] + bl RemoveWindow + adds r0, r4, 0 + bl sub_81D1178 + movs r0, 0x9 + bl FreeSpriteTilesByTag + movs r0, 0xF + bl FreeSpritePaletteByTag + movs r0, 0x10 + bl FreeSpritePaletteByTag + movs r0, 0x11 + bl FreeSpritePaletteByTag + movs r0, 0x12 + bl FreeSpritePaletteByTag + movs r0, 0x13 + bl FreeSpritePaletteByTag + ldr r0, [r4, 0x14] + bl FreeSpriteOamMatrix + ldr r0, [r4, 0x14] + bl DestroySprite + movs r0, 0xE + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81D09F4 + + thumb_func_start sub_81D0A58 +sub_81D0A58: @ 81D0A58 + push {lr} + movs r0, 0xE + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81D0A58 + + thumb_func_start sub_81D0A6C +sub_81D0A6C: @ 81D0A6C + push {r4,r5,lr} + sub sp, 0x8 + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x9 + bls _081D0A80 + b _081D0C48 +_081D0A80: + lsls r0, r4, 2 + ldr r1, =_081D0A90 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081D0A90: + .4byte _081D0AB8 + .4byte _081D0B04 + .4byte _081D0B74 + .4byte _081D0B88 + .4byte _081D0B9C + .4byte _081D0BB0 + .4byte _081D0BC4 + .4byte _081D0BD8 + .4byte _081D0BE8 + .4byte _081D0C3C +_081D0AB8: + ldr r0, =gUnknown_08624B98 + movs r1, 0x2 + bl InitBgTemplates + ldr r1, =gUnknown_08DDE030 + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + adds r1, r5, 0 + adds r1, 0x1C + movs r0, 0x2 + bl SetBgTilemapBuffer + ldr r1, =gUnknown_08DDE12C + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + ldr r0, =gUnknown_08DDE010 + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + b _081D0BBA + .pool +_081D0B04: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + beq _081D0B12 + b _081D0C44 +_081D0B12: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0x1 + bl sub_8199DF0 + ldr r1, =gUnknown_086240B8 + str r4, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0x1 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =0x0000081c + adds r1, r5, r0 + movs r0, 0x1 + bl SetBgTilemapBuffer + movs r0, 0x20 + str r0, [sp] + movs r0, 0x14 + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect_Palette0 + ldr r0, =gUnknown_08623FF8 + movs r1, 0x20 + movs r2, 0xA0 + bl CopyPaletteIntoBufferUnfaded + ldr r0, =gUnknown_08624098 + movs r1, 0xA0 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 + b _081D0BBC + .pool +_081D0B74: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D0E60 + movs r0, 0 + b _081D0C4A +_081D0B88: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D0FCC + movs r0, 0 + b _081D0C4A +_081D0B9C: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D10A4 + movs r0, 0 + b _081D0C4A +_081D0BB0: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 +_081D0BBA: + movs r0, 0x2 +_081D0BBC: + bl CopyBgTilemapBufferToVram + movs r0, 0 + b _081D0C4A +_081D0BC4: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D1148 + movs r0, 0x1 + b _081D0C4A +_081D0BD8: + adds r0, r5, 0 + bl sub_81D12D8 + movs r0, 0xA + bl sub_81C7BA4 + movs r0, 0 + b _081D0C4A +_081D0BE8: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D13FC + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl HideBg + movs r0, 0x1 + bl sub_81C7AC0 + movs r0, 0 + b _081D0C4A +_081D0C3C: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081D0C48 +_081D0C44: + movs r0, 0x2 + b _081D0C4A +_081D0C48: + movs r0, 0x4 +_081D0C4A: + add sp, 0x8 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0A6C + + thumb_func_start sub_81D0C54 +sub_81D0C54: @ 81D0C54 + push {lr} + cmp r0, 0 + beq _081D0C60 + cmp r0, 0x1 + beq _081D0C70 + b _081D0C7C +_081D0C60: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081D0C7E +_081D0C70: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081D0C7C + movs r0, 0x2 + b _081D0C7E +_081D0C7C: + movs r0, 0x4 +_081D0C7E: + pop {r1} + bx r1 + thumb_func_end sub_81D0C54 + + thumb_func_start sub_81D0C84 +sub_81D0C84: @ 81D0C84 + push {r4,r5,lr} + adds r5, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r4, r0, 0 + cmp r5, 0x6 + bhi _081D0D24 + lsls r0, r5, 2 + ldr r1, =_081D0CA4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081D0CA4: + .4byte _081D0CC0 + .4byte _081D0CD0 + .4byte _081D0CE4 + .4byte _081D0CEE + .4byte _081D0CF8 + .4byte _081D0D02 + .4byte _081D0D16 +_081D0CC0: + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_81D11D8 + movs r0, 0 + b _081D0D26 +_081D0CD0: + adds r0, r4, 0 + bl sub_81D1234 + cmp r0, 0 + bne _081D0D20 + adds r0, r4, 0 + bl sub_81D0FF0 + movs r0, 0x1 + b _081D0D26 +_081D0CE4: + adds r0, r4, 0 + bl sub_81D12D8 + movs r0, 0x1 + b _081D0D26 +_081D0CEE: + adds r0, r4, 0 + bl sub_81D10D0 + movs r0, 0x1 + b _081D0D26 +_081D0CF8: + adds r0, r4, 0 + bl sub_81D0E84 + movs r0, 0x1 + b _081D0D26 +_081D0D02: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081D0D20 + adds r0, r4, 0 + bl sub_81D11FC + movs r0, 0 + b _081D0D26 +_081D0D16: + adds r0, r4, 0 + bl sub_81D1234 + cmp r0, 0 + beq _081D0D24 +_081D0D20: + movs r0, 0x2 + b _081D0D26 +_081D0D24: + movs r0, 0x4 +_081D0D26: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0C84 + + thumb_func_start sub_81D0D2C +sub_81D0D2C: @ 81D0D2C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D0D5C + cmp r4, 0x1 + bgt _081D0D46 + cmp r4, 0 + beq _081D0D4C + b _081D0D84 +_081D0D46: + cmp r4, 0x2 + beq _081D0D76 + b _081D0D84 +_081D0D4C: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81D1448 + movs r0, 0 + b _081D0D86 +_081D0D5C: + adds r0, r5, 0 + bl sub_81D1524 + cmp r0, 0 + bne _081D0D80 + adds r0, r5, 0 + bl sub_81D0EFC + movs r0, 0xB + bl sub_81C7BA4 + movs r0, 0 + b _081D0D86 +_081D0D76: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D0D84 +_081D0D80: + movs r0, 0x2 + b _081D0D86 +_081D0D84: + movs r0, 0x4 +_081D0D86: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0D2C + + thumb_func_start sub_81D0D8C +sub_81D0D8C: @ 81D0D8C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D0DC0 + cmp r4, 0x1 + bgt _081D0DA6 + cmp r4, 0 + beq _081D0DB0 + b _081D0DF6 +_081D0DA6: + cmp r4, 0x2 + beq _081D0DD4 + cmp r4, 0x3 + beq _081D0DE8 + b _081D0DF6 +_081D0DB0: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81D1500 + movs r0, 0 + b _081D0DF8 +_081D0DC0: + adds r0, r5, 0 + bl sub_81D1524 + cmp r0, 0 + bne _081D0DF2 + adds r0, r5, 0 + bl sub_81D1448 + movs r0, 0 + b _081D0DF8 +_081D0DD4: + adds r0, r5, 0 + bl sub_81D1524 + cmp r0, 0 + bne _081D0DF2 + adds r0, r5, 0 + bl sub_81D0EFC + movs r0, 0 + b _081D0DF8 +_081D0DE8: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D0DF6 +_081D0DF2: + movs r0, 0x2 + b _081D0DF8 +_081D0DF6: + movs r0, 0x4 +_081D0DF8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0D8C + + thumb_func_start sub_81D0E00 +sub_81D0E00: @ 81D0E00 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D0E30 + cmp r4, 0x1 + bgt _081D0E1A + cmp r4, 0 + beq _081D0E20 + b _081D0E58 +_081D0E1A: + cmp r4, 0x2 + beq _081D0E4A + b _081D0E58 +_081D0E20: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81D1500 + movs r0, 0 + b _081D0E5A +_081D0E30: + adds r0, r5, 0 + bl sub_81D1524 + cmp r0, 0 + bne _081D0E54 + adds r0, r5, 0 + bl sub_81D0E84 + movs r0, 0xA + bl sub_81C7BA4 + movs r0, 0 + b _081D0E5A +_081D0E4A: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D0E58 +_081D0E54: + movs r0, 0x2 + b _081D0E5A +_081D0E58: + movs r0, 0x4 +_081D0E5A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0E00 + + thumb_func_start sub_81D0E60 +sub_81D0E60: @ 81D0E60 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08624BB8 + bl AddWindow + strh r0, [r4, 0xA] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + adds r0, r4, 0 + bl sub_81D0E84 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0E60 + + thumb_func_start sub_81D0E84 +sub_81D0E84: @ 81D0E84 + push {r4,r5,lr} + sub sp, 0x10 + adds r5, r0, 0 + ldr r1, =gUnknown_08624BC0 + add r0, sp, 0xC + movs r2, 0x3 + bl memcpy + ldr r4, =gStringVar1 + bl sub_81D07D8 + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + bl DynamicPlaceholderTextUtil_Reset + movs r0, 0 + adds r1, r4, 0 + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr + ldr r4, =gStringVar4 + ldr r1, =gText_RibbonsF700 + adds r0, r4, 0 + bl DynamicPlaceholderTextUtil_ExpandPlaceholders + ldrb r0, [r5, 0xA] + movs r1, 0x44 + bl FillWindowPixelBuffer + ldrb r0, [r5, 0xA] + add r1, sp, 0xC + str r1, [sp] + movs r1, 0x1 + negs r1, r1 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + movs r2, 0 + movs r3, 0x1 + bl AddTextPrinterParameterized3 + ldrb r0, [r5, 0xA] + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0E84 + + thumb_func_start sub_81D0EFC +sub_81D0EFC: @ 81D0EFC + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + adds r7, r0, 0 + bl sub_81D0954 + adds r5, r0, 0 + ldr r1, =gUnknown_08624BC0 + add r0, sp, 0xC + movs r2, 0x3 + bl memcpy + ldrb r0, [r7, 0xA] + movs r1, 0x44 + bl FillWindowPixelBuffer + cmp r5, 0x18 + bhi _081D0F60 + lsls r1, r5, 3 + ldr r0, =gRibbonDescriptionPointers + adds r6, r1, r0 + movs r5, 0x80 + lsls r5, 17 + movs r4, 0x1 +_081D0F2E: + ldrb r0, [r7, 0xA] + lsrs r3, r5, 24 + add r1, sp, 0xC + str r1, [sp] + movs r1, 0x1 + negs r1, r1 + str r1, [sp, 0x4] + ldm r6!, {r1} + str r1, [sp, 0x8] + movs r1, 0x1 + movs r2, 0 + bl AddTextPrinterParameterized3 + movs r0, 0x80 + lsls r0, 21 + adds r5, r0 + subs r4, 0x1 + cmp r4, 0 + bge _081D0F2E + b _081D0FAA + .pool +_081D0F60: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, r5 + ldr r1, =0x0000318f + adds r0, r1 + ldrb r5, [r0] + cmp r5, 0 + beq _081D0FB2 + subs r5, 0x1 + movs r4, 0 + ldr r0, =gGiftRibbonDescriptionPointers + mov r8, r0 + movs r6, 0x80 + lsls r6, 17 +_081D0F7C: + ldrb r0, [r7, 0xA] + lsrs r3, r6, 24 + add r1, sp, 0xC + str r1, [sp] + movs r1, 0x1 + negs r1, r1 + str r1, [sp, 0x4] + lsls r1, r4, 2 + lsls r2, r5, 3 + adds r1, r2 + add r1, r8 + ldr r1, [r1] + str r1, [sp, 0x8] + movs r1, 0x1 + movs r2, 0 + bl AddTextPrinterParameterized3 + movs r0, 0x80 + lsls r0, 21 + adds r6, r0 + adds r4, 0x1 + cmp r4, 0x1 + ble _081D0F7C +_081D0FAA: + ldrb r0, [r7, 0xA] + movs r1, 0x2 + bl CopyWindowToVram +_081D0FB2: + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0EFC + + thumb_func_start sub_81D0FCC +sub_81D0FCC: @ 81D0FCC + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08624BC4 + bl AddWindow + strh r0, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + adds r0, r4, 0 + bl sub_81D0FF0 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0FCC + + thumb_func_start sub_81D0FF0 +sub_81D0FF0: @ 81D0FF0 + push {r4-r7,lr} + sub sp, 0x10 + ldrh r7, [r0, 0x8] + ldrb r5, [r0, 0x8] + adds r0, r5, 0 + movs r1, 0x11 + bl FillWindowPixelBuffer + ldr r4, =gStringVar3 + mov r6, sp + adds r6, 0xD + adds r0, r4, 0 + add r1, sp, 0xC + adds r2, r6, 0 + bl sub_81D06E4 + movs r0, 0x1 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + adds r0, r5, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0 + bl AddTextPrinterParameterized + ldrb r0, [r6] + cmp r0, 0 + beq _081D1040 + cmp r0, 0xFE + beq _081D1048 + ldr r1, =gUnknown_08624BE4 + b _081D104A + .pool +_081D1040: + ldr r1, =gUnknown_08624BCC + b _081D104A + .pool +_081D1048: + ldr r1, =gUnknown_08624BD8 +_081D104A: + ldr r5, =gStringVar1 + adds r0, r5, 0 + bl StringCopy + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + movs r1, 0xF9 + strb r1, [r0] + adds r0, 0x1 + movs r1, 0x5 + strb r1, [r0] + adds r0, 0x1 + add r1, sp, 0xC + ldrb r1, [r1] + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + lsls r4, r7, 24 + lsrs r4, 24 + movs r0, 0x1 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x3C + bl AddTextPrinterParameterized + adds r0, r4, 0 + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0FF0 + + thumb_func_start sub_81D10A4 +sub_81D10A4: @ 81D10A4 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08624BE8 + bl AddWindow + strh r0, [r4, 0xC] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0xC] + bl PutWindowTilemap + adds r0, r4, 0 + bl sub_81D10D0 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D10A4 + + thumb_func_start sub_81D10D0 +sub_81D10D0: @ 81D10D0 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0xC + mov r8, r0 + bl sub_81D06C4 + adds r4, r0, 0 + adds r4, 0x1 + bl sub_81D06D4 + adds r6, r0, 0 + ldr r5, =gStringVar1 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + adds r1, r6, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x38 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + mov r1, r8 + ldrb r0, [r1, 0xC] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x1 + str r1, [sp] + movs r1, 0xFF + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x1 + adds r2, r5, 0 + bl AddTextPrinterParameterized + mov r1, r8 + ldrb r0, [r1, 0xC] + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D10D0 + + thumb_func_start sub_81D1148 +sub_81D1148: @ 81D1148 + push {r4,lr} + sub sp, 0xC + adds r4, r0, 0 + add r1, sp, 0x4 + add r2, sp, 0x8 + mov r0, sp + bl sub_81D0760 + bl ResetAllPicSprites + movs r0, 0x28 + movs r1, 0x68 + bl sub_81D1184 + strh r0, [r4, 0x10] + movs r0, 0xF + movs r1, 0 + bl sub_81C7990 + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81D1148 + + thumb_func_start sub_81D1178 +sub_81D1178: @ 81D1178 + push {lr} + ldrh r0, [r0, 0x10] + bl FreeAndDestroyMonPicSprite + pop {r0} + bx r0 + thumb_func_end sub_81D1178 + + thumb_func_start sub_81D1184 +sub_81D1184: @ 81D1184 + push {lr} + sub sp, 0x1C + add r1, sp, 0x14 + add r2, sp, 0x18 + add r0, sp, 0x10 + bl sub_81D0760 + add r0, sp, 0x10 + ldrh r0, [r0] + ldr r1, [sp, 0x18] + ldr r2, [sp, 0x14] + movs r3, 0x28 + str r3, [sp] + movs r3, 0x68 + str r3, [sp, 0x4] + movs r3, 0xF + str r3, [sp, 0x8] + ldr r3, =0x0000ffff + str r3, [sp, 0xC] + movs r3, 0x1 + bl CreateMonPicSprite_HandleDeoxys + lsls r0, 16 + lsrs r0, 16 + ldr r1, =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 + strb r1, [r2, 0x5] + add sp, 0x1C + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D1184 + + thumb_func_start sub_81D11D8 +sub_81D11D8: @ 81D11D8 + push {lr} + ldrh r1, [r0, 0x10] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + movs r2, 0x20 + negs r2, r2 + movs r1, 0x28 + movs r3, 0x6 + bl sub_81D1258 + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D11D8 + + thumb_func_start sub_81D11FC +sub_81D11FC: @ 81D11FC + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x10] + bl FreeAndDestroyMonPicSprite + movs r5, 0x20 + negs r5, r5 + adds r0, r5, 0 + movs r1, 0x68 + bl sub_81D1184 + strh r0, [r4, 0x10] + ldrh r1, [r4, 0x10] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + adds r1, r5, 0 + movs r2, 0x28 + movs r3, 0x6 + bl sub_81D1258 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D11FC + + thumb_func_start sub_81D1234 +sub_81D1234: @ 81D1234 + ldr r2, =gSprites + ldrh r1, [r0, 0x10] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, [r0] + ldr r0, =SpriteCallbackDummy + eors r1, r0 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + bx lr + .pool + thumb_func_end sub_81D1234 + + thumb_func_start sub_81D1258 +sub_81D1258: @ 81D1258 + push {r4-r6,lr} + adds r4, r0, 0 + adds r6, r2, 0 + adds r5, r3, 0 + subs r0, r6, r1 + strh r1, [r4, 0x20] + lsls r1, 4 + strh r1, [r4, 0x2E] + lsls r0, 4 + adds r1, r5, 0 + bl __udivsi3 + strh r0, [r4, 0x30] + strh r5, [r4, 0x32] + strh r6, [r4, 0x34] + ldr r0, =sub_81D1284 + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1258 + + thumb_func_start sub_81D1284 +sub_81D1284: @ 81D1284 + push {lr} + adds r2, r0, 0 + ldrh r1, [r2, 0x32] + movs r3, 0x32 + ldrsh r0, [r2, r3] + cmp r0, 0 + beq _081D12C8 + subs r0, r1, 0x1 + strh r0, [r2, 0x32] + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x2E] + adds r0, r1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x20] + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + bgt _081D12BA + adds r0, r2, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _081D12D0 +_081D12BA: + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + b _081D12D0 +_081D12C8: + ldrh r0, [r2, 0x34] + strh r0, [r2, 0x20] + ldr r0, =SpriteCallbackDummy + str r0, [r2, 0x1C] +_081D12D0: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1284 + + thumb_func_start sub_81D12D8 +sub_81D12D8: @ 81D12D8 + push {r4-r6,lr} + bl sub_81D1350 + ldr r5, =gUnknown_030012C0 + adds r0, r5, 0 + bl sub_81D0914 + adds r6, r0, 0 + ldr r2, =gUnknown_030012C4 + movs r1, 0 + str r1, [r2] + ldr r0, [r5] + cmp r1, r0 + bcs _081D130A + adds r4, r2, 0 +_081D12F6: + ldr r0, [r4] + ldm r6!, {r1} + bl sub_81D1370 + ldr r1, [r4] + adds r1, 0x1 + str r1, [r4] + ldr r0, [r5] + cmp r1, r0 + bcc _081D12F6 +_081D130A: + ldr r4, =gUnknown_030012C0 + adds r0, r4, 0 + bl sub_81D092C + adds r6, r0, 0 + ldr r2, =gUnknown_030012C4 + movs r1, 0 + str r1, [r2] + ldr r0, [r4] + cmp r1, r0 + bcs _081D133A + adds r4, r2, 0 +_081D1322: + ldr r0, [r4] + adds r0, 0x1B + ldm r6!, {r1} + bl sub_81D1370 + ldr r1, [r4] + adds r1, 0x1 + str r1, [r4] + ldr r0, =gUnknown_030012C0 + ldr r0, [r0] + cmp r1, r0 + bcc _081D1322 +_081D133A: + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D12D8 + + thumb_func_start sub_81D1350 +sub_81D1350: @ 81D1350 + push {lr} + sub sp, 0x8 + movs r0, 0x20 + str r0, [sp] + movs r0, 0x14 + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect_Palette0 + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_81D1350 + + thumb_func_start sub_81D1370 +sub_81D1370: @ 81D1370 + push {r4-r6,lr} + sub sp, 0x10 + adds r4, r0, 0 + adds r6, r1, 0 + movs r1, 0x9 + bl __umodsi3 + adds r5, r0, 0 + lsls r5, 1 + adds r5, 0xB + adds r0, r4, 0 + movs r1, 0x9 + bl __udivsi3 + adds r4, r0, 0 + lsls r4, 1 + adds r4, 0x4 + add r0, sp, 0x8 + adds r1, r6, 0 + bl sub_81D13BC + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x2 + str r0, [sp] + str r0, [sp, 0x4] + movs r0, 0x1 + add r1, sp, 0x8 + adds r2, r5, 0 + adds r3, r4, 0 + bl CopyToBgTilemapBufferRect + add sp, 0x10 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81D1370 + + thumb_func_start sub_81D13BC +sub_81D13BC: @ 81D13BC + push {r4,r5,lr} + ldr r2, =gUnknown_08624BF8 + lsls r1, 2 + adds r1, r2 + ldrh r3, [r1, 0x2] + adds r3, 0x2 + lsls r3, 16 + ldrh r1, [r1] + lsls r1, 1 + adds r1, 0x1 + lsls r1, 16 + lsrs r1, 16 + lsrs r3, 4 + adds r2, r1, 0 + orrs r2, r3 + strh r2, [r0] + movs r5, 0x80 + lsls r5, 3 + adds r4, r5, 0 + orrs r2, r4 + strh r2, [r0, 0x2] + adds r1, 0x1 + orrs r1, r3 + strh r1, [r0, 0x4] + orrs r1, r4 + strh r1, [r0, 0x6] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D13BC + + thumb_func_start sub_81D13FC +sub_81D13FC: @ 81D13FC + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08624C78 + bl LoadCompressedSpriteSheet + ldr r0, =gUnknown_08624C80 + bl Pokenav_AllocAndLoadPalettes + ldr r0, =gUnknown_08624D04 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + str r1, [r4, 0x14] + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D13FC + + thumb_func_start sub_81D1448 +sub_81D1448: @ 81D1448 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r6, r0, 0 + bl sub_81D0944 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r4, 0 + movs r1, 0x9 + bl __modsi3 + adds r5, r0, 0 + lsls r5, 4 + adds r5, 0x60 + adds r0, r4, 0 + movs r1, 0x9 + bl __divsi3 + lsls r0, 4 + adds r0, 0x28 + ldr r1, [r6, 0x14] + movs r2, 0 + mov r8, r2 + strh r5, [r1, 0x20] + ldr r1, [r6, 0x14] + strh r0, [r1, 0x22] + bl sub_81D0954 + adds r4, r0, 0 + movs r0, 0x9 + bl GetSpriteTileStartByTag + ldr r3, [r6, 0x14] + ldr r1, =gUnknown_08624BF8 + lsls r4, 2 + adds r4, r1 + ldrh r1, [r4] + lsls r1, 4 + adds r0, r1 + ldr r2, =0x000003ff + adds r1, r2, 0 + ands r0, r1 + ldrh r2, [r3, 0x4] + ldr r1, =0xfffffc00 + ands r1, r2 + orrs r1, r0 + strh r1, [r3, 0x4] + ldrh r0, [r4, 0x2] + adds r0, 0xF + lsls r0, 16 + lsrs r0, 16 + bl IndexOfSpritePaletteTag + ldr r3, [r6, 0x14] + lsls r0, 4 + ldrb r2, [r3, 0x5] + movs r1, 0xF + ands r1, r2 + orrs r1, r0 + strb r1, [r3, 0x5] + ldr r0, [r6, 0x14] + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r1, [r6, 0x14] + adds r1, 0x3E + ldrb r2, [r1] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + ldr r0, [r6, 0x14] + mov r1, r8 + strh r1, [r0, 0x2E] + ldr r1, [r6, 0x14] + ldr r0, =sub_81D1538 + str r0, [r1, 0x1C] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1448 + + thumb_func_start sub_81D1500 +sub_81D1500: @ 81D1500 + push {r4,lr} + adds r4, r0, 0 + ldr r1, [r4, 0x14] + movs r0, 0x1 + strh r0, [r1, 0x2E] + ldr r0, [r4, 0x14] + movs r1, 0x2 + bl StartSpriteAffineAnim + ldr r1, [r4, 0x14] + ldr r0, =sub_81D1538 + str r0, [r1, 0x1C] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1500 + + thumb_func_start sub_81D1524 +sub_81D1524: @ 81D1524 + ldr r0, [r0, 0x14] + ldr r1, [r0, 0x1C] + ldr r0, =SpriteCallbackDummy + eors r1, r0 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + bx lr + .pool + thumb_func_end sub_81D1524 + + thumb_func_start sub_81D1538 +sub_81D1538: @ 81D1538 + push {lr} + adds r3, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081D156A + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + movs r0, 0x1 + ldrh r1, [r3, 0x2E] + ands r1, r0 + lsls r1, 2 + mov r0, r12 + ldrb r2, [r0] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldr r0, =SpriteCallbackDummy + str r0, [r3, 0x1C] +_081D156A: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1538 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_2.s b/asm/pokenav_unk_2.s new file mode 100644 index 0000000000..fd076973c4 --- /dev/null +++ b/asm/pokenav_unk_2.s @@ -0,0 +1,2277 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(2) + + thumb_func_start sub_81C98D4 +sub_81C98D4: @ 81C98D4 + push {r4,lr} + movs r4, 0 +_081C98D8: + adds r0, r4, 0 + bl sub_81CB0C8 + ldr r1, =gMapHeader + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r1, 0x14] + cmp r0, r1 + bne _081C9914 + adds r0, r4, 0 + bl sub_81CAE08 + cmp r0, 0 + beq _081C9914 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x000009ca + adds r0, r1 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _081C9914 + movs r0, 0x1 + b _081C991C + .pool +_081C9914: + adds r4, 0x1 + cmp r4, 0x4D + ble _081C98D8 + movs r0, 0 +_081C991C: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81C98D4 + + thumb_func_start sub_81C9924 +sub_81C9924: @ 81C9924 + push {lr} + bl sub_81C9958 + adds r1, r0, 0 + cmp r1, 0 + beq _081C9938 + movs r0, 0 + strb r0, [r1, 0xD] + movs r0, 0x1 + b _081C993A +_081C9938: + movs r0, 0 +_081C993A: + pop {r1} + bx r1 + thumb_func_end sub_81C9924 + + thumb_func_start sub_81C9940 +sub_81C9940: @ 81C9940 + push {lr} + bl sub_81C9958 + adds r1, r0, 0 + cmp r1, 0 + beq _081C9952 + movs r0, 0x1 + strb r0, [r1, 0xD] + b _081C9954 +_081C9952: + movs r0, 0 +_081C9954: + pop {r1} + bx r1 + thumb_func_end sub_81C9940 + + thumb_func_start sub_81C9958 +sub_81C9958: @ 81C9958 + push {r4,lr} + ldr r1, =0x0000088c + movs r0, 0x2 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081C997A + movs r0, 0 + strb r0, [r4, 0xC] + ldr r0, =sub_81C9A10 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81C99FC + str r0, [r4] +_081C997A: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81C9958 + + thumb_func_start sub_81C9990 +sub_81C9990: @ 81C9990 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x2 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_086201A0 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81C99FC + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81C9990 + + thumb_func_start sub_81C99C0 +sub_81C99C0: @ 81C99C0 + push {lr} + movs r0, 0x2 + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81C99C0 + + thumb_func_start sub_81C99D4 +sub_81C99D4: @ 81C99D4 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81CA7F4 + ldrb r0, [r4, 0x8] + bl RemoveWindow + bl sub_81C9FEC + bl sub_81CA994 + movs r0, 0x2 + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81C99D4 + + thumb_func_start sub_81C99FC +sub_81C99FC: @ 81C99FC + push {lr} + movs r0, 0x2 + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81C99FC + + thumb_func_start sub_81C9A10 +sub_81C9A10: @ 81C9A10 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r0, 0x2 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x9 + bls _081C9A24 + b _081C9C60 +_081C9A24: + lsls r0, r4, 2 + ldr r1, =_081C9A34 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081C9A34: + .4byte _081C9A5C + .4byte _081C9AEC + .4byte _081C9B30 + .4byte _081C9B88 + .4byte _081C9B9E + .4byte _081C9BA4 + .4byte _081C9BB6 + .4byte _081C9BC0 + .4byte _081C9C0E + .4byte _081C9C4C +_081C9A5C: + ldr r0, =gUnknown_08620194 + movs r1, 0x3 + bl InitBgTemplates + ldr r1, =gPokenavMessageBox_Gfx + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + adds r1, r5, 0 + adds r1, 0x8C + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, =gPokenavMessageBox_Tilemap + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + ldr r0, =gPokenavMessageBox_Pal + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgY +_081C9AD6: + movs r0, 0 + b _081C9C62 + .pool +_081C9AEC: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _081C9AFA + b _081C9C5C +_081C9AFA: + ldr r1, =gUnknown_0861FD6C + str r0, [sp] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r1, =gUnknown_0861FFF4 + movs r0, 0x1 + str r0, [sp] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =gUnknown_0861FD4C + movs r1, 0x20 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + b _081C9AD6 + .pool +_081C9B30: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _081C9B3E + b _081C9C5C +_081C9B3E: + ldr r1, =gUnknown_0861FC98 + str r0, [sp] + movs r0, 0x3 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r1, =gUnknown_0861FCAC + movs r0, 0x1 + str r0, [sp] + movs r0, 0x3 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =gUnknown_0861FC78 + movs r1, 0x30 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + bl sub_81C9894 + cmp r0, 0x3 + beq _081C9B76 + bl sub_81C9894 + cmp r0, 0x4 + bne _081C9AD6 +_081C9B76: + bl sub_81CA850 + b _081C9AD6 + .pool +_081C9B88: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081C9C5C + bl sub_81CA6E0 + bl sub_81CA7D4 +_081C9B9A: + movs r0, 0x1 + b _081C9C62 +_081C9B9E: + bl sub_81C9FC4 + b _081C9B9A +_081C9BA4: + bl sub_81CA714 + bl sub_81CA02C + bl sub_81CA640 + bl sub_81CA0C8 + b _081C9AD6 +_081C9BB6: + bl sub_81CA7C4 + cmp r0, 0 + bne _081C9C5C + b _081C9B9A +_081C9BC0: + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl ShowBg + ldrb r0, [r5, 0xD] + cmp r0, 0 + beq _081C9BE0 + movs r0, 0x1 + bl sub_81C7AC0 + b _081C9BEC +_081C9BE0: + movs r0, 0x6E + bl PlaySE + movs r0, 0x3 + bl sub_81C7AC0 +_081C9BEC: + bl sub_81C9894 + cmp r0, 0x3 + beq _081C9BFE + cmp r0, 0x4 + bne _081C9C06 + movs r0, 0x7 + bl LoadLeftHeaderGfxForIndex +_081C9BFE: + movs r0, 0x1 + bl LoadLeftHeaderGfxForIndex + b _081C9AD6 +_081C9C06: + movs r0, 0 + bl LoadLeftHeaderGfxForIndex + b _081C9AD6 +_081C9C0E: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081C9C5C + bl sub_81C9894 + cmp r0, 0x3 + beq _081C9C2C + cmp r0, 0x4 + bne _081C9C38 + movs r0, 0x7 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 +_081C9C2C: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 + b _081C9C42 +_081C9C38: + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 +_081C9C42: + bl sub_81CA20C + bl titlescreen_0 + b _081C9B9A +_081C9C4C: + bl sub_81CA324 + cmp r0, 0 + bne _081C9C5C + bl sub_81C8010 + cmp r0, 0 + beq _081C9C60 +_081C9C5C: + movs r0, 0x2 + b _081C9C62 +_081C9C60: + movs r0, 0x4 +_081C9C62: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81C9A10 + + thumb_func_start sub_81C9C6C +sub_81C9C6C: @ 81C9C6C + push {lr} + cmp r0, 0 + beq _081C9C78 + cmp r0, 0x1 + beq _081C9C8E + b _081C9CA2 +_081C9C78: + bl sub_81CAA3C + bl sub_81CA278 + bl sub_81CA714 + movs r0, 0x5 + bl PlaySE + movs r0, 0 + b _081C9CA4 +_081C9C8E: + bl sub_81CA324 + cmp r0, 0 + bne _081C9C9E + bl sub_81CA7C4 + cmp r0, 0 + beq _081C9CA2 +_081C9C9E: + movs r0, 0x2 + b _081C9CA4 +_081C9CA2: + movs r0, 0x4 +_081C9CA4: + pop {r1} + bx r1 + thumb_func_end sub_81C9C6C + + thumb_func_start sub_81C9CA8 +sub_81C9CA8: @ 81C9CA8 + push {lr} + cmp r0, 0x1 + beq _081C9CDC + cmp r0, 0x1 + bgt _081C9CB8 + cmp r0, 0 + beq _081C9CC2 + b _081C9D3C +_081C9CB8: + cmp r0, 0x2 + beq _081C9CFA + cmp r0, 0x3 + beq _081C9D14 + b _081C9D3C +_081C9CC2: + bl sub_81CA9C8 + bl sub_81CA2DC + movs r0, 0 + movs r1, 0 + bl sub_81C7FC4 + movs r0, 0x5 + bl PlaySE + movs r0, 0 + b _081C9D3E +_081C9CDC: + bl sub_81CA324 + cmp r0, 0 + bne _081C9D34 + bl sub_81C8010 + cmp r0, 0 + bne _081C9D34 + bl sub_81CA0C8 + movs r0, 0x1 + bl LoadLeftHeaderGfxForIndex + movs r0, 0 + b _081C9D3E +_081C9CFA: + bl sub_81CA20C + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 + bl sub_81CA818 + bl sub_81CA714 + movs r0, 0 + b _081C9D3E +_081C9D14: + bl sub_81CA324 + cmp r0, 0 + bne _081C9D34 + bl sub_81C8010 + cmp r0, 0 + bne _081C9D34 + bl sub_81CA89C + cmp r0, 0 + bne _081C9D34 + bl sub_81CA7C4 + cmp r0, 0 + beq _081C9D38 +_081C9D34: + movs r0, 0x2 + b _081C9D3E +_081C9D38: + bl sub_81CA9D8 +_081C9D3C: + movs r0, 0x4 +_081C9D3E: + pop {r1} + bx r1 + thumb_func_end sub_81C9CA8 + + thumb_func_start sub_81C9D44 +sub_81C9D44: @ 81C9D44 + push {lr} + cmp r0, 0x1 + beq _081C9D72 + cmp r0, 0x1 + bgt _081C9D54 + cmp r0, 0 + beq _081C9D5E + b _081C9DD2 +_081C9D54: + cmp r0, 0x2 + beq _081C9D90 + cmp r0, 0x3 + beq _081C9DAA + b _081C9DD2 +_081C9D5E: + bl sub_81CA9C8 + bl sub_81CA2DC + movs r0, 0x1 + movs r1, 0 + bl sub_81C7FC4 + movs r0, 0 + b _081C9DD4 +_081C9D72: + bl sub_81CA324 + cmp r0, 0 + bne _081C9DCA + bl sub_81C8010 + cmp r0, 0 + bne _081C9DCA + bl sub_81CA0C8 + movs r0, 0 + bl LoadLeftHeaderGfxForIndex + movs r0, 0 + b _081C9DD4 +_081C9D90: + bl sub_81CA20C + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 + bl sub_81CA864 + bl sub_81CA714 + movs r0, 0 + b _081C9DD4 +_081C9DAA: + bl sub_81CA324 + cmp r0, 0 + bne _081C9DCA + bl sub_81C8010 + cmp r0, 0 + bne _081C9DCA + bl sub_81CA89C + cmp r0, 0 + bne _081C9DCA + bl sub_81CA7C4 + cmp r0, 0 + beq _081C9DCE +_081C9DCA: + movs r0, 0x2 + b _081C9DD4 +_081C9DCE: + bl sub_81CA9D8 +_081C9DD2: + movs r0, 0x4 +_081C9DD4: + pop {r1} + bx r1 + thumb_func_end sub_81C9D44 + + thumb_func_start sub_81C9DD8 +sub_81C9DD8: @ 81C9DD8 + push {lr} + cmp r0, 0x1 + beq _081C9E04 + cmp r0, 0x1 + bgt _081C9DE8 + cmp r0, 0 + beq _081C9DF2 + b _081C9E50 +_081C9DE8: + cmp r0, 0x2 + beq _081C9E1A + cmp r0, 0x3 + beq _081C9E30 + b _081C9E50 +_081C9DF2: + bl sub_81CA9C8 + bl sub_81CA2DC + movs r0, 0x5 + bl PlaySE + movs r0, 0 + b _081C9E52 +_081C9E04: + bl sub_81CA324 + cmp r0, 0 + bne _081C9E48 + movs r0, 0x7 + bl LoadLeftHeaderGfxForIndex + bl sub_81CA0C8 + movs r0, 0 + b _081C9E52 +_081C9E1A: + bl sub_81CA20C + movs r0, 0x7 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 + bl sub_81CA714 + movs r0, 0 + b _081C9E52 +_081C9E30: + bl sub_81CA324 + cmp r0, 0 + bne _081C9E48 + bl sub_81C8010 + cmp r0, 0 + bne _081C9E48 + bl sub_81CA89C + cmp r0, 0 + beq _081C9E4C +_081C9E48: + movs r0, 0x2 + b _081C9E52 +_081C9E4C: + bl sub_81CA9D8 +_081C9E50: + movs r0, 0x4 +_081C9E52: + pop {r1} + bx r1 + thumb_func_end sub_81C9DD8 + + thumb_func_start sub_81C9E58 +sub_81C9E58: @ 81C9E58 + push {lr} + cmp r0, 0x1 + beq _081C9E86 + cmp r0, 0x1 + bgt _081C9E68 + cmp r0, 0 + beq _081C9E72 + b _081C9EC2 +_081C9E68: + cmp r0, 0x2 + beq _081C9E9E + cmp r0, 0x3 + beq _081C9EAA + b _081C9EC2 +_081C9E72: + bl sub_81CA9C8 + bl sub_81CA2DC + movs r0, 0x7 + movs r1, 0 + bl sub_81C7FC4 + movs r0, 0 + b _081C9EC4 +_081C9E86: + bl sub_81CA324 + cmp r0, 0 + bne _081C9EBA + bl sub_81C8010 + cmp r0, 0 + bne _081C9EBA + bl sub_81CA0C8 + movs r0, 0 + b _081C9EC4 +_081C9E9E: + bl sub_81CA20C + bl sub_81CA714 + movs r0, 0 + b _081C9EC4 +_081C9EAA: + bl sub_81CA324 + cmp r0, 0 + bne _081C9EBA + bl sub_81CA89C + cmp r0, 0 + beq _081C9EBE +_081C9EBA: + movs r0, 0x2 + b _081C9EC4 +_081C9EBE: + bl sub_81CA9D8 +_081C9EC2: + movs r0, 0x4 +_081C9EC4: + pop {r1} + bx r1 + thumb_func_end sub_81C9E58 + + thumb_func_start sub_81C9EC8 +sub_81C9EC8: @ 81C9EC8 + push {lr} + cmp r0, 0 + beq _081C9ED4 + cmp r0, 0x1 + beq _081C9EE2 + b _081C9EF0 +_081C9ED4: + movs r0, 0x20 + bl PlaySE + bl sub_81CA770 + movs r0, 0 + b _081C9EF2 +_081C9EE2: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081C9EF0 + movs r0, 0x2 + b _081C9EF2 +_081C9EF0: + movs r0, 0x4 +_081C9EF2: + pop {r1} + bx r1 + thumb_func_end sub_81C9EC8 + + thumb_func_start sub_81C9EF8 +sub_81C9EF8: @ 81C9EF8 + push {lr} + cmp r0, 0 + beq _081C9F04 + cmp r0, 0x1 + beq _081C9F12 + b _081C9F20 +_081C9F04: + movs r0, 0x5 + bl PlaySE + bl sub_81CA714 + movs r0, 0 + b _081C9F22 +_081C9F12: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081C9F20 + movs r0, 0x2 + b _081C9F22 +_081C9F20: + movs r0, 0x4 +_081C9F22: + pop {r1} + bx r1 + thumb_func_end sub_81C9EF8 + + thumb_func_start sub_81C9F28 +sub_81C9F28: @ 81C9F28 + push {lr} + cmp r0, 0x1 + beq _081C9F52 + cmp r0, 0x1 + bgt _081C9F38 + cmp r0, 0 + beq _081C9F42 + b _081C9FBC +_081C9F38: + cmp r0, 0x2 + beq _081C9F96 + cmp r0, 0x3 + beq _081C9FB0 + b _081C9FBC +_081C9F42: + bl sub_81C98C4 + lsls r0, 16 + lsrs r0, 16 + bl sub_81C7BA4 + movs r0, 0 + b _081C9FBE +_081C9F52: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0 + bne _081C9FB8 + bl sub_81C7880 + bl sub_81CA9C8 + bl sub_81CA2DC + bl sub_81C9894 + cmp r0, 0x3 + beq _081C9F7A + cmp r0, 0x4 + bne _081C9F84 + movs r0, 0x7 + movs r1, 0 + bl sub_81C7FC4 +_081C9F7A: + movs r0, 0x1 + movs r1, 0 + bl sub_81C7FC4 + b _081C9F8C +_081C9F84: + movs r0, 0 + movs r1, 0 + bl sub_81C7FC4 +_081C9F8C: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + b _081C9FBE +_081C9F96: + bl sub_81CA324 + cmp r0, 0 + bne _081C9FB8 + bl sub_81C8010 + cmp r0, 0 + bne _081C9FB8 + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081C9FBE +_081C9FB0: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081C9FBC +_081C9FB8: + movs r0, 0x2 + b _081C9FBE +_081C9FBC: + movs r0, 0x4 +_081C9FBE: + pop {r1} + bx r1 + thumb_func_end sub_81C9F28 + + thumb_func_start sub_81C9FC4 +sub_81C9FC4: @ 81C9FC4 + push {r4,r5,lr} + movs r5, 0 + ldr r4, =gUnknown_086201C4 +_081C9FCA: + adds r0, r4, 0 + bl LoadCompressedSpriteSheet + adds r4, 0x8 + adds r5, 0x1 + cmp r5, 0x1 + bls _081C9FCA + ldr r0, =gUnknown_086201D4 + bl Pokenav_AllocAndLoadPalettes + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81C9FC4 + + thumb_func_start sub_81C9FEC +sub_81C9FEC: @ 81C9FEC + push {lr} + movs r0, 0x3 + bl FreeSpriteTilesByTag + movs r0, 0x1 + bl FreeSpriteTilesByTag + movs r0, 0x4 + bl FreeSpritePaletteByTag + movs r0, 0x5 + bl FreeSpritePaletteByTag + movs r0, 0x6 + bl FreeSpritePaletteByTag + movs r0, 0x7 + bl FreeSpritePaletteByTag + movs r0, 0x8 + bl FreeSpritePaletteByTag + movs r0, 0x3 + bl FreeSpritePaletteByTag + bl sub_81CA094 + bl sub_81CA698 + pop {r0} + bx r0 + thumb_func_end sub_81C9FEC + + thumb_func_start sub_81CA02C +sub_81CA02C: @ 81CA02C + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0x2 + bl GetSubstructPtr + movs r2, 0 + adds r0, 0x2C + mov r8, r0 +_081CA03E: + movs r4, 0 + lsls r0, r2, 2 + lsls r1, r2, 4 + adds r7, r2, 0x1 + adds r0, r2 + lsls r0, 18 + movs r2, 0xA0 + lsls r2, 14 + adds r5, r0, r2 + mov r0, r8 + adds r6, r1, r0 +_081CA054: + ldr r0, =gUnknown_0862034C + movs r1, 0x8C + asrs r2, r5, 16 + movs r3, 0x3 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + stm r6!, {r1} + lsls r0, r4, 5 + strh r0, [r1, 0x24] + adds r4, 0x1 + cmp r4, 0x3 + ble _081CA054 + adds r2, r7, 0 + cmp r2, 0x5 + ble _081CA03E + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA02C + + thumb_func_start sub_81CA094 +sub_81CA094: @ 81CA094 + push {r4-r7,lr} + movs r0, 0x2 + bl GetSubstructPtr + movs r1, 0 + adds r7, r0, 0 + adds r7, 0x2C +_081CA0A2: + lsls r0, r1, 4 + adds r6, r1, 0x1 + adds r4, r0, r7 + movs r5, 0x3 +_081CA0AA: + ldr r0, [r4] + bl FreeSpriteOamMatrix + ldm r4!, {r0} + bl DestroySprite + subs r5, 0x1 + cmp r5, 0 + bge _081CA0AA + adds r1, r6, 0 + cmp r1, 0x5 + ble _081CA0A2 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CA094 + + thumb_func_start sub_81CA0C8 +sub_81CA0C8: @ 81CA0C8 + push {lr} + bl sub_81C9894 + lsls r2, r0, 3 + subs r2, r0 + lsls r2, 2 + ldr r1, =gUnknown_08620244 + adds r0, r2, r1 + subs r1, 0x4 + adds r2, r1 + ldrh r1, [r2] + ldrh r2, [r2, 0x2] + bl sub_81CA0EC + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA0C8 + + thumb_func_start sub_81CA0EC +sub_81CA0EC: @ 81CA0EC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + adds r6, r0, 0 + str r1, [sp, 0x14] + str r2, [sp] + movs r0, 0x2 + bl GetSubstructPtr + mov r10, r0 + movs r0, 0x3 + bl GetSpriteTileStartByTag + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x4] + movs r1, 0 +_081CA114: + ldr r0, [r6] + cmp r0, 0 + beq _081CA1B0 + movs r5, 0 + lsls r2, r1, 4 + mov r0, r10 + adds r0, 0x2C + lsls r3, r1, 2 + mov r9, r3 + movs r4, 0x10 + add r4, r10 + mov r8, r4 + adds r7, r6, 0x4 + str r7, [sp, 0xC] + ldr r3, [sp, 0x14] + ldr r4, [sp] + adds r3, r4 + str r3, [sp, 0x8] + adds r1, 0x1 + str r1, [sp, 0x10] + adds r4, r2, r0 +_081CA13E: + ldr r3, [r4] + ldr r0, [r6] + ldrh r2, [r0] + ldr r7, [sp, 0x4] + adds r2, r7 + lsls r0, r5, 3 + adds r2, r0 + ldr r1, =0x000003ff + adds r0, r1, 0 + ands r2, r0 + ldrh r0, [r3, 0x4] + ldr r7, =0xfffffc00 + adds r1, r7, 0 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, 0x4] + ldr r0, [r6] + ldrh r0, [r0, 0x2] + adds r0, 0x4 + lsls r0, 16 + lsrs r0, 16 + bl IndexOfSpritePaletteTag + ldr r3, [r4] + lsls r0, 4 + ldrb r2, [r3, 0x5] + movs r1, 0xF + ands r1, r2 + orrs r1, r0 + strb r1, [r3, 0x5] + ldr r2, [r4] + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, [r4] + mov r1, sp + ldrh r1, [r1, 0x14] + strh r1, [r0, 0x22] + ldr r1, [r4] + movs r0, 0x8C + strh r0, [r1, 0x20] + ldm r4!, {r1} + lsls r0, r5, 5 + strh r0, [r1, 0x24] + adds r5, 0x1 + cmp r5, 0x3 + ble _081CA13E + mov r1, r8 + add r1, r9 + movs r0, 0x1 + b _081CA1EC + .pool +_081CA1B0: + lsls r2, r1, 4 + mov r0, r10 + adds r0, 0x2C + lsls r3, r1, 2 + mov r9, r3 + movs r4, 0x10 + add r4, r10 + mov r8, r4 + adds r6, 0x4 + str r6, [sp, 0xC] + ldr r7, [sp, 0x14] + ldr r3, [sp] + adds r7, r3 + str r7, [sp, 0x8] + adds r1, 0x1 + str r1, [sp, 0x10] + movs r3, 0x4 + adds r2, r0 + movs r5, 0x3 +_081CA1D6: + ldm r2!, {r1} + adds r1, 0x3E + ldrb r0, [r1] + orrs r0, r3 + strb r0, [r1] + subs r5, 0x1 + cmp r5, 0 + bge _081CA1D6 + mov r1, r8 + add r1, r9 + movs r0, 0 +_081CA1EC: + str r0, [r1] + ldr r6, [sp, 0xC] + ldr r4, [sp, 0x8] + str r4, [sp, 0x14] + ldr r1, [sp, 0x10] + cmp r1, 0x5 + ble _081CA114 + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CA0EC + + thumb_func_start sub_81CA20C +sub_81CA20C: @ 81CA20C + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0x2 + bl GetSubstructPtr + adds r6, r0, 0 + bl sub_81C98A4 + mov r8, r0 + movs r7, 0 + movs r5, 0 + adds r4, r6, 0 + adds r4, 0x2C +_081CA228: + lsls r0, r5, 2 + adds r1, r6, 0 + adds r1, 0x10 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0 + beq _081CA25C + adds r0, r7, 0 + adds r7, 0x1 + cmp r0, r8 + bne _081CA244 + movs r2, 0x82 + strb r5, [r6, 0xB] + b _081CA246 +_081CA244: + movs r2, 0x8C +_081CA246: + adds r0, r4, 0 + movs r1, 0x80 + lsls r1, 1 + movs r3, 0xC + bl sub_81CA35C + adds r0, r4, 0 + movs r1, 0 + bl sub_81CA448 + b _081CA264 +_081CA25C: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_81CA448 +_081CA264: + adds r4, 0x10 + adds r5, 0x1 + cmp r5, 0x5 + ble _081CA228 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CA20C + + thumb_func_start sub_81CA278 +sub_81CA278: @ 81CA278 + push {r4,r5,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81C98A4 + adds r3, r0, 0 + movs r2, 0 + movs r5, 0 + ldr r0, [r4, 0x10] + cmp r0, 0 + beq _081CA298 + cmp r5, r3 + beq _081CA2B2 +_081CA296: + adds r5, 0x1 +_081CA298: + adds r2, 0x1 + cmp r2, 0x5 + bgt _081CA2B2 + lsls r0, r2, 2 + adds r1, r4, 0 + adds r1, 0x10 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0 + beq _081CA298 + cmp r5, r3 + bne _081CA296 + adds r5, r2, 0 +_081CA2B2: + ldrb r0, [r4, 0xB] + lsls r0, 4 + adds r0, 0x2C + adds r0, r4, r0 + movs r1, 0x82 + movs r2, 0x8C + movs r3, 0x4 + bl sub_81CA35C + lsls r0, r5, 4 + adds r0, 0x2C + adds r0, r4, r0 + movs r1, 0x8C + movs r2, 0x82 + movs r3, 0x4 + bl sub_81CA35C + strb r5, [r4, 0xB] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CA278 + + thumb_func_start sub_81CA2DC +sub_81CA2DC: @ 81CA2DC + push {r4-r6,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r6, r0, 0 + movs r5, 0 + adds r4, r6, 0 + adds r4, 0x2C +_081CA2EC: + lsls r0, r5, 2 + adds r1, r6, 0 + adds r1, 0x10 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0 + beq _081CA316 + ldrb r0, [r6, 0xB] + cmp r0, r5 + beq _081CA310 + adds r0, r4, 0 + movs r1, 0x8C + movs r2, 0x80 + lsls r2, 1 + movs r3, 0x8 + bl sub_81CA35C + b _081CA316 +_081CA310: + adds r0, r4, 0 + bl sub_81CA3B4 +_081CA316: + adds r4, 0x10 + adds r5, 0x1 + cmp r5, 0x5 + ble _081CA2EC + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81CA2DC + + thumb_func_start sub_81CA324 +sub_81CA324: @ 81CA324 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r3, r0, 0 + movs r2, 0 + ldr r4, =SpriteCallbackDummy + adds r1, r3, 0 + adds r1, 0x2C +_081CA336: + ldr r0, [r1] + ldr r0, [r0, 0x1C] + cmp r0, r4 + bne _081CA354 + adds r1, 0x10 + adds r2, 0x1 + cmp r2, 0x5 + ble _081CA336 + ldrb r0, [r3, 0xC] + cmp r0, 0 + bne _081CA354 + movs r0, 0 + b _081CA356 + .pool +_081CA354: + movs r0, 0x1 +_081CA356: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CA324 + + thumb_func_start sub_81CA35C +sub_81CA35C: @ 81CA35C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r4, r0, 0 + adds r5, r1, 0 + mov r9, r2 + adds r6, r3, 0 + ldr r0, =sub_81CA474 + mov r8, r0 + subs r0, r2, r5 + lsls r0, 4 + adds r1, r6, 0 + bl __divsi3 + adds r3, r0, 0 + movs r1, 0x3 + lsls r2, r5, 4 +_081CA380: + ldr r0, [r4] + strh r5, [r0, 0x20] + ldr r0, [r4] + strh r6, [r0, 0x2E] + ldr r0, [r4] + strh r3, [r0, 0x30] + ldr r0, [r4] + strh r2, [r0, 0x32] + ldr r0, [r4] + mov r7, r9 + strh r7, [r0, 0x3C] + ldm r4!, {r0} + mov r7, r8 + str r7, [r0, 0x1C] + subs r1, 0x1 + cmp r1, 0 + bge _081CA380 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA35C + + thumb_func_start sub_81CA3B4 +sub_81CA3B4: @ 81CA3B4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r0, 0 + movs r0, 0x2 + bl GetSubstructPtr + adds r7, r0, 0 + movs r5, 0 + mov r8, r5 +_081CA3C8: + ldr r2, [r4] + ldrb r1, [r2, 0x1] + movs r3, 0xD + negs r3, r3 + adds r0, r3, 0 + ands r1, r0 + movs r0, 0x4 + orrs r1, r0 + strb r1, [r2, 0x1] + ldr r2, [r4] + ldrb r0, [r2, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r2, 0x1] + ldr r1, [r4] + ldr r0, =sub_81CA4AC + str r0, [r1, 0x1C] + movs r6, 0x8 + strh r6, [r1, 0x2E] + ldr r0, [r4] + mov r1, r8 + strh r1, [r0, 0x30] + ldr r0, [r4] + strh r5, [r0, 0x3C] + ldr r0, [r4] + bl InitSpriteAffineAnim + ldm r4!, {r0} + movs r1, 0 + bl StartSpriteAffineAnim + adds r5, 0x1 + cmp r5, 0x3 + ble _081CA3C8 + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + ldr r0, =sub_81CA580 + movs r1, 0x3 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r6, [r1, 0x8] + ldrb r0, [r7, 0xC] + adds r0, 0x1 + strb r0, [r7, 0xC] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA3B4 + + thumb_func_start sub_81CA448 +sub_81CA448: @ 81CA448 + push {r4-r6,lr} + adds r5, r0, 0 + movs r0, 0x1 + ands r1, r0 + lsls r4, r1, 2 + movs r6, 0x5 + negs r6, r6 + movs r3, 0x3 +_081CA458: + ldm r5!, {r0} + adds r0, 0x3E + ldrb r2, [r0] + adds r1, r6, 0 + ands r1, r2 + orrs r1, r4 + strb r1, [r0] + subs r3, 0x1 + cmp r3, 0 + bge _081CA458 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81CA448 + + thumb_func_start sub_81CA474 +sub_81CA474: @ 81CA474 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + subs r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + beq _081CA49A + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x20] + b _081CA4A2 +_081CA49A: + ldrh r0, [r2, 0x3C] + strh r0, [r2, 0x20] + ldr r0, =SpriteCallbackDummy + str r0, [r2, 0x1C] +_081CA4A2: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA474 + + thumb_func_start sub_81CA4AC +sub_81CA4AC: @ 81CA4AC + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _081CA574 + movs r0, 0x30 + ldrsh r5, [r4, r0] + cmp r5, 0 + bne _081CA4E2 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + strh r5, [r4, 0x24] + b _081CA578 +_081CA4E2: + ldrh r0, [r4, 0x32] + adds r0, 0x10 + strh r0, [r4, 0x32] + movs r2, 0x32 + ldrsh r0, [r4, r2] + asrs r1, r0, 3 + adds r0, r1, 0 + subs r0, 0x20 + lsrs r1, r0, 31 + adds r0, r1 + asrs r1, r0, 1 + movs r2, 0x3C + ldrsh r0, [r4, r2] + cmp r0, 0x1 + beq _081CA518 + cmp r0, 0x1 + bgt _081CA50A + cmp r0, 0 + beq _081CA514 + b _081CA526 +_081CA50A: + cmp r0, 0x2 + beq _081CA51C + cmp r0, 0x3 + beq _081CA520 + b _081CA526 +_081CA514: + negs r1, r1 + b _081CA520 +_081CA518: + negs r0, r1 + b _081CA524 +_081CA51C: + strh r1, [r4, 0x24] + b _081CA526 +_081CA520: + lsls r0, r1, 1 + adds r0, r1 +_081CA524: + strh r0, [r4, 0x24] +_081CA526: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081CA578 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r1, [r4, 0x1] + lsrs r1, 6 + ldrb r2, [r4, 0x3] + lsrs r2, 6 + adds r0, r4, 0 + movs r3, 0 + bl CalcCenterToCornerVec + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0xD + negs r1, r1 + ands r0, r1 + strb r0, [r4, 0x1] + ldr r0, =SpriteCallbackDummy + str r0, [r4, 0x1C] + b _081CA578 + .pool +_081CA574: + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] +_081CA578: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CA4AC + + thumb_func_start sub_81CA580 +sub_81CA580: @ 81CA580 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + ldrh r0, [r4] + movs r1, 0 + ldrsh r2, [r4, r1] + cmp r2, 0 + bne _081CA634 + movs r0, 0x2 + ldrsh r1, [r4, r0] + cmp r1, 0 + beq _081CA5AC + cmp r1, 0x1 + beq _081CA5CC + b _081CA638 + .pool +_081CA5AC: + movs r0, 0x10 + strh r0, [r4, 0x4] + strh r2, [r4, 0x6] + movs r1, 0xFC + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + b _081CA638 +_081CA5CC: + ldrh r0, [r4, 0x8] + ands r1, r0 + cmp r1, 0 + beq _081CA5E4 + ldrh r0, [r4, 0x4] + subs r0, 0x3 + strh r0, [r4, 0x4] + lsls r0, 16 + cmp r0, 0 + bge _081CA5F6 + strh r2, [r4, 0x4] + b _081CA5F6 +_081CA5E4: + ldrh r0, [r4, 0x6] + adds r0, 0x3 + strh r0, [r4, 0x6] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _081CA5F6 + movs r0, 0x10 + strh r0, [r4, 0x6] +_081CA5F6: + ldrh r1, [r4, 0x6] + lsls r1, 8 + ldrh r0, [r4, 0x4] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + bne _081CA638 + movs r0, 0x2 + bl GetSubstructPtr + ldrb r1, [r0, 0xC] + subs r1, 0x1 + strb r1, [r0, 0xC] + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + adds r0, r5, 0 + bl DestroyTask + b _081CA638 +_081CA634: + subs r0, 0x1 + strh r0, [r4] +_081CA638: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CA580 + + thumb_func_start sub_81CA640 +sub_81CA640: @ 81CA640 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + ldr r0, =gUnknown_0862036C + movs r1, 0x10 + movs r2, 0x60 + movs r3, 0x4 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + str r1, [r4, 0x28] + bl sub_81C98D4 + cmp r0, 0 + beq _081CA684 + ldr r1, [r4, 0x28] + ldr r0, =sub_81CA6AC + str r0, [r1, 0x1C] + b _081CA690 + .pool +_081CA684: + ldr r0, [r4, 0x28] + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_081CA690: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CA640 + + thumb_func_start sub_81CA698 +sub_81CA698: @ 81CA698 + push {lr} + movs r0, 0x2 + bl GetSubstructPtr + ldr r0, [r0, 0x28] + bl DestroySprite + pop {r0} + bx r0 + thumb_func_end sub_81CA698 + + thumb_func_start sub_81CA6AC +sub_81CA6AC: @ 81CA6AC + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _081CA6DA + movs r0, 0 + strh r0, [r3, 0x2E] + adds r3, 0x3E + ldrb r2, [r3] + 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 + strb r0, [r3] +_081CA6DA: + pop {r0} + bx r0 + thumb_func_end sub_81CA6AC + + thumb_func_start sub_81CA6E0 +sub_81CA6E0: @ 81CA6E0 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + ldr r0, =gUnknown_086202CC + bl AddWindow + strh r0, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + ldrb r0, [r4, 0x8] + movs r1, 0x66 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x8] + movs r1, 0x3 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA6E0 + + thumb_func_start sub_81CA714 +sub_81CA714: @ 81CA714 + push {r4-r6,lr} + sub sp, 0xC + movs r0, 0x2 + bl GetSubstructPtr + adds r5, r0, 0 + bl sub_81C98B4 + ldr r1, =gUnknown_086202D4 + lsls r0, 2 + adds r0, r1 + ldr r6, [r0] + movs r2, 0x1 + negs r2, r2 + movs r0, 0x1 + adds r1, r6, 0 + bl GetStringWidth + adds r4, r0, 0 + ldrb r0, [r5, 0x8] + movs r1, 0x66 + bl FillWindowPixelBuffer + ldrb r0, [r5, 0x8] + movs r2, 0xC0 + subs r2, r4 + lsrs r2, 1 + lsls r2, 24 + lsrs r2, 24 + ldr r1, =gUnknown_0862030C + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r6, [sp, 0x8] + movs r1, 0x1 + movs r3, 0x1 + bl AddTextPrinterParameterized3 + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA714 + + thumb_func_start sub_81CA770 +sub_81CA770: @ 81CA770 + push {r4-r6,lr} + sub sp, 0xC + movs r0, 0x2 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r6, =gText_NoRibbonWinners + movs r2, 0x1 + negs r2, r2 + movs r0, 0x1 + adds r1, r6, 0 + bl GetStringWidth + adds r4, r0, 0 + ldrb r0, [r5, 0x8] + movs r1, 0x66 + bl FillWindowPixelBuffer + ldrb r0, [r5, 0x8] + movs r2, 0xC0 + subs r2, r4 + lsrs r2, 1 + lsls r2, 24 + lsrs r2, 24 + ldr r1, =gUnknown_0862030F + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r6, [sp, 0x8] + movs r1, 0x1 + movs r3, 0x1 + bl AddTextPrinterParameterized3 + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA770 + + thumb_func_start sub_81CA7C4 +sub_81CA7C4: @ 81CA7C4 + push {lr} + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_81CA7C4 + + thumb_func_start sub_81CA7D4 +sub_81CA7D4: @ 81CA7D4 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + ldr r0, =sub_81CA808 + movs r1, 0x2 + bl CreateTask + strb r0, [r4, 0xA] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA7D4 + + thumb_func_start sub_81CA7F4 +sub_81CA7F4: @ 81CA7F4 + push {lr} + movs r0, 0x2 + bl GetSubstructPtr + ldrb r0, [r0, 0xA] + bl DestroyTask + pop {r0} + bx r0 + thumb_func_end sub_81CA7F4 + + thumb_func_start sub_81CA808 +sub_81CA808: @ 81CA808 + push {lr} + movs r0, 0x3 + movs r1, 0x80 + movs r2, 0x1 + bl ChangeBgX + pop {r0} + bx r0 + thumb_func_end sub_81CA808 + + thumb_func_start sub_81CA818 +sub_81CA818: @ 81CA818 + push {r4,r5,lr} + ldr r0, =sub_81CA8B0 + movs r1, 0x3 + bl CreateTask + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, =gUnknown_0861FC78 + 2 + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl SetWordTaskArg + adds r5, 0xC + adds r0, r4, 0 + movs r1, 0x3 + adds r2, r5, 0 + bl SetWordTaskArg + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA818 + + thumb_func_start sub_81CA850 +sub_81CA850: @ 81CA850 + push {lr} + ldr r0, =gUnknown_0861FC78 + 0xE + movs r1, 0x31 + movs r2, 0x4 + bl CopyPaletteIntoBufferUnfaded + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA850 + + thumb_func_start sub_81CA864 +sub_81CA864: @ 81CA864 + push {r4,r5,lr} + ldr r0, =sub_81CA8B0 + movs r1, 0x3 + bl CreateTask + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, =gUnknown_0861FC78 + 0xE + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl SetWordTaskArg + subs r5, 0xC + adds r0, r4, 0 + movs r1, 0x3 + adds r2, r5, 0 + bl SetWordTaskArg + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA864 + + thumb_func_start sub_81CA89C +sub_81CA89C: @ 81CA89C + push {lr} + ldr r0, =sub_81CA8B0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CA89C + + thumb_func_start sub_81CA8B0 +sub_81CA8B0: @ 81CA8B0 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r6, r0, 24 + lsls r4, r6, 2 + adds r4, r6 + lsls r4, 3 + ldr r0, =gTasks + 0x8 + adds r4, r0 + adds r0, r6, 0 + movs r1, 0x1 + bl GetWordTaskArg + adds r5, r0, 0 + adds r0, r6, 0 + movs r1, 0x3 + bl GetWordTaskArg + adds r1, r0, 0 + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + add r0, sp, 0x8 + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r2, 0x2 + movs r3, 0xC + bl sub_81C79BC + add r0, sp, 0x8 + movs r1, 0x31 + movs r2, 0x4 + bl LoadPalette + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0xC + bne _081CA908 + adds r0, r6, 0 + bl DestroyTask +_081CA908: + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA8B0 + + thumb_func_start sub_81CA914 +sub_81CA914: @ 81CA914 + push {lr} + bl TransferPlttBuffer + bl LoadOam + bl ProcessSpriteCopyRequests + bl ScanlineEffect_InitHBlankDmaTransfer + pop {r0} + bx r0 + thumb_func_end sub_81CA914 + + thumb_func_start titlescreen_0 +titlescreen_0: @ 81CA92C + push {lr} + movs r0, 0x50 + movs r1, 0x90 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 6 + movs r0, 0 + bl SetGpuRegBits + movs r0, 0x48 + movs r1, 0x3F + bl SetGpuRegBits + movs r0, 0x4A + movs r1, 0x1F + bl SetGpuRegBits + movs r0, 0x44 + movs r1, 0xA0 + bl SetGpuRegBits + bl ScanlineEffect_Stop + bl sub_81CAA3C + ldr r2, =gUnknown_08620384 + ldr r0, [r2] + ldr r1, [r2, 0x4] + ldr r2, [r2, 0x8] + bl ScanlineEffect_SetParams + ldr r0, =sub_81CA914 + bl SetVBlankCallback_ + ldr r0, =sub_81CA9EC + movs r1, 0x3 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end titlescreen_0 + + thumb_func_start sub_81CA994 +sub_81CA994: @ 81CA994 + push {lr} + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 6 + movs r0, 0 + bl ClearGpuRegBits + bl ScanlineEffect_Stop + ldr r0, =sub_81CA9EC + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + bl SetPokenavVBlankCallback + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA994 + + thumb_func_start sub_81CA9C8 +sub_81CA9C8: @ 81CA9C8 + push {lr} + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + pop {r0} + bx r0 + thumb_func_end sub_81CA9C8 + + thumb_func_start sub_81CA9D8 +sub_81CA9D8: @ 81CA9D8 + push {lr} + bl sub_81CAA3C + movs r0, 0x50 + movs r1, 0x90 + bl SetGpuReg + pop {r0} + bx r0 + thumb_func_end sub_81CA9D8 + + thumb_func_start sub_81CA9EC +sub_81CA9EC: @ 81CA9EC + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + 0x8 + adds r2, r1, r0 + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + lsls r0, 16 + cmp r0, 0 + ble _081CAA30 + movs r0, 0 + strh r0, [r2] + ldrh r0, [r2, 0x2] + adds r0, 0x3 + movs r1, 0x7F + ands r0, r1 + strh r0, [r2, 0x2] + ldr r1, =gSineTable + movs r3, 0x2 + ldrsh r0, [r2, r3] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + lsls r1, 16 + asrs r1, 21 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x54 + bl SetGpuReg +_081CAA30: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA9EC + + thumb_func_start sub_81CAA3C +sub_81CAA3C: @ 81CAA3C + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x8 + bl sub_81C9894 + adds r4, r0, 0 + bl sub_81C98A4 + ldr r2, =gUnknown_08620240 + lsls r1, r4, 3 + subs r1, r4 + lsls r1, 2 + adds r1, r2 + ldrh r2, [r1, 0x2] + adds r4, r2, 0 + muls r4, r0 + ldrh r1, [r1] + adds r4, r1 + subs r4, 0x8 + mov r0, sp + movs r6, 0 + strh r6, [r0] + ldr r5, =gScanlineEffectRegBuffers + ldr r0, =0x010000a0 + mov r8, r0 + mov r0, sp + adds r1, r5, 0 + mov r2, r8 + bl CpuSet + mov r0, sp + adds r0, 0x2 + strh r6, [r0] + movs r1, 0xF0 + lsls r1, 3 + adds r1, r5 + mov r9, r1 + mov r2, r8 + bl CpuSet + add r0, sp, 0x4 + ldr r1, =0x000072f0 + adds r6, r1, 0 + strh r6, [r0] + lsls r4, 1 + adds r5, r4, r5 + ldr r1, =0x01000010 + mov r8, r1 + adds r1, r5, 0 + mov r2, r8 + bl CpuSet + mov r0, sp + adds r0, 0x6 + strh r6, [r0] + add r4, r9 + adds r1, r4, 0 + mov r2, r8 + bl CpuSet + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CAA3C + + thumb_func_start sub_81CAADC +sub_81CAADC: @ 81CAADC + push {lr} + bl sub_81CA9C8 + pop {r0} + bx r0 + thumb_func_end sub_81CAADC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_3.s b/asm/pokenav_unk_3.s new file mode 100644 index 0000000000..d1632f7e71 --- /dev/null +++ b/asm/pokenav_unk_3.s @@ -0,0 +1,1036 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(5) + + thumb_func_start sub_81CAAE8 +sub_81CAAE8: @ 81CAAE8 + push {r4,lr} + movs r1, 0xD4 + lsls r1, 1 + movs r0, 0x5 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CAB1C + ldr r0, =sub_81CAB44 + str r0, [r4, 0x18] + movs r0, 0 + strh r0, [r4, 0x8] + str r0, [r4, 0x10] + ldr r0, =sub_81CAD20 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x14] + movs r0, 0x1 + b _081CAB1E + .pool +_081CAB1C: + movs r0, 0 +_081CAB1E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CAAE8 + + thumb_func_start sub_81CAB24 +sub_81CAB24: @ 81CAB24 + push {lr} + movs r0, 0x5 + bl GetSubstructPtr + ldr r1, [r0, 0x18] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81CAB24 + + thumb_func_start sub_81CAB38 +sub_81CAB38: @ 81CAB38 + push {lr} + movs r0, 0x5 + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81CAB38 + + thumb_func_start sub_81CAB44 +sub_81CAB44: @ 81CAB44 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r3, =gMain + ldrh r1, [r3, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CAB5C + movs r0, 0x2 + b _081CABF4 + .pool +_081CAB5C: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CAB68 + movs r0, 0x1 + b _081CABF4 +_081CAB68: + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081CAB74 + movs r0, 0x4 + b _081CABF4 +_081CAB74: + movs r0, 0x10 + ands r0, r1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0 + beq _081CAB84 + movs r0, 0x3 + b _081CABF4 +_081CAB84: + ldrh r1, [r3, 0x2E] + movs r5, 0x1 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _081CABD0 + ldr r0, =sub_81CAC04 + str r0, [r4, 0x18] + strh r2, [r4] + bl GetSelectedMatchCall + lsls r0, 2 + adds r1, r4, r0 + ldrb r0, [r1, 0x1C] + cmp r0, 0 + beq _081CABAE + ldrh r0, [r1, 0x1E] + bl sub_81D17E8 + cmp r0, 0 + beq _081CABC0 +_081CABAE: + ldr r0, =gUnknown_0862250A + str r0, [r4, 0x4] + movs r0, 0x2 + strh r0, [r4, 0x2] + b _081CABC6 + .pool +_081CABC0: + ldr r0, =gUnknown_08622508 + str r0, [r4, 0x4] + strh r5, [r4, 0x2] +_081CABC6: + movs r0, 0x5 + b _081CABF4 + .pool +_081CABD0: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081CABF2 + bl GetPokenavMode + cmp r0, 0x1 + beq _081CABEC + ldr r0, =sub_81CABFC + str r0, [r4, 0x18] + movs r0, 0xF + b _081CABF4 + .pool +_081CABEC: + movs r0, 0x20 + bl PlaySE +_081CABF2: + movs r0, 0 +_081CABF4: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CAB44 + + thumb_func_start sub_81CABFC +sub_81CABFC: @ 81CABFC + ldr r0, =0x000186a4 + bx lr + .pool + thumb_func_end sub_81CABFC + + thumb_func_start sub_81CAC04 +sub_81CAC04: @ 81CAC04 + push {r4,lr} + adds r4, r0, 0 + ldr r2, =gMain + ldrh r1, [r2, 0x2E] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CAC24 + ldrh r0, [r4] + cmp r0, 0 + beq _081CAC24 + subs r0, 0x1 + b _081CAC38 + .pool +_081CAC24: + ldrh r1, [r2, 0x2E] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CAC3E + ldrh r0, [r4] + ldrh r1, [r4, 0x2] + cmp r0, r1 + bcs _081CAC3E + adds r0, 0x1 +_081CAC38: + strh r0, [r4] + movs r0, 0x6 + b _081CACAC +_081CAC3E: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _081CAC98 + ldrh r1, [r4] + ldr r0, [r4, 0x4] + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + beq _081CAC8C + cmp r0, 0x1 + bgt _081CAC5E + cmp r0, 0 + beq _081CAC64 + b _081CAC98 +_081CAC5E: + cmp r0, 0x2 + bne _081CAC98 + b _081CACA6 +_081CAC64: + bl GetPokenavMode + cmp r0, 0x1 + bne _081CAC72 + movs r0, 0x2 + bl SetPokenavMode +_081CAC72: + ldr r0, =sub_81CACF8 + str r0, [r4, 0x18] + bl sub_81CB1D0 + cmp r0, 0 + beq _081CAC88 + movs r0, 0x9 + b _081CACAC + .pool +_081CAC88: + movs r0, 0x8 + b _081CACAC +_081CAC8C: + ldr r0, =sub_81CACB8 + str r0, [r4, 0x18] + movs r0, 0xB + b _081CACAC + .pool +_081CAC98: + ldrh r1, [r2, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081CACA6 + movs r0, 0 + b _081CACAC +_081CACA6: + ldr r0, =sub_81CAB44 + str r0, [r4, 0x18] + movs r0, 0x7 +_081CACAC: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CAC04 + + thumb_func_start sub_81CACB8 +sub_81CACB8: @ 81CACB8 + push {lr} + adds r3, r0, 0 + ldr r2, =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CACD0 + movs r0, 0xC + b _081CACF0 + .pool +_081CACD0: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CACDC + movs r0, 0xD + b _081CACF0 +_081CACDC: + ldrh r1, [r2, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081CACEA + movs r0, 0 + b _081CACF0 +_081CACEA: + ldr r0, =sub_81CAB44 + str r0, [r3, 0x18] + movs r0, 0xE +_081CACF0: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CACB8 + + thumb_func_start sub_81CACF8 +sub_81CACF8: @ 81CACF8 + push {lr} + adds r2, r0, 0 + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + bne _081CAD10 + movs r0, 0 + b _081CAD16 + .pool +_081CAD10: + ldr r0, =sub_81CAB44 + str r0, [r2, 0x18] + movs r0, 0xA +_081CAD16: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CACF8 + + thumb_func_start sub_81CAD20 +sub_81CAD20: @ 81CAD20 + push {r4-r7,lr} + adds r5, r0, 0 + movs r0, 0x5 + bl GetSubstructPtr + adds r4, r0, 0 + cmp r5, 0x1 + beq _081CAD4C + cmp r5, 0x1 + bgt _081CAD3A + cmp r5, 0 + beq _081CAD44 + b _081CAE00 +_081CAD3A: + cmp r5, 0x2 + beq _081CAD9C + cmp r5, 0x3 + beq _081CADFC + b _081CAE00 +_081CAD44: + strh r5, [r4, 0x8] + strh r5, [r4, 0xA] +_081CAD48: + movs r0, 0x1 + b _081CAE02 +_081CAD4C: + movs r6, 0 + ldrh r5, [r4, 0x8] +_081CAD50: + adds r0, r5, 0 + bl MatchCallFlagGetByIndex + cmp r0, 0 + beq _081CAD80 + ldrh r0, [r4, 0xA] + lsls r0, 2 + adds r0, r4, r0 + strh r5, [r0, 0x1E] + ldrh r0, [r4, 0xA] + lsls r0, 2 + adds r0, r4, r0 + movs r1, 0x1 + strb r1, [r0, 0x1C] + adds r0, r5, 0 + bl sub_81D16DC + ldrh r1, [r4, 0xA] + lsls r1, 2 + adds r1, r4, r1 + strb r0, [r1, 0x1D] + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] +_081CAD80: + ldrh r0, [r4, 0x8] + adds r1, r0, 0x1 + movs r2, 0 + strh r1, [r4, 0x8] + lsls r0, r1, 16 + lsrs r0, 16 + cmp r0, 0x14 + bhi _081CADF6 + adds r6, 0x1 + adds r5, 0x1 + cmp r6, 0x1D + ble _081CAD50 + movs r0, 0x3 + b _081CAE02 +_081CAD9C: + movs r6, 0 + ldrh r5, [r4, 0x8] + movs r7, 0 +_081CADA2: + ldrh r0, [r4, 0x8] + bl sub_81D1BF8 + cmp r0, 0 + bne _081CADDC + ldrh r0, [r4, 0x8] + bl sub_81CAE08 + cmp r0, 0 + beq _081CADDC + ldrh r0, [r4, 0xA] + lsls r0, 2 + adds r0, r4, r0 + ldrh r1, [r4, 0x8] + strh r1, [r0, 0x1E] + ldrh r0, [r4, 0xA] + lsls r0, 2 + adds r0, r4, r0 + strb r7, [r0, 0x1C] + adds r0, r5, 0 + bl sub_81CB0C8 + ldrh r1, [r4, 0xA] + lsls r1, 2 + adds r1, r4, r1 + strb r0, [r1, 0x1D] + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] +_081CADDC: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x4D + bhi _081CAD48 + adds r6, 0x1 + adds r5, 0x1 + cmp r6, 0x1D + ble _081CADA2 + movs r0, 0x3 + b _081CAE02 +_081CADF6: + strh r1, [r4, 0xC] + strh r2, [r4, 0x8] + b _081CAD48 +_081CADFC: + movs r0, 0x1 + str r0, [r4, 0x10] +_081CAE00: + movs r0, 0x4 +_081CAE02: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CAD20 + + thumb_func_start sub_81CAE08 +sub_81CAE08: @ 81CAE08 + push {lr} + cmp r0, 0x4D + ble _081CAE12 + movs r0, 0 + b _081CAE24 +_081CAE12: + movs r1, 0xAE + lsls r1, 1 + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 +_081CAE24: + pop {r1} + bx r1 + thumb_func_end sub_81CAE08 + + thumb_func_start sub_81CAE28 +sub_81CAE28: @ 81CAE28 + push {lr} + movs r0, 0x5 + bl GetSubstructPtr + ldr r0, [r0, 0x10] + pop {r1} + bx r1 + thumb_func_end sub_81CAE28 + + thumb_func_start sub_81CAE38 +sub_81CAE38: @ 81CAE38 + push {lr} + movs r0, 0x5 + bl GetSubstructPtr + ldrh r0, [r0, 0xA] + pop {r1} + bx r1 + thumb_func_end sub_81CAE38 + + thumb_func_start sub_81CAE48 +sub_81CAE48: @ 81CAE48 + push {lr} + movs r0, 0x5 + bl GetSubstructPtr + ldrh r0, [r0, 0xC] + pop {r1} + bx r1 + thumb_func_end sub_81CAE48 + + thumb_func_start sub_81CAE58 +sub_81CAE58: @ 81CAE58 + push {lr} + movs r0, 0x5 + bl GetSubstructPtr + adds r1, r0, 0 + ldrh r0, [r1, 0xA] + ldrh r1, [r1, 0xC] + subs r0, r1 + pop {r1} + bx r1 + thumb_func_end sub_81CAE58 + + thumb_func_start sub_81CAE6C +sub_81CAE6C: @ 81CAE6C + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x5 + bl GetSubstructPtr + adds r1, r0, 0 + ldrh r0, [r1, 0xC] + adds r4, r0 + ldrh r0, [r1, 0xA] + cmp r4, r0 + bge _081CAE8A + lsls r0, r4, 2 + adds r0, r1, r0 + ldrh r0, [r0, 0x1E] + b _081CAE8C +_081CAE8A: + movs r0, 0x4E +_081CAE8C: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CAE6C + + thumb_func_start sub_81CAE94 +sub_81CAE94: @ 81CAE94 + push {lr} + movs r0, 0x5 + bl GetSubstructPtr + adds r0, 0x1C + pop {r1} + bx r1 + thumb_func_end sub_81CAE94 + + thumb_func_start sub_81CAEA4 +sub_81CAEA4: @ 81CAEA4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x5 + bl GetSubstructPtr + lsls r4, 2 + adds r0, r4 + ldrb r0, [r0, 0x1D] + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CAEA4 + + thumb_func_start sub_81CAEBC +sub_81CAEBC: @ 81CAEBC + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x5 + bl GetSubstructPtr + lsls r1, r4, 2 + adds r1, r0, r1 + ldrb r0, [r1, 0x1C] + cmp r0, 0 + bne _081CAED4 + ldrh r4, [r1, 0x1E] + b _081CAEDC +_081CAED4: + ldrh r0, [r1, 0x1E] + bl MatchCall_GetRematchTableIdx + adds r4, r0, 0 +_081CAEDC: + cmp r4, 0x4E + beq _081CAEFC + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x000009ca + adds r0, r1 + adds r0, r4 + ldrb r1, [r0] + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + b _081CAEFE + .pool +_081CAEFC: + movs r0, 0 +_081CAEFE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CAEBC + + thumb_func_start sub_81CAF04 +sub_81CAF04: @ 81CAF04 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x5 + bl GetSubstructPtr + lsls r1, r4, 2 + adds r1, r0, r1 + ldrb r0, [r1, 0x1C] + cmp r0, 0 + bne _081CAF34 + ldrh r0, [r1, 0x1E] + bl GetTrainerIdxByRematchIdx + adds r4, r0, 0 + ldr r1, =gTrainers + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldrb r0, [r0, 0x3] + b _081CAF6C + .pool +_081CAF34: + ldrh r5, [r1, 0x1E] + adds r0, r5, 0 + bl MatchCall_GetRematchTableIdx + adds r4, r0, 0 + cmp r4, 0x4E + bne _081CAF58 + adds r0, r5, 0 + bl sub_81D1BD0 + adds r4, r0, 0 + ldr r0, =gFacilityClassToPicIndex + adds r0, r4, r0 + ldrb r0, [r0] + b _081CAF6C + .pool +_081CAF58: + adds r0, r4, 0 + bl GetTrainerIdxByRematchIdx + adds r4, r0, 0 + ldr r0, =gTrainers + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldrb r0, [r1, 0x3] +_081CAF6C: + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CAF04 + + thumb_func_start sub_81CAF78 +sub_81CAF78: @ 81CAF78 + push {r4-r6,lr} + adds r5, r0, 0 + adds r6, r1, 0 + movs r0, 0x5 + bl GetSubstructPtr + adds r4, r0, 0 + movs r0, 0 + strb r0, [r6] + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + bl Overworld_MapTypeAllowsTeleportAndFly + lsls r0, 24 + cmp r0, 0 + bne _081CAFA4 + ldr r0, =gText_CallCantBeMadeHere + b _081CAFCE + .pool +_081CAFA4: + lsls r0, r5, 2 + adds r1, r4, r0 + ldrb r0, [r1, 0x1C] + cmp r0, 0 + bne _081CAFC4 + ldrh r0, [r1, 0x1E] + bl GetTrainerIdxByRematchIdx + ldr r1, =gStringVar4 + bl SelectMatchCallMessage + strb r0, [r6] + b _081CAFCC + .pool +_081CAFC4: + ldrh r0, [r1, 0x1E] + ldr r1, =gStringVar4 + bl MatchCall_GetMessage +_081CAFCC: + ldr r0, =gStringVar4 +_081CAFCE: + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CAF78 + + thumb_func_start sub_81CAFD8 +sub_81CAFD8: @ 81CAFD8 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r0, 0x5 + bl GetSubstructPtr + lsls r4, 2 + adds r4, r0, r4 + ldrb r0, [r4, 0x1C] + cmp r0, 0 + beq _081CB004 + ldrh r0, [r4, 0x1E] + bl MatchCall_GetRematchTableIdx + adds r1, r0, 0 + cmp r1, 0x4E + bne _081CB006 + ldrh r0, [r4, 0x1E] + adds r1, r5, 0 + bl sub_81D1B40 + b _081CB012 +_081CB004: + ldrh r1, [r4, 0x1E] +_081CB006: + ldr r2, =gUnknown_08622028 + lsls r0, r5, 2 + lsls r1, 4 + adds r0, r1 + adds r0, r2 + ldr r0, [r0] +_081CB012: + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CAFD8 + + thumb_func_start sub_81CB01C +sub_81CB01C: @ 81CB01C + push {lr} + movs r0, 0x5 + bl GetSubstructPtr + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81CB01C + + thumb_func_start sub_81CB02C +sub_81CB02C: @ 81CB02C + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x5 + bl GetSubstructPtr + adds r1, r0, 0 + ldrh r0, [r1, 0x2] + cmp r0, r4 + blt _081CB046 + ldr r0, [r1, 0x4] + adds r0, r4 + ldrb r0, [r0] + b _081CB048 +_081CB046: + movs r0, 0x3 +_081CB048: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CB02C + + thumb_func_start sub_81CB050 +sub_81CB050: @ 81CB050 + push {r4,lr} + sub sp, 0x8 + adds r2, r0, 0 + adds r4, r1, 0 + ldrb r0, [r2] + cmp r0, 0 + bne _081CB088 + ldrh r0, [r2, 0x2] + bl GetTrainerIdxByRematchIdx + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTrainers + adds r1, r0 + ldrb r2, [r1, 0x1] + movs r0, 0xD + muls r0, r2 + ldr r2, =gTrainerClassNames + adds r0, r2 + str r0, [sp] + adds r1, 0x4 + str r1, [sp, 0x4] + b _081CB092 + .pool +_081CB088: + ldrh r0, [r2, 0x2] + add r2, sp, 0x4 + mov r1, sp + bl sub_81D1A78 +_081CB092: + ldr r2, [sp] + cmp r2, 0 + beq _081CB0B4 + ldr r0, [sp, 0x4] + cmp r0, 0 + beq _081CB0B4 + adds r0, r4, 0 + movs r1, 0x7 + movs r3, 0x45 + bl sub_81DB494 + ldr r2, [sp, 0x4] + movs r1, 0x7 + movs r3, 0x33 + bl sub_81DB494 + b _081CB0C0 +_081CB0B4: + adds r0, r4, 0 + movs r1, 0x7 + movs r2, 0 + movs r3, 0x78 + bl sub_81DB494 +_081CB0C0: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CB050 + + thumb_func_start sub_81CB0C8 +sub_81CB0C8: @ 81CB0C8 + push {lr} + ldr r1, =gRematchTable + lsls r0, 4 + adds r0, r1 + ldrh r2, [r0, 0xA] + ldrh r1, [r0, 0xC] + adds r0, r2, 0 + bl Overworld_GetMapHeaderByGroupAndId + ldrb r0, [r0, 0x14] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CB0C8 + + thumb_func_start sub_81CB0E4 +sub_81CB0E4: @ 81CB0E4 + push {r4-r7,lr} + adds r5, r0, 0 + movs r0, 0x5 + bl GetSubstructPtr + adds r7, r0, 0 + movs r6, 0x1 + adds r5, 0x1 + ldrh r0, [r7, 0xA] + cmp r5, r0 + bge _081CB120 + lsls r0, r5, 2 + adds r0, 0x1C + adds r4, r0, r7 +_081CB100: + ldrb r0, [r4] + cmp r0, 0 + beq _081CB110 + ldrh r0, [r4, 0x2] + bl sub_81D17E8 + cmp r0, 0 + beq _081CB114 +_081CB110: + adds r0, r6, 0 + b _081CB122 +_081CB114: + adds r6, 0x1 + adds r4, 0x4 + adds r5, 0x1 + ldrh r0, [r7, 0xA] + cmp r5, r0 + blt _081CB100 +_081CB120: + movs r0, 0 +_081CB122: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CB0E4 + + thumb_func_start sub_81CB128 +sub_81CB128: @ 81CB128 + push {r4-r6,lr} + adds r5, r0, 0 + movs r0, 0x5 + bl GetSubstructPtr + adds r1, r0, 0 + movs r6, 0x1 + negs r6, r6 + subs r5, 0x1 + cmp r5, 0 + blt _081CB162 + lsls r0, r5, 2 + adds r0, 0x1C + adds r4, r0, r1 +_081CB144: + ldrb r0, [r4] + cmp r0, 0 + beq _081CB154 + ldrh r0, [r4, 0x2] + bl sub_81D17E8 + cmp r0, 0 + beq _081CB158 +_081CB154: + adds r0, r6, 0 + b _081CB164 +_081CB158: + subs r6, 0x1 + subs r4, 0x4 + subs r5, 0x1 + cmp r5, 0 + bge _081CB144 +_081CB162: + movs r0, 0 +_081CB164: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CB128 + + thumb_func_start sub_81CB16C +sub_81CB16C: @ 81CB16C + push {r4,lr} + movs r4, 0 +_081CB170: + adds r0, r4, 0 + bl sub_81CAE08 + cmp r0, 0 + beq _081CB18A + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x000009ca + adds r0, r1 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + bne _081CB1B2 +_081CB18A: + adds r4, 0x1 + cmp r4, 0x4D + ble _081CB170 + movs r4, 0 +_081CB192: + adds r0, r4, 0 + bl MatchCallFlagGetByIndex + cmp r0, 0 + beq _081CB1C0 + adds r0, r4, 0 + bl MatchCall_GetRematchTableIdx + ldr r1, =gSaveBlock1Ptr + ldr r1, [r1] + ldr r2, =0x000009ca + adds r1, r2 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0 + beq _081CB1C0 +_081CB1B2: + movs r0, 0x1 + b _081CB1C8 + .pool +_081CB1C0: + adds r4, 0x1 + cmp r4, 0x14 + ble _081CB192 + movs r0, 0 +_081CB1C8: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CB16C + + thumb_func_start sub_81CB1D0 +sub_81CB1D0: @ 81CB1D0 + push {r4,lr} + movs r0, 0x5 + bl GetSubstructPtr + adds r4, r0, 0 + bl GetSelectedMatchCall + adds r1, r0, 0 + lsls r0, r1, 2 + adds r4, r0 + ldrb r0, [r4, 0x1C] + cmp r0, 0 + bne _081CB218 + adds r0, r1, 0 + bl sub_81CAEA4 + ldr r1, =gMapHeader + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x14] + cmp r0, r1 + bne _081CB258 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x000009ca + adds r0, r1 + ldrh r4, [r4, 0x1E] + adds r0, r4 + ldrb r0, [r0] + b _081CB246 + .pool +_081CB218: + ldrh r0, [r4, 0x1E] + cmp r0, 0xB + bne _081CB258 + adds r0, r1, 0 + bl sub_81CAEA4 + ldr r1, =gMapHeader + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x14] + cmp r0, r1 + bne _081CB258 + ldr r0, =0x0000086b + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _081CB258 + movs r0, 0x5B + bl FlagGet + lsls r0, 24 +_081CB246: + cmp r0, 0 + bne _081CB258 + movs r0, 0x1 + b _081CB25A + .pool +_081CB258: + movs r0, 0 +_081CB25A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CB1D0 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_4.s b/asm/pokenav_unk_4.s new file mode 100644 index 0000000000..14ab55ca9f --- /dev/null +++ b/asm/pokenav_unk_4.s @@ -0,0 +1,2347 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(6) + + thumb_func_start sub_81CB260 +sub_81CB260: @ 81CB260 + push {r4,lr} + ldr r1, =0x00002048 + movs r0, 0x6 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CB294 + movs r0, 0 + strb r0, [r4, 0x19] + ldr r0, =sub_81CB324 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CB310 + str r0, [r4] + movs r0, 0x1 + b _081CB296 + .pool +_081CB294: + movs r0, 0 +_081CB296: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CB260 + + thumb_func_start sub_81CB29C +sub_81CB29C: @ 81CB29C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_08622798 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81CB310 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CB29C + + thumb_func_start sub_81CB2CC +sub_81CB2CC: @ 81CB2CC + push {lr} + movs r0, 0x6 + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81CB2CC + + thumb_func_start sub_81CB2E0 +sub_81CB2E0: @ 81CB2E0 + push {r4,lr} + movs r0, 0x6 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81CC2B4 + bl sub_81CBC1C + ldrb r0, [r4, 0x12] + bl RemoveWindow + ldrb r0, [r4, 0x10] + bl RemoveWindow + ldrb r0, [r4, 0x14] + bl RemoveWindow + movs r0, 0x6 + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CB2E0 + + thumb_func_start sub_81CB310 +sub_81CB310: @ 81CB310 + push {lr} + movs r0, 0x6 + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81CB310 + + thumb_func_start sub_81CB324 +sub_81CB324: @ 81CB324 + push {r4,r5,lr} + sub sp, 0x8 + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x7 + bls _081CB338 + b _081CB504 +_081CB338: + lsls r0, r4, 2 + ldr r1, =_081CB348 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CB348: + .4byte _081CB368 + .4byte _081CB3D4 + .4byte _081CB424 + .4byte _081CB468 + .4byte _081CB482 + .4byte _081CB494 + .4byte _081CB4A6 + .4byte _081CB4EA +_081CB368: + ldr r0, =gUnknown_0862278C + movs r1, 0x3 + bl InitBgTemplates + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + ldr r1, =gUnknown_08622530 + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =0x00001024 + adds r1, r5, r0 + movs r0, 0x2 + bl SetBgTilemapBuffer + ldr r1, =gUnknown_086225D4 + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + movs r0, 0x2 + bl CopyBgTilemapBufferToVram + ldr r0, =gUnknown_08622510 + movs r1, 0x20 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x2 + b _081CB418 + .pool +_081CB3D4: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + beq _081CB3E0 + b _081CB4FA +_081CB3E0: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0x1 + bl sub_8199DF0 + adds r1, r5, 0 + adds r1, 0x24 + movs r0, 0x1 + bl SetBgTilemapBuffer + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x20 + str r0, [sp] + movs r0, 0x14 + str r0, [sp, 0x4] + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect_Palette0 + ldr r0, =gUnknown_086226E0 + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 +_081CB418: + bl CopyBgTilemapBufferToVram + movs r0, 0 + b _081CB506 + .pool +_081CB424: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _081CB4FA + adds r0, r5, 0 + bl sub_81CC034 + ldr r1, =gUnknown_08622760 + str r4, [sp] + movs r0, 0x3 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =gUnknown_08622700 + movs r1, 0x30 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + ldr r0, =gUnknown_08622720 + movs r1, 0x50 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0 + b _081CB506 + .pool +_081CB468: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CB4FA + bl sub_81CAE28 + cmp r0, 0 + beq _081CB4FA + bl sub_81CBBB8 + movs r0, 0 + b _081CB506 +_081CB482: + bl sub_81C8224 + cmp r0, 0 + bne _081CB4FA + adds r0, r5, 0 + bl sub_81CBD78 + movs r0, 0 + b _081CB506 +_081CB494: + adds r0, r5, 0 + bl sub_81CBDC0 + adds r0, r5, 0 + movs r1, 0 + bl sub_81CBEF8 + movs r0, 0 + b _081CB506 +_081CB4A6: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl ShowBg + movs r0, 0x1 + bl ShowBg + bl sub_81CC214 + movs r0, 0x3 + bl LoadLeftHeaderGfxForIndex + movs r0, 0x3 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + movs r0, 0x1 + bl sub_81C7AC0 + movs r0, 0 + b _081CB506 +_081CB4EA: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CB4FA + bl sub_81C8010 + cmp r0, 0 + beq _081CB4FE +_081CB4FA: + movs r0, 0x2 + b _081CB506 +_081CB4FE: + movs r0, 0x1 + bl sub_81CBC38 +_081CB504: + movs r0, 0x4 +_081CB506: + add sp, 0x8 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB324 + + thumb_func_start sub_81CB510 +sub_81CB510: @ 81CB510 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CB55E + cmp r4, 0x1 + bgt _081CB52A + cmp r4, 0 + beq _081CB534 + b _081CB580 +_081CB52A: + cmp r4, 0x2 + beq _081CB566 + cmp r4, 0x3 + beq _081CB572 + b _081CB580 +_081CB534: + bl MatchCall_MoveCursorDown + cmp r0, 0x1 + beq _081CB54C + cmp r0, 0x1 + bgt _081CB546 + cmp r0, 0 + beq _081CB580 + b _081CB56E +_081CB546: + cmp r0, 0x2 + beq _081CB556 + b _081CB56E +_081CB54C: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CB582 +_081CB556: + movs r0, 0x5 + bl PlaySE + b _081CB56E +_081CB55E: + bl sub_81C8630 + cmp r0, 0 + bne _081CB57C +_081CB566: + adds r0, r5, 0 + movs r1, 0 + bl sub_81CBEF8 +_081CB56E: + movs r0, 0 + b _081CB582 +_081CB572: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CB580 +_081CB57C: + movs r0, 0x2 + b _081CB582 +_081CB580: + movs r0, 0x4 +_081CB582: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB510 + + thumb_func_start sub_81CB588 +sub_81CB588: @ 81CB588 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CB5D6 + cmp r4, 0x1 + bgt _081CB5A2 + cmp r4, 0 + beq _081CB5AC + b _081CB5F8 +_081CB5A2: + cmp r4, 0x2 + beq _081CB5DE + cmp r4, 0x3 + beq _081CB5EA + b _081CB5F8 +_081CB5AC: + bl MatchCall_MoveCursorUp + cmp r0, 0x1 + beq _081CB5C4 + cmp r0, 0x1 + bgt _081CB5BE + cmp r0, 0 + beq _081CB5F8 + b _081CB5E6 +_081CB5BE: + cmp r0, 0x2 + beq _081CB5CE + b _081CB5E6 +_081CB5C4: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CB5FA +_081CB5CE: + movs r0, 0x5 + bl PlaySE + b _081CB5E6 +_081CB5D6: + bl sub_81C8630 + cmp r0, 0 + bne _081CB5F4 +_081CB5DE: + adds r0, r5, 0 + movs r1, 0 + bl sub_81CBEF8 +_081CB5E6: + movs r0, 0 + b _081CB5FA +_081CB5EA: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CB5F8 +_081CB5F4: + movs r0, 0x2 + b _081CB5FA +_081CB5F8: + movs r0, 0x4 +_081CB5FA: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB588 + + thumb_func_start sub_81CB600 +sub_81CB600: @ 81CB600 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CB64E + cmp r4, 0x1 + bgt _081CB61A + cmp r4, 0 + beq _081CB624 + b _081CB670 +_081CB61A: + cmp r4, 0x2 + beq _081CB656 + cmp r4, 0x3 + beq _081CB662 + b _081CB670 +_081CB624: + bl MatchCall_PageDown + cmp r0, 0x1 + beq _081CB63C + cmp r0, 0x1 + bgt _081CB636 + cmp r0, 0 + beq _081CB670 + b _081CB65E +_081CB636: + cmp r0, 0x2 + beq _081CB646 + b _081CB65E +_081CB63C: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CB672 +_081CB646: + movs r0, 0x5 + bl PlaySE + b _081CB65E +_081CB64E: + bl sub_81C8630 + cmp r0, 0 + bne _081CB66C +_081CB656: + adds r0, r5, 0 + movs r1, 0 + bl sub_81CBEF8 +_081CB65E: + movs r0, 0 + b _081CB672 +_081CB662: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CB670 +_081CB66C: + movs r0, 0x2 + b _081CB672 +_081CB670: + movs r0, 0x4 +_081CB672: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB600 + + thumb_func_start sub_81CB678 +sub_81CB678: @ 81CB678 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CB6C6 + cmp r4, 0x1 + bgt _081CB692 + cmp r4, 0 + beq _081CB69C + b _081CB6E8 +_081CB692: + cmp r4, 0x2 + beq _081CB6CE + cmp r4, 0x3 + beq _081CB6DA + b _081CB6E8 +_081CB69C: + bl MatchCall_PageUp + cmp r0, 0x1 + beq _081CB6B4 + cmp r0, 0x1 + bgt _081CB6AE + cmp r0, 0 + beq _081CB6E8 + b _081CB6D6 +_081CB6AE: + cmp r0, 0x2 + beq _081CB6BE + b _081CB6D6 +_081CB6B4: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CB6EA +_081CB6BE: + movs r0, 0x5 + bl PlaySE + b _081CB6D6 +_081CB6C6: + bl sub_81C8630 + cmp r0, 0 + bne _081CB6E4 +_081CB6CE: + adds r0, r5, 0 + movs r1, 0 + bl sub_81CBEF8 +_081CB6D6: + movs r0, 0 + b _081CB6EA +_081CB6DA: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CB6E8 +_081CB6E4: + movs r0, 0x2 + b _081CB6EA +_081CB6E8: + movs r0, 0x4 +_081CB6EA: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB678 + + thumb_func_start sub_81CB6F0 +sub_81CB6F0: @ 81CB6F0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0 + beq _081CB706 + cmp r4, 0x1 + beq _081CB71C + b _081CB72A +_081CB706: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81CBF60 + movs r0, 0x7 + bl sub_81C7BA4 + movs r0, 0 + b _081CB72C +_081CB71C: + adds r0, r5, 0 + bl sub_81CBFC4 + cmp r0, 0 + beq _081CB72A + movs r0, 0x2 + b _081CB72C +_081CB72A: + movs r0, 0x4 +_081CB72C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB6F0 + + thumb_func_start sub_81CB734 +sub_81CB734: @ 81CB734 + push {r4,lr} + movs r0, 0x5 + bl PlaySE + movs r0, 0x6 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81CB01C + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + bl sub_81CC344 + movs r0, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CB734 + + thumb_func_start sub_81CB75C +sub_81CB75C: @ 81CB75C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0 + beq _081CB772 + cmp r4, 0x1 + beq _081CB788 + b _081CB796 +_081CB772: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81CBFF0 + movs r0, 0x6 + bl sub_81C7BA4 + movs r0, 0 + b _081CB798 +_081CB788: + adds r0, r5, 0 + bl sub_81CC004 + cmp r0, 0 + beq _081CB796 + movs r0, 0x2 + b _081CB798 +_081CB796: + movs r0, 0x4 +_081CB798: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB75C + + thumb_func_start sub_81CB7A0 +sub_81CB7A0: @ 81CB7A0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CB7D4 + cmp r4, 0x1 + bgt _081CB7BA + cmp r4, 0 + beq _081CB7C4 + b _081CB81A +_081CB7BA: + cmp r4, 0x2 + beq _081CB7F8 + cmp r4, 0x3 + beq _081CB80C + b _081CB81A +_081CB7C4: + movs r0, 0x1 + bl ToggleMatchCallVerticalArrows + adds r0, r5, 0 + bl sub_81CC058 + movs r0, 0 + b _081CB81C +_081CB7D4: + adds r0, r5, 0 + bl sub_81CC0D0 + adds r4, r0, 0 + cmp r4, 0 + bne _081CB816 + adds r0, r5, 0 + bl sub_81CC0E0 + ldr r0, =0x00000107 + bl PlaySE + strb r4, [r5, 0xE] + movs r0, 0 + b _081CB81C + .pool +_081CB7F8: + adds r0, r5, 0 + bl sub_81CC104 + cmp r0, 0 + bne _081CB816 + adds r0, r5, 0 + bl sub_81CC158 + movs r0, 0 + b _081CB81C +_081CB80C: + adds r0, r5, 0 + bl sub_81CC194 + cmp r0, 0 + beq _081CB81A +_081CB816: + movs r0, 0x2 + b _081CB81C +_081CB81A: + movs r0, 0x4 +_081CB81C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB7A0 + + thumb_func_start sub_81CB824 +sub_81CB824: @ 81CB824 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CB85E + cmp r4, 0x1 + bgt _081CB83E + cmp r4, 0 + beq _081CB844 + b _081CB880 +_081CB83E: + cmp r4, 0x2 + beq _081CB872 + b _081CB880 +_081CB844: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81CC09C + movs r0, 0x1 + bl ToggleMatchCallVerticalArrows + movs r0, 0x1 + strb r0, [r5, 0xE] + movs r0, 0 + b _081CB882 +_081CB85E: + adds r0, r5, 0 + bl sub_81CC0D0 + cmp r0, 0 + bne _081CB87C + adds r0, r5, 0 + bl sub_81CC11C + movs r0, 0 + b _081CB882 +_081CB872: + adds r0, r5, 0 + bl sub_81CC140 + cmp r0, 0 + beq _081CB880 +_081CB87C: + movs r0, 0x2 + b _081CB882 +_081CB880: + movs r0, 0x4 +_081CB882: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB824 + + thumb_func_start sub_81CB888 +sub_81CB888: @ 81CB888 + push {r4-r6,lr} + adds r5, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r4, r0, 0 + movs r6, 0 + cmp r5, 0x6 + bhi _081CB934 + lsls r0, r5, 2 + ldr r1, =_081CB8A8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CB8A8: + .4byte _081CB8C4 + .4byte _081CB8DA + .4byte _081CB8E2 + .4byte _081CB8F0 + .4byte _081CB8F8 + .4byte _081CB90C + .4byte _081CB922 +_081CB8C4: + ldrb r0, [r4, 0xE] + cmp r0, 0 + bne _081CB8D2 + movs r0, 0x84 + lsls r0, 1 + bl PlaySE +_081CB8D2: + movs r0, 0x5 + bl PlaySE + b _081CB934 +_081CB8DA: + adds r0, r4, 0 + bl sub_81CC1DC + b _081CB934 +_081CB8E2: + adds r0, r4, 0 + bl sub_81CC204 + cmp r0, 0 + beq _081CB934 +_081CB8EC: + movs r6, 0x2 + b _081CB934 +_081CB8F0: + adds r0, r4, 0 + bl sub_81CBFF0 + b _081CB934 +_081CB8F8: + adds r0, r4, 0 + bl sub_81CC004 + cmp r0, 0 + beq _081CB904 + movs r6, 0x2 +_081CB904: + movs r0, 0x6 + bl sub_81C7BA4 + b _081CB934 +_081CB90C: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0 + bne _081CB8EC + ldrb r0, [r4, 0xF] + cmp r0, 0 + beq _081CB92C + bl sub_81C8838 + movs r6, 0x1 + b _081CB934 +_081CB922: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081CB8EC +_081CB92C: + movs r0, 0 + bl ToggleMatchCallVerticalArrows + movs r6, 0x4 +_081CB934: + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CB888 + + thumb_func_start sub_81CB93C +sub_81CB93C: @ 81CB93C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CB974 + cmp r4, 0x1 + bgt _081CB956 + cmp r4, 0 + beq _081CB960 + b _081CB9BE +_081CB956: + cmp r4, 0x2 + beq _081CB990 + cmp r4, 0x3 + beq _081CB9A0 + b _081CB9BE +_081CB960: + movs r0, 0x5 + bl PlaySE + bl sub_81C877C + adds r0, r5, 0 + bl sub_81CC014 + movs r0, 0 + b _081CB9C0 +_081CB974: + bl sub_81C8820 + cmp r0, 0 + bne _081CB9BA + adds r0, r5, 0 + bl sub_81CC004 + cmp r0, 0 + bne _081CB9BA + movs r0, 0x8 + bl sub_81C7BA4 + movs r0, 0 + b _081CB9C0 +_081CB990: + movs r0, 0 + bl sub_81C87AC + adds r0, r5, 0 + bl sub_81CC39C + movs r0, 0 + b _081CB9C0 +_081CB9A0: + bl sub_81C8820 + cmp r0, 0 + bne _081CB9BA + adds r0, r5, 0 + bl sub_81CC42C + cmp r0, 0 + bne _081CB9BA + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0 + beq _081CB9BE +_081CB9BA: + movs r0, 0x2 + b _081CB9C0 +_081CB9BE: + movs r0, 0x4 +_081CB9C0: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB93C + + thumb_func_start sub_81CB9C8 +sub_81CB9C8: @ 81CB9C8 + push {r4,r5,lr} + adds r5, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r4, r0, 0 + cmp r5, 0x4 + bhi _081CBA60 + lsls r0, r5, 2 + ldr r1, =_081CB9E8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CB9E8: + .4byte _081CB9FC + .4byte _081CBA1C + .4byte _081CBA34 + .4byte _081CBA40 + .4byte _081CBA4A +_081CB9FC: + bl GetMatchCallListTopIndex + bl sub_81CB0E4 + adds r5, r0, 0 + cmp r5, 0 + beq _081CBA60 + movs r0, 0x5 + bl PlaySE + strh r5, [r4, 0x16] + adds r0, r4, 0 + bl sub_81CC420 + movs r0, 0 + b _081CBA62 +_081CBA1C: + adds r0, r4, 0 + bl sub_81CC42C + cmp r0, 0 + bne _081CBA5C + movs r0, 0x16 + ldrsh r1, [r4, r0] + adds r0, r4, 0 + bl sub_81CBEF8 + movs r0, 0 + b _081CBA62 +_081CBA34: + movs r1, 0x16 + ldrsh r0, [r4, r1] + bl sub_81C87AC + movs r0, 0 + b _081CBA62 +_081CBA40: + adds r0, r4, 0 + bl sub_81CC39C + movs r0, 0 + b _081CBA62 +_081CBA4A: + bl sub_81C8820 + cmp r0, 0 + bne _081CBA5C + adds r0, r4, 0 + bl sub_81CC42C + cmp r0, 0 + beq _081CBA60 +_081CBA5C: + movs r0, 0x2 + b _081CBA62 +_081CBA60: + movs r0, 0x4 +_081CBA62: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CB9C8 + + thumb_func_start sub_81CBA68 +sub_81CBA68: @ 81CBA68 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CBA9C + cmp r4, 0x1 + bgt _081CBA82 + cmp r4, 0 + beq _081CBA88 + b _081CBACC +_081CBA82: + cmp r4, 0x2 + beq _081CBABE + b _081CBACC +_081CBA88: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81CC420 + bl sub_81C87F0 + movs r0, 0 + b _081CBACE +_081CBA9C: + bl sub_81C8820 + cmp r0, 0 + bne _081CBAC8 + adds r0, r5, 0 + bl sub_81CC42C + cmp r0, 0 + bne _081CBAC8 + movs r0, 0x6 + bl sub_81C7BA4 + adds r0, r5, 0 + bl sub_81CBDC0 + movs r0, 0 + b _081CBACE +_081CBABE: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CBACC +_081CBAC8: + movs r0, 0x2 + b _081CBACE +_081CBACC: + movs r0, 0x4 +_081CBACE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CBA68 + + thumb_func_start sub_81CBAD4 +sub_81CBAD4: @ 81CBAD4 + push {r4,r5,lr} + adds r5, r0, 0 + movs r0, 0x6 + bl GetSubstructPtr + adds r4, r0, 0 + cmp r5, 0x4 + bhi _081CBB6C + lsls r0, r5, 2 + ldr r1, =_081CBAF4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CBAF4: + .4byte _081CBB08 + .4byte _081CBB28 + .4byte _081CBB40 + .4byte _081CBB4C + .4byte _081CBB56 +_081CBB08: + bl GetMatchCallListTopIndex + bl sub_81CB128 + adds r5, r0, 0 + cmp r5, 0 + beq _081CBB6C + movs r0, 0x5 + bl PlaySE + strh r5, [r4, 0x16] + adds r0, r4, 0 + bl sub_81CC420 + movs r0, 0 + b _081CBB6E +_081CBB28: + adds r0, r4, 0 + bl sub_81CC42C + cmp r0, 0 + bne _081CBB68 + movs r0, 0x16 + ldrsh r1, [r4, r0] + adds r0, r4, 0 + bl sub_81CBEF8 + movs r0, 0 + b _081CBB6E +_081CBB40: + movs r1, 0x16 + ldrsh r0, [r4, r1] + bl sub_81C87AC + movs r0, 0 + b _081CBB6E +_081CBB4C: + adds r0, r4, 0 + bl sub_81CC39C + movs r0, 0 + b _081CBB6E +_081CBB56: + bl sub_81C8820 + cmp r0, 0 + bne _081CBB68 + adds r0, r4, 0 + bl sub_81CC42C + cmp r0, 0 + beq _081CBB6C +_081CBB68: + movs r0, 0x2 + b _081CBB6E +_081CBB6C: + movs r0, 0x4 +_081CBB6E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CBAD4 + + thumb_func_start sub_81CBB74 +sub_81CBB74: @ 81CBB74 + push {lr} + cmp r0, 0 + beq _081CBB80 + cmp r0, 0x1 + beq _081CBB9A + b _081CBBB2 +_081CBB80: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81CBC38 + movs r0, 0 + bl sub_81C7AC0 + bl sub_81C78A0 + movs r0, 0 + b _081CBBB4 +_081CBB9A: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CBBAA + bl MainMenuLoopedTaskIsBusy + cmp r0, 0 + beq _081CBBAE +_081CBBAA: + movs r0, 0x2 + b _081CBBB4 +_081CBBAE: + bl sub_81C7FDC +_081CBBB2: + movs r0, 0x4 +_081CBBB4: + pop {r1} + bx r1 + thumb_func_end sub_81CBB74 + + thumb_func_start sub_81CBBB8 +sub_81CBBB8: @ 81CBBB8 + push {lr} + sub sp, 0x18 + bl sub_81CAE94 + str r0, [sp] + bl sub_81CAE38 + mov r1, sp + movs r2, 0 + strh r0, [r1, 0x4] + movs r0, 0x4 + strb r0, [r1, 0x8] + mov r0, sp + strh r2, [r0, 0x6] + movs r0, 0xD + strb r0, [r1, 0x9] + movs r0, 0x10 + strb r0, [r1, 0xA] + movs r0, 0x1 + strb r0, [r1, 0xB] + movs r0, 0x8 + strb r0, [r1, 0xC] + movs r0, 0x3 + strb r0, [r1, 0xD] + movs r0, 0x7 + strb r0, [r1, 0xE] + ldr r0, =sub_81CB050 + str r0, [sp, 0x10] + ldr r0, =sub_81CBCEC + str r0, [sp, 0x14] + ldr r0, =gUnknown_08622794 + movs r2, 0x2 + bl sub_81C81D4 + ldr r0, =sub_81CBC64 + movs r1, 0x7 + bl CreateTask + add sp, 0x18 + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBBB8 + + thumb_func_start sub_81CBC1C +sub_81CBC1C: @ 81CBC1C + push {lr} + bl sub_81C8234 + ldr r0, =sub_81CBC64 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBC1C + + thumb_func_start sub_81CBC38 +sub_81CBC38: @ 81CBC38 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =sub_81CBC64 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _081CBC56 + ldr r1, =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r1 + strh r4, [r0, 0x26] +_081CBC56: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBC38 + + thumb_func_start sub_81CBC64 +sub_81CBC64: @ 81CBC64 + push {r4,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + 0x8 + adds r2, r1, r0 + movs r1, 0x1E + ldrsh r0, [r2, r1] + cmp r0, 0 + beq _081CBCC8 + ldrh r0, [r2] + adds r0, 0x4 + movs r1, 0x7F + ands r0, r1 + strh r0, [r2] + ldr r1, =gSineTable + movs r3, 0 + ldrsh r0, [r2, r3] + lsls r0, 1 + adds r0, r1 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x2] + ldr r0, =gUnknown_08622720 + adds r1, r0, 0 + adds r1, 0x20 + movs r3, 0x2 + ldrsh r2, [r2, r3] + str r2, [sp] + ldr r4, =gPlttBufferUnfaded + 0xA0 + str r4, [sp, 0x4] + movs r2, 0x10 + movs r3, 0x10 + bl sub_81C79BC + ldr r0, =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _081CBCC8 + ldr r1, =gPlttBufferFaded + 0xA0 + ldr r2, =0x04000008 + adds r0, r4, 0 + bl CpuSet +_081CBCC8: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBC64 + + thumb_func_start sub_81CBCEC +sub_81CBCEC: @ 81CBCEC + push {r4-r6,lr} + adds r5, r1, 0 + adds r4, r2, 0 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl GetWindowAttribute + lsls r0, 24 + lsrs r0, 24 + bl GetBgTilemapBuffer + adds r6, r0, 0 + lsls r4, 7 + adds r4, 0x3A + adds r6, r4 + adds r0, r5, 0 + bl sub_81CAEBC + cmp r0, 0 + beq _081CBD30 + movs r1, 0xA0 + lsls r1, 7 + adds r0, r1, 0 + strh r0, [r6] + adds r1, r6, 0 + adds r1, 0x40 + ldr r2, =0x00005001 + adds r0, r2, 0 + strh r0, [r1] + b _081CBD3C + .pool +_081CBD30: + ldr r0, =0x00005002 + adds r1, r0, 0 + strh r1, [r6] + adds r0, r6, 0 + adds r0, 0x40 + strh r1, [r0] +_081CBD3C: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBCEC + + thumb_func_start sub_81CBD48 +sub_81CBD48: @ 81CBD48 + push {r4,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl GetWindowAttribute + lsls r0, 24 + lsrs r0, 24 + bl GetBgTilemapBuffer + lsls r4, 7 + adds r4, 0x3A + adds r0, r4 + ldr r2, =0x00005002 + adds r1, r2, 0 + strh r1, [r0] + adds r0, 0x40 + strh r1, [r0] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBD48 + + thumb_func_start sub_81CBD78 +sub_81CBD78: @ 81CBD78 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_086227D8 + bl AddWindow + strh r0, [r4, 0x10] + ldr r0, =gUnknown_086227E0 + bl AddWindow + strh r0, [r4, 0x12] + ldrb r0, [r4, 0x10] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x10] + bl PutWindowTilemap + ldrb r0, [r4, 0x12] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x12] + bl PutWindowTilemap + ldrb r0, [r4, 0x10] + movs r1, 0x1 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBD78 + + thumb_func_start sub_81CBDC0 +sub_81CBDC0: @ 81CBDC0 + push {r4,lr} + adds r4, r0, 0 + ldrb r0, [r4, 0x12] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrh r0, [r4, 0x12] + bl sub_81CBDF4 + ldrh r0, [r4, 0x12] + bl sub_81CBE0C + ldrh r0, [r4, 0x12] + bl sub_81CBE38 + ldrh r0, [r4, 0x12] + bl sub_81CBE50 + ldrb r0, [r4, 0x12] + movs r1, 0x2 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CBDC0 + + thumb_func_start sub_81CBDF4 +sub_81CBDF4: @ 81CBDF4 + push {lr} + lsls r0, 16 + lsrs r0, 16 + ldr r1, =gText_NumberRegistered + movs r2, 0 + bl sub_81CBE88 + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBDF4 + + thumb_func_start sub_81CBE0C +sub_81CBE0C: @ 81CBE0C + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sub_81CAE38 + adds r1, r0, 0 + mov r0, sp + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r0, r4, 0 + mov r1, sp + movs r2, 0x1 + bl sub_81CBEB4 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CBE0C + + thumb_func_start sub_81CBE38 +sub_81CBE38: @ 81CBE38 + push {lr} + lsls r0, 16 + lsrs r0, 16 + ldr r1, =gText_NumberOfBattles + movs r2, 0x2 + bl sub_81CBE88 + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBE38 + + thumb_func_start sub_81CBE50 +sub_81CBE50: @ 81CBE50 + push {r4,lr} + sub sp, 0x8 + lsls r0, 16 + lsrs r4, r0, 16 + movs r0, 0x9 + bl GetGameStat + adds r1, r0, 0 + ldr r0, =0x0001869f @ Note to decompiler: See UNKNOWN_OFFSET + cmp r1, r0 + ble _081CBE68 + adds r1, r0, 0 +_081CBE68: + mov r0, sp + movs r2, 0 + movs r3, 0x5 + bl ConvertIntToDecimalStringN + adds r0, r4, 0 + mov r1, sp + movs r2, 0x3 + bl sub_81CBEB4 + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBE50 + + thumb_func_start sub_81CBE88 +sub_81CBE88: @ 81CBE88 + push {lr} + sub sp, 0xC + adds r3, r1, 0 + lsls r2, 4 + adds r2, 0x1 + lsls r0, 24 + lsrs r0, 24 + lsls r2, 24 + lsrs r2, 24 + str r2, [sp] + movs r1, 0xFF + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x7 + adds r2, r3, 0 + movs r3, 0x2 + bl AddTextPrinterParameterized + add sp, 0xC + pop {r0} + bx r0 + thumb_func_end sub_81CBE88 + + thumb_func_start sub_81CBEB4 +sub_81CBEB4: @ 81CBEB4 + push {r4-r6,lr} + sub sp, 0xC + adds r5, r0, 0 + adds r6, r1, 0 + adds r4, r2, 0 + lsls r5, 16 + lsrs r5, 16 + movs r0, 0x7 + movs r2, 0x56 + bl GetStringRightAlignXOffset + adds r3, r0, 0 + lsls r4, 4 + adds r4, 0x1 + lsls r5, 24 + lsrs r5, 24 + lsls r3, 24 + lsrs r3, 24 + lsls r4, 24 + lsrs r4, 24 + str r4, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + adds r0, r5, 0 + movs r1, 0x7 + adds r2, r6, 0 + bl AddTextPrinterParameterized + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81CBEB4 + + thumb_func_start sub_81CBEF8 +sub_81CBEF8: @ 81CBEF8 + push {r4,r5,lr} + sub sp, 0x2C + adds r5, r0, 0 + adds r4, r1, 0 + bl GetSelectedMatchCall + adds r0, r4 + bl sub_81CAEA4 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0xD5 + beq _081CBF1C + add r0, sp, 0xC + movs r2, 0 + bl GetMapName + b _081CBF24 +_081CBF1C: + ldr r1, =gText_Unknown + add r0, sp, 0xC + bl StringCopy +_081CBF24: + movs r0, 0x7 + add r1, sp, 0xC + movs r2, 0x58 + bl GetStringCenterAlignXOffset + adds r4, r0, 0 + ldrb r0, [r5, 0x10] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r5, 0x10] + lsls r4, 24 + lsrs r4, 24 + movs r1, 0x1 + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x7 + add r2, sp, 0xC + adds r3, r4, 0 + bl AddTextPrinterParameterized + add sp, 0x2C + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBEF8 + + thumb_func_start sub_81CBF60 +sub_81CBF60: @ 81CBF60 + push {r4-r6,lr} + sub sp, 0xC + adds r5, r0, 0 + ldrb r0, [r5, 0x12] + movs r1, 0x11 + bl FillWindowPixelBuffer + movs r4, 0 + movs r6, 0x80 + lsls r6, 17 + b _081CBF9C +_081CBF76: + ldrb r0, [r5, 0x12] + ldr r2, =gUnknown_086227E8 + lsls r1, 2 + adds r1, r2 + ldr r2, [r1] + lsrs r1, r6, 24 + str r1, [sp] + movs r1, 0xFF + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x7 + movs r3, 0x10 + bl AddTextPrinterParameterized + movs r0, 0x80 + lsls r0, 21 + adds r6, r0 + adds r4, 0x1 +_081CBF9C: + cmp r4, 0x2 + bhi _081CBFAE + adds r0, r4, 0 + bl sub_81CB02C + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0x3 + bne _081CBF76 +_081CBFAE: + ldrb r0, [r5, 0x12] + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CBF60 + + thumb_func_start sub_81CBFC4 +sub_81CBFC4: @ 81CBFC4 + push {r4,lr} + adds r4, r0, 0 + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CBFD6 + movs r0, 0x1 + b _081CBFE8 +_081CBFD6: + bl sub_81CB01C + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + bl sub_81CC2F0 + movs r0, 0 +_081CBFE8: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CBFC4 + + thumb_func_start sub_81CBFF0 +sub_81CBFF0: @ 81CBFF0 + push {r4,lr} + adds r4, r0, 0 + bl sub_81CC330 + adds r0, r4, 0 + bl sub_81CBDC0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CBFF0 + + thumb_func_start sub_81CC004 +sub_81CC004: @ 81CC004 + push {lr} + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_81CC004 + + thumb_func_start sub_81CC014 +sub_81CC014: @ 81CC014 + push {r4,lr} + adds r4, r0, 0 + bl sub_81CC330 + ldrb r0, [r4, 0x12] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x12] + movs r1, 0x2 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CC014 + + thumb_func_start sub_81CC034 +sub_81CC034: @ 81CC034 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08622808 + bl AddWindow + strh r0, [r4, 0x14] + ldrh r0, [r4, 0x14] + movs r1, 0x1 + movs r2, 0x4 + bl sub_8197184 + bl sub_81C7B40 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC034 + + thumb_func_start sub_81CC058 +sub_81CC058: @ 81CC058 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x14] + movs r1, 0x1 + movs r2, 0x4 + bl sub_8197184 + ldrh r0, [r4, 0x14] + movs r1, 0x1 + movs r2, 0x4 + bl sub_81971C4 + ldrb r0, [r4, 0x14] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x14] + bl PutWindowTilemap + ldrb r0, [r4, 0x14] + movs r1, 0x3 + bl CopyWindowToVram + bl PauseSpinningNavgearSprite + movs r2, 0 + movs r1, 0x18 + strh r1, [r0, 0x20] + movs r1, 0x70 + strh r1, [r0, 0x22] + strh r2, [r0, 0x26] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CC058 + + thumb_func_start sub_81CC09C +sub_81CC09C: @ 81CC09C + push {r4,lr} + adds r4, r0, 0 + ldrb r0, [r4, 0x14] + movs r1, 0x1 + movs r2, 0x40 + bl LoadUserWindowBorderGfx + ldrb r0, [r4, 0x14] + movs r1, 0x1 + movs r2, 0x4 + bl DrawTextBorderOuter + ldrb r0, [r4, 0x14] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x14] + bl PutWindowTilemap + ldrb r0, [r4, 0x14] + movs r1, 0x3 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CC09C + + thumb_func_start sub_81CC0D0 +sub_81CC0D0: @ 81CC0D0 + push {lr} + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_81CC0D0 + + thumb_func_start sub_81CC0E0 +sub_81CC0E0: @ 81CC0E0 + push {lr} + sub sp, 0xC + ldrb r0, [r0, 0x14] + ldr r2, =gUnknown_086227F4 + movs r1, 0x1 + str r1, [sp] + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0x20 + bl AddTextPrinterParameterized + add sp, 0xC + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC0E0 + + thumb_func_start sub_81CC104 +sub_81CC104: @ 81CC104 + push {r4,lr} + adds r4, r0, 0 + bl RunTextPrinters + ldrb r0, [r4, 0x14] + bl IsTextPrinterActive + lsls r0, 16 + lsrs r0, 16 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CC104 + + thumb_func_start sub_81CC11C +sub_81CC11C: @ 81CC11C + push {lr} + sub sp, 0xC + ldrb r0, [r0, 0x14] + ldr r2, =gText_TrainerCloseBy + movs r1, 0x1 + str r1, [sp] + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + add sp, 0xC + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC11C + + thumb_func_start sub_81CC140 +sub_81CC140: @ 81CC140 + push {r4,lr} + adds r4, r0, 0 + bl RunTextPrinters + ldrb r0, [r4, 0x14] + bl IsTextPrinterActive + lsls r0, 16 + lsrs r0, 16 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CC140 + + thumb_func_start sub_81CC158 +sub_81CC158: @ 81CC158 + push {r4,r5,lr} + sub sp, 0xC + adds r4, r0, 0 + bl GetSelectedMatchCall + adds r1, r4, 0 + adds r1, 0xF + bl sub_81CAF78 + adds r5, r0, 0 + bl GetPlayerTextSpeedDelay + lsls r0, 24 + lsrs r0, 24 + ldrb r2, [r4, 0x14] + movs r1, 0x1 + str r1, [sp] + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + adds r0, r2, 0 + adds r2, r5, 0 + movs r3, 0x20 + bl AddTextPrinterParameterized + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CC158 + + thumb_func_start sub_81CC194 +sub_81CC194: @ 81CC194 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gMain + ldrh r1, [r0, 0x2C] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _081CC1B8 + ldr r0, =gTextFlags + ldrb r1, [r0] + movs r2, 0x1 + orrs r1, r2 + strb r1, [r0] + b _081CC1C4 + .pool +_081CC1B8: + ldr r2, =gTextFlags + ldrb r1, [r2] + movs r0, 0x2 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_081CC1C4: + bl RunTextPrinters + ldrb r0, [r4, 0x14] + bl IsTextPrinterActive + lsls r0, 16 + lsrs r0, 16 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CC194 + + thumb_func_start sub_81CC1DC +sub_81CC1DC: @ 81CC1DC + push {lr} + sub sp, 0x8 + bl ResumeSpinningNavgearSprite + movs r0, 0x20 + str r0, [sp] + movs r0, 0x14 + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect_Palette0 + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_81CC1DC + + thumb_func_start sub_81CC204 +sub_81CC204: @ 81CC204 + push {lr} + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_81CC204 + + thumb_func_start sub_81CC214 +sub_81CC214: @ 81CC214 + push {r4-r6,lr} + sub sp, 0x8 + movs r0, 0x6 + bl GetSubstructPtr + adds r6, r0, 0 + movs r5, 0 + ldr r4, =gUnknown_08622810 +_081CC224: + adds r0, r4, 0 + bl LoadCompressedSpriteSheet + adds r4, 0x8 + adds r5, 0x1 + cmp r5, 0 + beq _081CC224 + ldr r0, =gUnknown_08622818 + bl Pokenav_AllocAndLoadPalettes + movs r0, 0 + str r0, [r6, 0x1C] + ldr r1, =0x00001828 + adds r0, r6, r1 + str r0, [sp] + ldr r1, =0xffff0000 + ldr r0, [sp, 0x4] + ands r0, r1 + movs r1, 0x80 + lsls r1, 4 + orrs r0, r1 + ldr r1, =0x0000ffff + ands r0, r1 + movs r1, 0x80 + lsls r1, 12 + orrs r0, r1 + str r0, [sp, 0x4] + mov r0, sp + bl LoadSpriteSheet + ldr r2, =0x00001824 + adds r1, r6, r2 + lsls r0, 16 + lsrs r0, 11 + ldr r2, =0x06010000 + adds r0, r2 + str r0, [r1] + movs r0, 0xD + bl AllocSpritePalette + lsls r0, 24 + lsrs r0, 20 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r0, [r6, 0x1A] + bl sub_81CC370 + str r0, [r6, 0x20] + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC214 + + thumb_func_start sub_81CC2B4 +sub_81CC2B4: @ 81CC2B4 + push {r4,lr} + movs r0, 0x6 + bl GetSubstructPtr + adds r4, r0, 0 + ldr r0, [r4, 0x1C] + cmp r0, 0 + beq _081CC2C8 + bl DestroySprite +_081CC2C8: + ldr r0, [r4, 0x20] + cmp r0, 0 + beq _081CC2D2 + bl DestroySprite +_081CC2D2: + movs r0, 0x8 + bl FreeSpriteTilesByTag + movs r0, 0x7 + bl FreeSpriteTilesByTag + movs r0, 0xC + bl FreeSpritePaletteByTag + movs r0, 0xD + bl FreeSpritePaletteByTag + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CC2B4 + + thumb_func_start sub_81CC2F0 +sub_81CC2F0: @ 81CC2F0 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldr r0, [r4, 0x1C] + cmp r0, 0 + bne _081CC320 + ldr r0, =gUnknown_08622830 + movs r1, 0x4 + movs r2, 0x50 + movs r3, 0x5 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + str r1, [r4, 0x1C] + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81CC344 +_081CC320: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC2F0 + + thumb_func_start sub_81CC330 +sub_81CC330: @ 81CC330 + push {r4,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x1C] + bl DestroySprite + movs r0, 0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CC330 + + thumb_func_start sub_81CC344 +sub_81CC344: @ 81CC344 + ldr r0, [r0, 0x1C] + lsls r1, 4 + strh r1, [r0, 0x26] + bx lr + thumb_func_end sub_81CC344 + + thumb_func_start sub_81CC34C +sub_81CC34C: @ 81CC34C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _081CC36C + movs r0, 0 + strh r0, [r2, 0x2E] + ldrh r0, [r2, 0x24] + adds r0, 0x1 + movs r1, 0x7 + ands r0, r1 + strh r0, [r2, 0x24] +_081CC36C: + pop {r0} + bx r0 + thumb_func_end sub_81CC34C + + thumb_func_start sub_81CC370 +sub_81CC370: @ 81CC370 + push {lr} + ldr r0, =gUnknown_08622850 + movs r1, 0x2C + movs r2, 0x68 + movs r3, 0x6 + bl CreateSprite + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CC370 + + thumb_func_start sub_81CC39C +sub_81CC39C: @ 81CC39C + push {r4-r7,lr} + adds r7, r0, 0 + bl GetSelectedMatchCall + bl sub_81CAF04 + cmp r0, 0 + blt _081CC400 + lsls r4, r0, 3 + ldr r0, =gTrainerFrontPicTable + adds r0, r4, r0 + ldr r1, =0x00001828 + adds r5, r7, r1 + adds r1, r5, 0 + movs r2, 0 + bl DecompressPicFromTable + ldr r0, =gTrainerFrontPicPaletteTable + adds r4, r0 + ldr r0, [r4] + ldr r1, =0x00002028 + adds r6, r7, r1 + adds r1, r6, 0 + bl LZ77UnCompWram + ldr r1, =0x00001824 + adds r0, r7, r1 + ldr r1, [r0] + movs r2, 0x80 + lsls r2, 4 + adds r0, r5, 0 + movs r3, 0x1 + bl RequestDma3Copy + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldrh r1, [r7, 0x1A] + adds r0, r6, 0 + movs r2, 0x20 + bl LoadPalette + ldr r1, [r7, 0x20] + movs r0, 0 + strh r0, [r1, 0x2E] + ldr r0, [r7, 0x20] + strh r4, [r0, 0x3C] + ldr r1, [r7, 0x20] + ldr r0, =sub_81CC440 + str r0, [r1, 0x1C] +_081CC400: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC39C + + thumb_func_start sub_81CC420 +sub_81CC420: @ 81CC420 + ldr r1, [r0, 0x20] + ldr r0, =sub_81CC4A4 + str r0, [r1, 0x1C] + bx lr + .pool + thumb_func_end sub_81CC420 + + thumb_func_start sub_81CC42C +sub_81CC42C: @ 81CC42C + ldr r0, [r0, 0x20] + ldr r1, [r0, 0x1C] + ldr r0, =SpriteCallbackDummy + eors r1, r0 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + bx lr + .pool + thumb_func_end sub_81CC42C + + thumb_func_start sub_81CC440 +sub_81CC440: @ 81CC440 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _081CC452 + cmp r0, 0x1 + beq _081CC484 + b _081CC498 +_081CC452: + movs r1, 0x3C + ldrsh r0, [r4, r1] + bl CheckForSpaceForDma3Request + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + beq _081CC498 + ldr r0, =0x0000ffb0 + strh r0, [r4, 0x24] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _081CC498 + .pool +_081CC484: + ldrh r0, [r4, 0x24] + adds r0, 0x8 + strh r0, [r4, 0x24] + lsls r0, 16 + cmp r0, 0 + blt _081CC498 + movs r0, 0 + strh r0, [r4, 0x24] + ldr r0, =SpriteCallbackDummy + str r0, [r4, 0x1C] +_081CC498: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC440 + + thumb_func_start sub_81CC4A4 +sub_81CC4A4: @ 81CC4A4 + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x24] + subs r0, 0x8 + strh r0, [r3, 0x24] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x50 + negs r1, r1 + cmp r0, r1 + bgt _081CC4CA + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, =SpriteCallbackDummy + str r0, [r3, 0x1C] +_081CC4CA: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC4A4 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_5.s b/asm/pokenav_unk_5.s new file mode 100644 index 0000000000..add5fb1892 --- /dev/null +++ b/asm/pokenav_unk_5.s @@ -0,0 +1,1396 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(3) + + thumb_func_start sub_81CC4D4 +sub_81CC4D4: @ 81CC4D4 + push {r4,lr} + movs r0, 0x3 + movs r1, 0x14 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CC4F0 + ldr r1, =0x00000884 + movs r0, 0x10 + bl AllocSubstruct + cmp r0, 0 + bne _081CC4F8 +_081CC4F0: + movs r0, 0 + b _081CC51A + .pool +_081CC4F8: + ldr r0, =gMapHeader + ldrb r0, [r0, 0x14] + bl sub_8124668 + str r0, [r4, 0xC] + cmp r0, 0 + bne _081CC514 + ldr r0, =sub_81CC568 + b _081CC516 + .pool +_081CC514: + ldr r0, =sub_81CC5B4 +_081CC516: + str r0, [r4, 0x10] + movs r0, 0x1 +_081CC51A: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CC4D4 + + thumb_func_start sub_81CC524 +sub_81CC524: @ 81CC524 + push {lr} + bl sub_8124658 + ldr r1, =gSaveBlock2Ptr + ldr r3, [r1] + movs r1, 0x1 + ands r1, r0 + lsls r1, 3 + ldrb r2, [r3, 0x15] + movs r0, 0x9 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x15] + movs r0, 0x10 + bl FreePokenavSubstruct + movs r0, 0x3 + bl FreePokenavSubstruct + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC524 + + thumb_func_start sub_81CC554 +sub_81CC554: @ 81CC554 + push {lr} + movs r0, 0x3 + bl GetSubstructPtr + ldr r1, [r0, 0x10] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81CC554 + + thumb_func_start sub_81CC568 +sub_81CC568: @ 81CC568 + push {r4,lr} + adds r4, r0, 0 + bl sub_81230AC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x4 + beq _081CC58C + cmp r0, 0x4 + bgt _081CC582 + cmp r0, 0x3 + beq _081CC588 + b _081CC5AC +_081CC582: + cmp r0, 0x5 + beq _081CC59E + b _081CC5AC +_081CC588: + movs r0, 0x1 + b _081CC5AE +_081CC58C: + bl sub_8124658 + lsls r0, 24 + cmp r0, 0 + bne _081CC59A + movs r0, 0x3 + b _081CC5AE +_081CC59A: + movs r0, 0x2 + b _081CC5AE +_081CC59E: + ldr r0, =sub_81CC5DC + str r0, [r4, 0x10] + movs r0, 0x4 + b _081CC5AE + .pool +_081CC5AC: + movs r0, 0 +_081CC5AE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CC568 + + thumb_func_start sub_81CC5B4 +sub_81CC5B4: @ 81CC5B4 + push {lr} + adds r2, r0, 0 + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081CC5CC + movs r0, 0 + b _081CC5D2 + .pool +_081CC5CC: + ldr r0, =sub_81CC5DC + str r0, [r2, 0x10] + movs r0, 0x4 +_081CC5D2: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CC5B4 + + thumb_func_start sub_81CC5DC +sub_81CC5DC: @ 81CC5DC + ldr r0, =0x000186a1 + bx lr + .pool + thumb_func_end sub_81CC5DC + + thumb_func_start sub_81CC5E4 +sub_81CC5E4: @ 81CC5E4 + push {lr} + movs r0, 0x3 + bl GetSubstructPtr + ldr r0, [r0, 0xC] + pop {r1} + bx r1 + thumb_func_end sub_81CC5E4 + + thumb_func_start sub_81CC5F4 +sub_81CC5F4: @ 81CC5F4 + push {r4,lr} + ldr r1, =0x00001948 + movs r0, 0x4 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CC624 + ldr r0, =sub_81CC6F4 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CC6BC + str r0, [r4] + movs r0, 0x1 + b _081CC626 + .pool +_081CC624: + movs r0, 0 +_081CC626: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CC5F4 + + thumb_func_start sub_81CC62C +sub_81CC62C: @ 81CC62C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x4 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_086230E4 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81CC6BC + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC62C + + thumb_func_start sub_81CC65C +sub_81CC65C: @ 81CC65C + push {lr} + movs r0, 0x4 + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81CC65C + + thumb_func_start sub_81CC670 +sub_81CC670: @ 81CC670 + push {r4,lr} + movs r0, 0x4 + bl GetSubstructPtr + adds r4, r0, 0 + bl FreeRegionMapIconResources + bl sub_81CC9EC + ldrb r0, [r4, 0x8] + bl RemoveWindow + movs r0, 0x10 + bl FreePokenavSubstruct + movs r0, 0x4 + bl FreePokenavSubstruct + bl SetPokenavVBlankCallback + movs r0, 0 + bl SetBgMode + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CC670 + + thumb_func_start sub_81CC6A4 +sub_81CC6A4: @ 81CC6A4 + push {lr} + bl TransferPlttBuffer + bl LoadOam + bl ProcessSpriteCopyRequests + bl UpdateRegionMapVideoRegs + pop {r0} + bx r0 + thumb_func_end sub_81CC6A4 + + thumb_func_start sub_81CC6BC +sub_81CC6BC: @ 81CC6BC + push {lr} + movs r0, 0x4 + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81CC6BC + + thumb_func_start sub_81CC6D0 +sub_81CC6D0: @ 81CC6D0 + push {lr} + bl sub_81CC5E4 + cmp r0, 0 + bne _081CC6EC + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x15] + lsrs r0, 3 + movs r1, 0x1 + ands r0, r1 + b _081CC6EE + .pool +_081CC6EC: + movs r0, 0 +_081CC6EE: + pop {r1} + bx r1 + thumb_func_end sub_81CC6D0 + + thumb_func_start sub_81CC6F4 +sub_81CC6F4: @ 81CC6F4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x4 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x7 + bls _081CC706 + b _081CC83E +_081CC706: + lsls r0, r4, 2 + ldr r1, =_081CC714 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CC714: + .4byte _081CC734 + .4byte _081CC784 + .4byte _081CC7B6 + .4byte _081CC7BE + .4byte _081CC7CE + .4byte _081CC7E2 + .4byte _081CC804 + .4byte _081CC82A +_081CC734: + movs r0, 0 + bl SetVBlankCallback_ + movs r0, 0x1 + bl HideBg + movs r0, 0x2 + bl HideBg + movs r0, 0x3 + bl HideBg + movs r0, 0x1 + bl SetBgMode + ldr r4, =gUnknown_086230D8 + adds r0, r4, 0 + movs r1, 0x2 + bl InitBgTemplates + movs r0, 0x10 + bl GetSubstructPtr + adds r5, r0, 0 + adds r4, 0x4 + bl sub_81CC6D0 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8122CF8 + bl sub_81CC9C0 +_081CC77C: + movs r0, 0 + b _081CC840 + .pool +_081CC784: + bl sub_8122DB0 + lsls r0, 24 + cmp r0, 0 + bne _081CC83A + bl sub_81CC5E4 + cmp r0, 0 + bne _081CC7AC + movs r0, 0x4 + movs r1, 0x9 + bl CreateRegionMapPlayerIcon + movs r0, 0x5 + movs r1, 0xA + bl CreateRegionMapCursor + bl sub_812454C + b _081CC77C +_081CC7AC: + movs r0, 0 + movs r1, 0x6 + bl sub_8123030 + b _081CC77C +_081CC7B6: + bl sub_81CCD10 +_081CC7BA: + movs r0, 0x1 + b _081CC840 +_081CC7BE: + bl sub_81CCD24 + cmp r0, 0 + bne _081CC83A + adds r0, r5, 0 + bl sub_81CCA1C + b _081CC7BA +_081CC7CE: + bl sub_81CCAFC + cmp r0, 0 + bne _081CC83A + adds r0, r5, 0 + bl sub_81CCB0C + bl sub_81C7B40 + b _081CC77C +_081CC7E2: + adds r0, r5, 0 + bl sub_81CCC4C + cmp r0, 0 + bne _081CC83A + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + ldr r0, =sub_81CC6A4 + bl SetVBlankCallback_ + b _081CC77C + .pool +_081CC804: + bl sub_81CC6D0 + lsls r0, 24 + movs r4, 0x5 + cmp r0, 0 + bne _081CC812 + movs r4, 0x4 +_081CC812: + adds r0, r4, 0 + bl LoadLeftHeaderGfxForIndex + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_81C7FA0 + movs r0, 0x1 + bl sub_81C7AC0 + b _081CC77C +_081CC82A: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CC83A + bl sub_81C8010 + cmp r0, 0 + beq _081CC7BA +_081CC83A: + movs r0, 0x2 + b _081CC840 +_081CC83E: + movs r0, 0x4 +_081CC840: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CC6F4 + + thumb_func_start sub_81CC848 +sub_81CC848: @ 81CC848 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x4 + bl GetSubstructPtr + cmp r4, 0 + beq _081CC85C + cmp r4, 0x1 + beq _081CC864 + b _081CC870 +_081CC85C: + bl sub_81CCB0C + movs r0, 0 + b _081CC872 +_081CC864: + bl sub_81CCC4C + cmp r0, 0 + beq _081CC870 + movs r0, 0x2 + b _081CC872 +_081CC870: + movs r0, 0x4 +_081CC872: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CC848 + + thumb_func_start sub_81CC878 +sub_81CC878: @ 81CC878 + push {lr} + cmp r0, 0x1 + beq _081CC8A2 + cmp r0, 0x1 + bgt _081CC888 + cmp r0, 0 + beq _081CC88E + b _081CC8D0 +_081CC888: + cmp r0, 0x2 + beq _081CC8BE + b _081CC8D0 +_081CC88E: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81CCC5C + bl sub_8123418 + movs r0, 0 + b _081CC8D2 +_081CC8A2: + bl sub_8123514 + lsls r0, 24 + cmp r0, 0 + bne _081CC8C6 + bl sub_81CCC88 + cmp r0, 0 + bne _081CC8C6 + movs r0, 0x1 + bl sub_81C7BA4 + movs r0, 0 + b _081CC8D2 +_081CC8BE: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0 + beq _081CC8CA +_081CC8C6: + movs r0, 0x2 + b _081CC8D2 +_081CC8CA: + movs r0, 0x4 + bl sub_81C7E14 +_081CC8D0: + movs r0, 0x4 +_081CC8D2: + pop {r1} + bx r1 + thumb_func_end sub_81CC878 + + thumb_func_start sub_81CC8D8 +sub_81CC8D8: @ 81CC8D8 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x4 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CC90C + cmp r4, 0x1 + bgt _081CC8F2 + cmp r4, 0 + beq _081CC8FC + b _081CC952 +_081CC8F2: + cmp r4, 0x2 + beq _081CC924 + cmp r4, 0x3 + beq _081CC940 + b _081CC952 +_081CC8FC: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81CCB0C + movs r0, 0 + b _081CC954 +_081CC90C: + adds r0, r5, 0 + bl sub_81CCC4C + cmp r0, 0 + bne _081CC948 + movs r0, 0x1 + bl sub_81CCC5C + bl sub_8123418 + movs r0, 0 + b _081CC954 +_081CC924: + bl sub_8123514 + lsls r0, 24 + cmp r0, 0 + bne _081CC948 + bl sub_81CCC88 + cmp r0, 0 + bne _081CC948 + movs r0, 0x2 + bl sub_81C7BA4 + movs r0, 0 + b _081CC954 +_081CC940: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0 + beq _081CC94C +_081CC948: + movs r0, 0x2 + b _081CC954 +_081CC94C: + movs r0, 0x5 + bl sub_81C7E14 +_081CC952: + movs r0, 0x4 +_081CC954: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CC8D8 + + thumb_func_start sub_81CC95C +sub_81CC95C: @ 81CC95C + push {lr} + cmp r0, 0x1 + beq _081CC982 + cmp r0, 0x1 + bgt _081CC96C + cmp r0, 0 + beq _081CC972 + b _081CC9B8 +_081CC96C: + cmp r0, 0x2 + beq _081CC996 + b _081CC9B8 +_081CC972: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081CC9BA +_081CC982: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CC99E + bl sub_81C7FDC + bl sub_81C78A0 + movs r0, 0 + b _081CC9BA +_081CC996: + bl MainMenuLoopedTaskIsBusy + cmp r0, 0 + beq _081CC9A2 +_081CC99E: + movs r0, 0x2 + b _081CC9BA +_081CC9A2: + movs r0, 0x1 + bl HideBg + movs r0, 0x2 + bl HideBg + movs r0, 0x3 + bl HideBg + movs r0, 0 + b _081CC9BA +_081CC9B8: + movs r0, 0x4 +_081CC9BA: + pop {r1} + bx r1 + thumb_func_end sub_81CC95C + + thumb_func_start sub_81CC9C0 +sub_81CC9C0: @ 81CC9C0 + push {r4,r5,lr} + movs r5, 0 + ldr r4, =gUnknown_086230F8 +_081CC9C6: + adds r0, r4, 0 + bl LoadCompressedSpriteSheet + adds r4, 0x8 + adds r5, 0x1 + cmp r5, 0 + beq _081CC9C6 + ldr r0, =gUnknown_08623100 + bl Pokenav_AllocAndLoadPalettes + bl sub_81CCE58 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CC9C0 + + thumb_func_start sub_81CC9EC +sub_81CC9EC: @ 81CC9EC + push {r4,r5,lr} + movs r0, 0x4 + bl GetSubstructPtr + adds r4, r0, 0 + movs r0, 0x6 + bl FreeSpriteTilesByTag + movs r0, 0xB + bl FreeSpritePaletteByTag + adds r5, r4, 0 + adds r5, 0xC + movs r4, 0x2 +_081CCA08: + ldm r5!, {r0} + bl DestroySprite + subs r4, 0x1 + cmp r4, 0 + bge _081CCA08 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CC9EC + + thumb_func_start sub_81CCA1C +sub_81CCA1C: @ 81CCA1C + push {r4,r5,lr} + sub sp, 0x8 + adds r5, r0, 0 + movs r0, 0x1 + movs r1, 0 + movs r2, 0x40 + movs r3, 0x1 + bl sub_8199DF0 + movs r0, 0x1 + movs r1, 0x11 + movs r2, 0x41 + movs r3, 0x1 + bl sub_8199DF0 + add r1, sp, 0x4 + movs r2, 0x82 + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + adds r4, r5, 0 + adds r4, 0x18 + ldr r2, =0x01000400 + adds r0, r1, 0 + adds r1, r4, 0 + bl CpuSet + movs r0, 0x1 + adds r1, r4, 0 + bl SetBgTilemapBuffer + ldr r0, =gUnknown_08623110 + bl AddWindow + movs r4, 0 + strh r0, [r5, 0x8] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x42 + movs r2, 0x40 + bl LoadUserWindowBorderGfx_ + ldrb r0, [r5, 0x8] + movs r1, 0x42 + movs r2, 0x4 + bl DrawTextBorderOuter + ldr r1, =gUnknown_08622888 + str r4, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldrb r0, [r5, 0x8] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r5, 0x8] + bl PutWindowTilemap + ldrb r0, [r5, 0x8] + movs r1, 0x3 + bl CopyWindowToVram + ldr r0, =gUnknown_08622868 + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + ldr r0, =gHoennMapZoomIcons_Pal + movs r1, 0x30 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + bl sub_8124658 + lsls r0, 24 + cmp r0, 0 + bne _081CCAE0 + ldr r1, =0xffffa000 + movs r0, 0x1 + movs r2, 0 + bl ChangeBgY + b _081CCAEA + .pool +_081CCAE0: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY +_081CCAEA: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CCA1C + + thumb_func_start sub_81CCAFC +sub_81CCAFC: @ 81CCAFC + push {lr} + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_81CCAFC + + thumb_func_start sub_81CCB0C +sub_81CCB0C: @ 81CCB0C + push {r4,r5,lr} + sub sp, 0xC + adds r4, r0, 0 + movs r0, 0x10 + bl GetSubstructPtr + adds r5, r0, 0 + ldrb r0, [r5, 0x2] + cmp r0, 0x4 + bls _081CCB22 + b _081CCC40 +_081CCB22: + lsls r0, 2 + ldr r1, =_081CCB30 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CCB30: + .4byte _081CCC1C + .4byte _081CCBDC + .4byte _081CCB44 + .4byte _081CCB8E + .4byte _081CCBDC +_081CCB44: + ldrb r0, [r4, 0x8] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x8] + movs r1, 0x2 + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0xC + bl PutWindowRectTilemap + ldrb r0, [r4, 0x8] + adds r2, r5, 0x4 + movs r1, 0x1 + str r1, [sp] + movs r1, 0xFF + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x7 + movs r3, 0 + bl AddTextPrinterParameterized + ldrh r1, [r5] + ldrb r2, [r5, 0x3] + adds r0, r4, 0 + bl sub_81CCD70 + ldrb r0, [r4, 0x8] + movs r1, 0x3 + bl CopyWindowToVram + movs r0, 0 + bl sub_81CCFA4 + b _081CCC40 +_081CCB8E: + ldrb r0, [r4, 0x8] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x8] + movs r1, 0x2 + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0xC + bl PutWindowRectTilemap + ldrb r0, [r4, 0x8] + adds r2, r5, 0x4 + movs r1, 0x1 + str r1, [sp] + movs r1, 0xFF + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x7 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =0x00001041 + movs r0, 0xC + str r0, [sp] + movs r0, 0xB + str r0, [sp, 0x4] + movs r0, 0x11 + str r0, [sp, 0x8] + movs r0, 0x1 + movs r2, 0x11 + movs r3, 0x6 + bl FillBgTilemapBufferRect + b _081CCC0C + .pool +_081CCBDC: + ldrb r0, [r4, 0x8] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x8] + bl PutWindowTilemap + ldrb r0, [r4, 0x8] + adds r2, r5, 0x4 + movs r1, 0x1 + str r1, [sp] + movs r1, 0xFF + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x7 + movs r3, 0 + bl AddTextPrinterParameterized + ldrh r1, [r5] + ldrb r2, [r5, 0x3] + adds r0, r4, 0 + bl sub_81CCDE8 +_081CCC0C: + ldrb r0, [r4, 0x8] + movs r1, 0x3 + bl CopyWindowToVram + movs r0, 0x1 + bl sub_81CCFA4 + b _081CCC40 +_081CCC1C: + ldr r1, =0x00001041 + movs r0, 0xC + str r0, [sp] + movs r0, 0xD + str r0, [sp, 0x4] + movs r0, 0x11 + str r0, [sp, 0x8] + movs r0, 0x1 + movs r2, 0x11 + movs r3, 0x4 + bl FillBgTilemapBufferRect + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + movs r0, 0x1 + bl sub_81CCFA4 +_081CCC40: + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CCB0C + + thumb_func_start sub_81CCC4C +sub_81CCC4C: @ 81CCC4C + push {lr} + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_81CCC4C + + thumb_func_start sub_81CCC5C +sub_81CCC5C: @ 81CCC5C + push {r4,lr} + adds r4, r0, 0 + ldr r0, =sub_81CCC9C + movs r1, 0x3 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CCC5C + + thumb_func_start sub_81CCC88 +sub_81CCC88: @ 81CCC88 + push {lr} + ldr r0, =sub_81CCC9C + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CCC88 + + thumb_func_start sub_81CCC9C +sub_81CCC9C: @ 81CCC9C + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _081CCCE0 + movs r1, 0x90 + lsls r1, 3 + movs r0, 0x1 + movs r2, 0x1 + bl ChangeBgY + cmp r0, 0 + blt _081CCCD6 + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + adds r0, r4, 0 + bl DestroyTask +_081CCCD6: + bl sub_81CCF78 + b _081CCD04 + .pool +_081CCCE0: + movs r1, 0x90 + lsls r1, 3 + movs r0, 0x1 + movs r2, 0x2 + bl ChangeBgY + ldr r1, =0xffffa000 + cmp r0, r1 + bgt _081CCD00 + movs r0, 0x1 + movs r2, 0 + bl ChangeBgY + adds r0, r5, 0 + bl DestroyTask +_081CCD00: + bl sub_81CCF78 +_081CCD04: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CCC9C + + thumb_func_start sub_81CCD10 +sub_81CCD10: @ 81CCD10 + push {lr} + ldr r0, =sub_81CCD34 + movs r1, 0x1 + bl CreateLoopedTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CCD10 + + thumb_func_start sub_81CCD24 +sub_81CCD24: @ 81CCD24 + push {lr} + ldr r0, =sub_81CCD34 + bl FuncIsActiveLoopedTask + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CCD24 + + thumb_func_start sub_81CCD34 +sub_81CCD34: @ 81CCD34 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x4 + bl GetSubstructPtr + adds r2, r0, 0 + cmp r4, 0x15 + ble _081CCD48 + movs r0, 0x4 + b _081CCD62 +_081CCD48: + ldr r0, =gUnknown_08623118 + lsls r1, r4, 3 + adds r0, 0x4 + adds r1, r0 + ldr r0, [r1] + movs r1, 0xC8 + muls r1, r4 + ldr r3, =0x00000818 + adds r1, r3 + adds r1, r2, r1 + bl LZ77UnCompWram + movs r0, 0x1 +_081CCD62: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CCD34 + + thumb_func_start sub_81CCD70 +sub_81CCD70: @ 81CCD70 + push {r4-r6,lr} + sub sp, 0x8 + adds r6, r0, 0 + adds r3, r1, 0 + movs r4, 0 + ldr r0, =gUnknown_08623118 + ldrh r1, [r0] + adds r5, r0, 0 + cmp r1, r3 + bne _081CCD8A + ldrh r0, [r5, 0x2] + cmp r0, r2 + beq _081CCDA0 +_081CCD8A: + adds r4, 0x1 + cmp r4, 0x15 + bgt _081CCDA0 + lsls r0, r4, 3 + adds r1, r0, r5 + ldrh r0, [r1] + cmp r0, r3 + bne _081CCD8A + ldrh r0, [r1, 0x2] + cmp r0, r2 + bne _081CCD8A +_081CCDA0: + cmp r4, 0x16 + beq _081CCDD4 + ldr r1, =0x00001041 + movs r0, 0xC + str r0, [sp] + movs r0, 0xB + str r0, [sp, 0x4] + movs r0, 0x1 + movs r2, 0x11 + movs r3, 0x6 + bl FillBgTilemapBufferRect_Palette0 + movs r0, 0xC8 + adds r1, r4, 0 + muls r1, r0 + ldr r0, =0x00000818 + adds r1, r0 + adds r1, r6, r1 + movs r0, 0xA + str r0, [sp] + str r0, [sp, 0x4] + movs r0, 0x1 + movs r2, 0x12 + movs r3, 0x6 + bl CopyToBgTilemapBufferRect +_081CCDD4: + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CCD70 + + thumb_func_start sub_81CCDE8 +sub_81CCDE8: @ 81CCDE8 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0xC + mov r9, r0 + movs r5, 0 + ldr r6, =gStringVar1 + movs r4, 0x88 + lsls r4, 21 + lsls r1, 24 + mov r8, r1 + lsls r7, r2, 24 + b _081CCE34 + .pool +_081CCE08: + adds r0, r6, 0 + movs r2, 0 + movs r3, 0xC + bl StringCopyPadded + mov r1, r9 + ldrb r0, [r1, 0x8] + lsrs r1, r4, 24 + str r1, [sp] + movs r1, 0xFF + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x7 + adds r2, r6, 0 + movs r3, 0 + bl AddTextPrinterParameterized + movs r0, 0x80 + lsls r0, 21 + adds r4, r0 + adds r5, 0x1 +_081CCE34: + lsls r2, r5, 24 + lsrs r2, 24 + mov r1, r8 + lsrs r0, r1, 24 + lsrs r1, r7, 24 + bl GetLandmarkName + adds r1, r0, 0 + cmp r1, 0 + bne _081CCE08 + add sp, 0xC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CCDE8 + + thumb_func_start sub_81CCE58 +sub_81CCE58: @ 81CCE58 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0x4 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_8124658 + lsls r0, 24 + movs r2, 0x84 + cmp r0, 0 + bne _081CCE74 + movs r2, 0xE4 +_081CCE74: + movs r5, 0 + lsls r7, r2, 16 + adds r4, 0xC + mov r8, r4 + movs r6, 0x98 + lsls r6, 16 +_081CCE80: + asrs r1, r6, 16 + ldr r0, =gUnknown_086231D0 + asrs r2, r7, 16 + movs r3, 0x8 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + ldr r0, =gSprites + adds r2, r0 + movs r0, 0 + strh r0, [r2, 0x2E] + lsls r4, r5, 2 + strh r4, [r2, 0x30] + ldrh r3, [r2, 0x4] + lsls r1, r3, 22 + lsrs r0, r1, 22 + adds r1, r0, 0 + strh r0, [r2, 0x32] + movs r0, 0x96 + strh r0, [r2, 0x34] + strh r4, [r2, 0x36] + adds r1, r4 + ldr r4, =0x000003ff + adds r0, r4, 0 + ands r1, r0 + ldr r4, =0xfffffc00 + adds r0, r4, 0 + ands r3, r0 + orrs r3, r1 + strh r3, [r2, 0x4] + mov r0, r8 + adds r0, 0x4 + mov r8, r0 + subs r0, 0x4 + stm r0!, {r2} + movs r4, 0x80 + lsls r4, 14 + adds r6, r4 + adds r5, 0x1 + cmp r5, 0x2 + ble _081CCE80 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CCE58 + + thumb_func_start sub_81CCEF4 +sub_81CCEF4: @ 81CCEF4 + push {r4,r5,lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x34] + movs r1, 0x34 + ldrsh r4, [r3, r1] + cmp r4, 0 + beq _081CCF06 + subs r0, 0x1 + b _081CCF6E +_081CCF06: + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB + ble _081CCF16 + strh r4, [r3, 0x2E] +_081CCF16: + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3C + ble _081CCF26 + strh r4, [r3, 0x30] +_081CCF26: + ldrh r5, [r3, 0x30] + ldrh r2, [r3, 0x32] + adds r1, r5, r2 + ldr r2, =0x000003ff + adds r0, r2, 0 + ands r1, r0 + ldrh r2, [r3, 0x4] + ldr r0, =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x4] + ldrh r1, [r3, 0x38] + movs r2, 0x38 + ldrsh r0, [r3, r2] + cmp r0, 0x3 + bgt _081CCF5C + movs r2, 0x2E + ldrsh r0, [r3, r2] + cmp r0, 0 + bne _081CCF70 + adds r0, r1, 0x1 + strh r0, [r3, 0x38] + b _081CCF6C + .pool +_081CCF5C: + lsls r0, r5, 16 + asrs r0, 16 + movs r2, 0x36 + ldrsh r1, [r3, r2] + cmp r0, r1 + bne _081CCF70 + strh r4, [r3, 0x38] + strh r4, [r3, 0x2E] +_081CCF6C: + movs r0, 0x78 +_081CCF6E: + strh r0, [r3, 0x34] +_081CCF70: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CCEF4 + + thumb_func_start sub_81CCF78 +sub_81CCF78: @ 81CCF78 + push {r4,lr} + movs r0, 0x4 + bl GetSubstructPtr + adds r4, r0, 0 + movs r0, 0x1 + bl GetBgY + asrs r0, 8 + movs r1, 0x84 + subs r1, r0 + adds r4, 0xC + movs r2, 0x2 +_081CCF92: + ldm r4!, {r0} + strh r1, [r0, 0x22] + subs r2, 0x1 + cmp r2, 0 + bge _081CCF92 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CCF78 + + thumb_func_start sub_81CCFA4 +sub_81CCFA4: @ 81CCFA4 + push {r4-r6,lr} + adds r4, r0, 0 + movs r0, 0x4 + bl GetSubstructPtr + movs r1, 0x1 + ands r4, r1 + lsls r5, r4, 2 + movs r6, 0x5 + negs r6, r6 + adds r4, r0, 0 + adds r4, 0xC + movs r3, 0x2 +_081CCFBE: + ldm r4!, {r0} + adds r0, 0x3E + ldrb r2, [r0] + adds r1, r6, 0 + ands r1, r2 + orrs r1, r5 + strb r1, [r0] + subs r3, 0x1 + cmp r3, 0 + bge _081CCFBE + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81CCFA4 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_6.s b/asm/pokenav_unk_6.s new file mode 100644 index 0000000000..f5e0178161 --- /dev/null +++ b/asm/pokenav_unk_6.s @@ -0,0 +1,1752 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(0xB) + + thumb_func_start sub_81CCFD8 +sub_81CCFD8: @ 81CCFD8 + push {r4,lr} + ldr r1, =0x0000678c + movs r0, 0xB + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CD01C + ldr r1, =0x00006428 + adds r0, r4, r1 + bl sub_81D1ED4 + bl sub_81CD970 + ldr r1, =gKeyRepeatStartDelay + movs r0, 0x14 + strh r0, [r1] + ldr r0, =0x00006304 + adds r1, r4, r0 + ldr r0, =sub_81CD08C + str r0, [r1] + movs r0, 0x1 + b _081CD01E + .pool +_081CD01C: + movs r0, 0 +_081CD01E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CCFD8 + + thumb_func_start sub_81CD024 +sub_81CD024: @ 81CD024 + push {r4,lr} + ldr r1, =0x0000678c + movs r0, 0xB + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CD068 + ldr r1, =0x00006428 + adds r0, r4, r1 + bl sub_81D1ED4 + bl sub_81CD9F8 + ldr r1, =gKeyRepeatStartDelay + movs r0, 0x14 + strh r0, [r1] + ldr r0, =0x00006304 + adds r1, r4, r0 + ldr r0, =sub_81CD08C + str r0, [r1] + movs r0, 0x1 + b _081CD06A + .pool +_081CD068: + movs r0, 0 +_081CD06A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CD024 + + thumb_func_start sub_81CD070 +sub_81CD070: @ 81CD070 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r2, =0x00006304 + adds r1, r0, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD070 + + thumb_func_start sub_81CD08C +sub_81CD08C: @ 81CD08C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r5, r0, 0 + adds r0, r4, 0 + bl sub_81CD1E4 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + bne _081CD100 + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081CD0D0 + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _081CD100 + movs r1, 0xC6 + lsls r1, 7 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _081CD0F0 + ldrh r1, [r5, 0x2] + ldrh r0, [r5] + subs r0, 0x1 + cmp r1, r0 + bne _081CD100 +_081CD0D0: + movs r0, 0x5 + bl PlaySE + ldr r0, =0x00006304 + adds r1, r4, r0 + ldr r0, =sub_81CD19C + str r0, [r1] + movs r2, 0x2 + b _081CD100 + .pool +_081CD0F0: + movs r0, 0x5 + bl PlaySE + movs r2, 0x5 + ldr r0, =0x00006304 + adds r1, r4, r0 + ldr r0, =sub_81CD110 + str r0, [r1] +_081CD100: + adds r0, r2, 0 + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD08C + + thumb_func_start sub_81CD110 +sub_81CD110: @ 81CD110 + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + movs r4, 0 + bl sub_811FBA4 + lsls r0, 24 + cmp r0, 0 + bne _081CD18A + bl sub_81CEF14 + ldr r1, =0x00006786 + adds r5, r6, r1 + movs r1, 0 + ldrsb r1, [r5, r1] + ldr r2, =0x00006783 + adds r4, r6, r2 + adds r1, r4, r1 + strb r0, [r1] + movs r0, 0x12 + bl GetSubstructPtr + ldrh r1, [r0, 0x2] + lsls r1, 2 + adds r0, r1 + ldrb r2, [r0, 0x4] + ldrb r3, [r0, 0x5] + movs r0, 0 + ldrsb r0, [r5, r0] + adds r4, r0 + ldrb r1, [r4] + mov r0, sp + strb r1, [r0] + cmp r2, 0xE + bne _081CD174 + movs r0, 0x64 + muls r0, r3 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x8 + mov r2, sp + bl SetMonData + b _081CD180 + .pool +_081CD174: + adds r0, r2, 0 + adds r1, r3, 0 + movs r2, 0x8 + mov r3, sp + bl SetBoxMonDataAt +_081CD180: + ldr r0, =0x00006304 + adds r1, r6, r0 + ldr r0, =sub_81CD08C + str r0, [r1] + movs r4, 0x6 +_081CD18A: + adds r0, r4, 0 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD110 + + thumb_func_start sub_81CD19C +sub_81CD19C: @ 81CD19C + push {lr} + movs r1, 0xC6 + lsls r1, 7 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081CD1B4 + ldr r0, =0x000186aa + b _081CD1B6 + .pool +_081CD1B4: + ldr r0, =0x000186a2 +_081CD1B6: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD19C + + thumb_func_start sub_81CD1C0 +sub_81CD1C0: @ 81CD1C0 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + movs r1, 0xC6 + lsls r1, 7 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _081CD1DA + movs r0, 0x12 + bl FreePokenavSubstruct +_081CD1DA: + movs r0, 0xB + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81CD1C0 + + thumb_func_start sub_81CD1E4 +sub_81CD1E4: @ 81CD1E4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r2, r0, 0 + movs r3, 0 + ldr r0, =gMain + ldrh r1, [r0, 0x2C] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CD220 + movs r1, 0xC6 + lsls r1, 7 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081CD210 + ldrh r0, [r2, 0x2] + cmp r0, 0 + beq _081CD24E +_081CD210: + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + b _081CD246 + .pool +_081CD220: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CD24E + movs r1, 0xC6 + lsls r1, 7 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081CD23E + ldrh r1, [r2, 0x2] + ldrh r0, [r2] + subs r0, 0x1 + cmp r1, r0 + bge _081CD24E +_081CD23E: + movs r0, 0x5 + bl PlaySE + movs r0, 0 +_081CD246: + bl sub_81CD258 + lsls r0, 24 + lsrs r3, r0, 24 +_081CD24E: + adds r0, r3, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CD1E4 + + thumb_func_start sub_81CD258 +sub_81CD258: @ 81CD258 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r0, 0xB + bl GetSubstructPtr + adds r4, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r5, r0, 0 + mov r0, r8 + cmp r0, 0 + beq _081CD284 + ldr r1, =0x00006788 + adds r0, r4, r1 + b _081CD288 + .pool +_081CD284: + ldr r2, =0x00006787 + adds r0, r4, r2 +_081CD288: + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 16 + lsrs r0, 16 + adds r7, r0, 0 + ldr r1, =0x00006428 + adds r0, r4, r1 + ldr r2, =0x00006786 + adds r1, r4, r2 + movs r2, 0 + ldrsb r2, [r1, r2] + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 2 + ldr r3, =0x0000643c + adds r1, r3 + adds r1, r4, r1 + lsls r2, r7, 2 + adds r2, r7 + lsls r2, 2 + adds r2, r3 + adds r2, r4, r2 + bl sub_81D1F84 + ldrh r6, [r5, 0x2] + bl sub_81CDD5C + cmp r0, 0 + beq _081CD2D8 + ldrh r1, [r5] + b _081CD2DC + .pool +_081CD2D8: + ldrh r1, [r5] + subs r1, 0x1 +_081CD2DC: + eors r1, r6 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + adds r6, r0, 0 + mov r0, r8 + cmp r0, 0 + beq _081CD332 + ldr r1, =0x00006787 + adds r2, r4, r1 + ldrb r0, [r2] + adds r1, 0x1 + adds r3, r4, r1 + strb r0, [r3] + ldr r0, =0x00006786 + adds r1, r4, r0 + ldrb r0, [r1] + strb r0, [r2] + strb r7, [r1] + ldrb r1, [r3] + ldr r2, =0x00006789 + adds r0, r4, r2 + strb r1, [r0] + ldrh r0, [r5, 0x2] + cmp r0, 0 + bne _081CD312 + ldrh r0, [r5] +_081CD312: + subs r1, r0, 0x1 + strh r1, [r5, 0x2] + lsls r0, r1, 16 + cmp r0, 0 + beq _081CD32C + subs r1, 0x1 + b _081CD384 + .pool +_081CD32C: + ldrh r0, [r5] + subs r1, r0, 0x1 + b _081CD384 +_081CD332: + ldr r0, =0x00006788 + adds r2, r4, r0 + ldrb r0, [r2] + ldr r1, =0x00006787 + adds r3, r4, r1 + strb r0, [r3] + ldr r0, =0x00006786 + adds r1, r4, r0 + ldrb r0, [r1] + strb r0, [r2] + strb r7, [r1] + ldrb r1, [r3] + ldr r2, =0x00006789 + adds r0, r4, r2 + strb r1, [r0] + ldrh r1, [r5, 0x2] + ldrh r0, [r5] + subs r0, 0x1 + cmp r1, r0 + bge _081CD370 + adds r0, r1, 0x1 + b _081CD372 + .pool +_081CD370: + movs r0, 0 +_081CD372: + strh r0, [r5, 0x2] + ldrh r1, [r5, 0x2] + ldrh r0, [r5] + subs r0, 0x1 + cmp r1, r0 + bge _081CD382 + adds r1, 0x1 + b _081CD384 +_081CD382: + movs r1, 0 +_081CD384: + ldr r2, =0x00006302 + adds r0, r4, r2 + strh r1, [r0] + ldrh r4, [r5, 0x2] + bl sub_81CDD5C + cmp r0, 0 + beq _081CD39C + ldrh r1, [r5] + b _081CD3A0 + .pool +_081CD39C: + ldrh r1, [r5] + subs r1, 0x1 +_081CD3A0: + eors r1, r4 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + cmp r6, 0 + bne _081CD3B0 + movs r0, 0x3 + b _081CD3BA +_081CD3B0: + cmp r0, 0 + beq _081CD3B8 + movs r0, 0x1 + b _081CD3BA +_081CD3B8: + movs r0, 0x4 +_081CD3BA: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CD258 + + thumb_func_start sub_81CD3C4 +sub_81CD3C4: @ 81CD3C4 + push {r4,lr} + movs r0, 0xB + bl GetSubstructPtr + adds r4, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r2, r0, 0 + ldr r1, =0x0000678a + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, 0x9 + bls _081CD3E2 + b _081CD530 +_081CD3E2: + lsls r0, 2 + ldr r1, =_081CD3F4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CD3F4: + .4byte _081CD41C + .4byte _081CD428 + .4byte _081CD434 + .4byte _081CD440 + .4byte _081CD490 + .4byte _081CD4A8 + .4byte _081CD4C0 + .4byte _081CD4D8 + .4byte _081CD4F0 + .4byte _081CD508 +_081CD41C: + movs r1, 0x2 + ldrsh r0, [r2, r1] + movs r1, 0 + bl sub_81CD824 + b _081CD530 +_081CD428: + movs r1, 0x2 + ldrsh r0, [r2, r1] + movs r1, 0 + bl sub_81CDA1C + b _081CD530 +_081CD434: + movs r1, 0x2 + ldrsh r0, [r2, r1] + movs r1, 0 + bl sub_81CDB98 + b _081CD530 +_081CD440: + ldrh r0, [r2] + cmp r0, 0x1 + bne _081CD468 + ldr r2, =0x00006786 + adds r0, r4, r2 + movs r1, 0 + strb r1, [r0] + adds r2, 0x1 + adds r0, r4, r2 + strb r1, [r0] + adds r2, 0x1 + adds r0, r4, r2 + strb r1, [r0] + adds r2, 0x2 + adds r0, r4, r2 + strb r1, [r0] + movs r0, 0x1 + b _081CD53C + .pool +_081CD468: + ldr r0, =0x00006786 + adds r1, r4, r0 + movs r0, 0 + strb r0, [r1] + ldr r2, =0x00006787 + adds r1, r4, r2 + movs r0, 0x1 + strb r0, [r1] + ldr r0, =0x00006788 + adds r1, r4, r0 + movs r0, 0x2 + strb r0, [r1] + b _081CD530 + .pool +_081CD490: + ldrh r0, [r2, 0x2] + adds r0, 0x1 + ldrh r2, [r2] + cmp r0, r2 + blt _081CD49C + movs r0, 0 +_081CD49C: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + bl sub_81CD824 + b _081CD530 +_081CD4A8: + ldrh r0, [r2, 0x2] + adds r0, 0x1 + ldrh r2, [r2] + cmp r0, r2 + blt _081CD4B4 + movs r0, 0 +_081CD4B4: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + bl sub_81CDA1C + b _081CD530 +_081CD4C0: + ldrh r0, [r2, 0x2] + adds r0, 0x1 + ldrh r2, [r2] + cmp r0, r2 + blt _081CD4CC + movs r0, 0 +_081CD4CC: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + bl sub_81CDB98 + b _081CD530 +_081CD4D8: + ldrh r0, [r2, 0x2] + subs r0, 0x1 + cmp r0, 0 + bge _081CD4E4 + ldrh r0, [r2] + subs r0, 0x1 +_081CD4E4: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x2 + bl sub_81CD824 + b _081CD530 +_081CD4F0: + ldrh r0, [r2, 0x2] + subs r0, 0x1 + cmp r0, 0 + bge _081CD4FC + ldrh r0, [r2] + subs r0, 0x1 +_081CD4FC: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x2 + bl sub_81CDA1C + b _081CD530 +_081CD508: + ldrh r0, [r2, 0x2] + subs r0, 0x1 + cmp r0, 0 + bge _081CD514 + ldrh r0, [r2] + subs r0, 0x1 +_081CD514: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x2 + bl sub_81CDB98 + ldr r2, =0x0000678a + adds r1, r4, r2 + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _081CD53C + .pool +_081CD530: + ldr r0, =0x0000678a + adds r1, r4, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + movs r0, 0 +_081CD53C: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD3C4 + + thumb_func_start sub_81CD548 +sub_81CD548: @ 81CD548 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + movs r0, 0xB + bl GetSubstructPtr + adds r1, r0, 0 + cmp r4, 0x1 + beq _081CD588 + cmp r4, 0x1 + bgt _081CD566 + cmp r4, 0 + beq _081CD56C + b _081CD5C4 +_081CD566: + cmp r5, 0x2 + beq _081CD5A4 + b _081CD5C4 +_081CD56C: + ldr r2, =0x00006302 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + ldr r2, =0x00006789 + adds r1, r2 + ldrb r1, [r1] + bl sub_81CD824 + b _081CD5C4 + .pool +_081CD588: + ldr r2, =0x00006302 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + ldr r2, =0x00006789 + adds r1, r2 + ldrb r1, [r1] + bl sub_81CDA1C + b _081CD5C4 + .pool +_081CD5A4: + ldr r2, =0x00006302 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + ldr r2, =0x00006789 + adds r1, r2 + ldrb r1, [r1] + bl sub_81CDB98 + movs r0, 0x1 + b _081CD5C6 + .pool +_081CD5C4: + movs r0, 0 +_081CD5C6: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CD548 + + thumb_func_start sub_81CD5CC +sub_81CD5CC: @ 81CD5CC + push {r4,lr} + adds r4, r0, 0 + lsls r2, 16 + lsrs r2, 16 + b _081CD5E4 +_081CD5D6: + strb r3, [r4] + adds r1, 0x1 + adds r4, 0x1 + lsls r0, r2, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 +_081CD5E4: + ldrb r3, [r1] + adds r0, r3, 0 + cmp r0, 0xFF + bne _081CD5D6 + adds r1, r2, 0 + lsls r0, r1, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 + lsls r1, 16 + cmp r1, 0 + ble _081CD612 + movs r3, 0 +_081CD5FE: + strb r3, [r4] + adds r4, 0x1 + adds r1, r2, 0 + lsls r0, r1, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 + lsls r1, 16 + cmp r1, 0 + bgt _081CD5FE +_081CD612: + movs r0, 0xFF + strb r0, [r4] + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD5CC + + thumb_func_start sub_81CD624 +sub_81CD624: @ 81CD624 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r0, 0 + adds r4, r1, 0 + lsls r4, 16 + lsrs r4, 16 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + movs r0, 0x12 + bl GetSubstructPtr + lsls r4, 2 + adds r0, r4 + ldrb r4, [r0, 0x4] + mov r8, r4 + ldrb r6, [r0, 0x5] + mov r9, r6 + movs r0, 0xFC + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x4 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x8 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x9 + strb r0, [r5] + adds r5, 0x1 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x2D + movs r3, 0 + bl GetBoxOrPartyMonData + cmp r0, 0 + beq _081CD690 + ldr r1, =gText_EggNickname + adds r0, r5, 0 + movs r2, 0 + movs r3, 0xC + bl StringCopyPadded + b _081CD80E + .pool +_081CD690: + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x2 + adds r3, r5, 0 + bl GetBoxOrPartyMonData + adds r0, r5, 0 + bl StringGetEnd10 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0xB + movs r3, 0 + bl GetBoxOrPartyMonData + lsls r0, 16 + lsrs r7, r0, 16 + cmp r4, 0xE + bne _081CD6E0 + movs r0, 0x64 + adds r4, r6, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x38 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + adds r0, r4, 0 + bl GetMonGender + lsls r0, 24 + lsrs r6, r0, 24 + b _081CD6FE + .pool +_081CD6E0: + mov r0, r8 + mov r1, r9 + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 +_081CD6FE: + cmp r7, 0x1D + beq _081CD706 + cmp r7, 0x20 + bne _081CD71C +_081CD706: + movs r0, 0xB + adds r1, r7, 0 + muls r1, r0 + ldr r0, =gSpeciesNames + adds r1, r0 + adds r0, r5, 0 + bl StringCompare + cmp r0, 0 + bne _081CD71C + movs r6, 0xFF +_081CD71C: + adds r3, r5, 0 + b _081CD726 + .pool +_081CD724: + adds r3, 0x1 +_081CD726: + ldrb r0, [r3] + cmp r0, 0xFF + bne _081CD724 + movs r1, 0xFC + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x12 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x3C + strb r0, [r3] + adds r3, 0x1 + cmp r6, 0 + beq _081CD74A + cmp r6, 0xFE + beq _081CD76E + movs r0, 0x77 + b _081CD790 +_081CD74A: + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x1 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x4 + strb r0, [r3] + adds r3, 0x1 + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x3 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x5 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xB5 + b _081CD790 +_081CD76E: + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x1 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x6 + strb r0, [r3] + adds r3, 0x1 + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x3 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x7 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xB6 +_081CD790: + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xFC + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x4 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x8 + strb r0, [r3] + adds r3, 0x1 + movs r5, 0 + strb r5, [r3] + adds r3, 0x1 + movs r0, 0x9 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xBA + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xF9 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x5 + strb r0, [r3] + adds r3, 0x1 + adds r4, r3, 0 + adds r0, r4, 0 + mov r1, r8 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r3, r0, 0 + subs r4, r3, r4 + lsls r4, 16 + lsrs r4, 16 + strb r5, [r3] + adds r3, 0x1 + mov r0, r10 + cmp r0, 0 + bne _081CD808 + movs r0, 0x3 + subs r0, r4 + lsls r0, 16 + ldr r1, =0xffff0000 + adds r0, r1 + lsrs r4, r0, 16 + ldr r0, =0x0000ffff + cmp r4, r0 + beq _081CD808 + movs r2, 0 + adds r1, r0, 0 +_081CD7FA: + strb r2, [r3] + adds r3, 0x1 + subs r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, r1 + bne _081CD7FA +_081CD808: + movs r0, 0xFF + strb r0, [r3] + adds r0, r3, 0 +_081CD80E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD624 + + thumb_func_start sub_81CD824 +sub_81CD824: @ 81CD824 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + lsls r1, 24 + lsrs r6, r1, 24 + movs r0, 0xB + bl GetSubstructPtr + adds r5, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r7, r0, 0 + mov r1, r8 + lsls r0, r1, 16 + asrs r4, r0, 16 + bl sub_81CDD5C + cmp r0, 0 + beq _081CD85A + ldrh r2, [r7] + cmp r4, r2 + bne _081CD862 + b _081CD900 +_081CD85A: + ldrh r0, [r7] + subs r0, 0x1 + cmp r4, r0 + beq _081CD900 +_081CD862: + lsls r0, r6, 6 + ldr r1, =0x00006368 + adds r0, r1 + adds r0, r5, r0 + mov r2, r8 + lsls r4, r2, 16 + lsrs r1, r4, 16 + movs r2, 0 + bl sub_81CD624 + asrs r4, 14 + adds r4, r7, r4 + ldrb r3, [r4, 0x4] + lsls r0, r6, 1 + adds r0, r6 + lsls r4, r0, 3 + ldr r1, =0x00006320 + adds r0, r5, r1 + adds r0, r4 + movs r2, 0 + movs r1, 0xFC + strb r1, [r0] + ldr r1, =0x00006321 + adds r0, r5, r1 + adds r0, r4 + movs r1, 0x4 + strb r1, [r0] + ldr r1, =0x00006322 + adds r0, r5, r1 + adds r0, r4 + movs r1, 0x8 + strb r1, [r0] + ldr r1, =0x00006323 + adds r0, r5, r1 + adds r0, r4 + strb r2, [r0] + ldr r2, =0x00006324 + adds r0, r5, r2 + adds r0, r4 + movs r1, 0x9 + strb r1, [r0] + cmp r3, 0xE + bne _081CD8E4 + adds r0, r4, r5 + ldr r1, =0x00006325 + adds r0, r1 + ldr r1, =gText_InParty + b _081CD8F4 + .pool +_081CD8E4: + adds r4, r5 + ldr r2, =0x00006325 + adds r4, r2 + adds r0, r3, 0 + bl GetBoxNamePtr + adds r1, r0, 0 + adds r0, r4, 0 +_081CD8F4: + movs r2, 0x8 + bl sub_81CD5CC + b _081CD95C + .pool +_081CD900: + movs r1, 0 + lsls r4, r6, 6 + lsls r0, r6, 1 + mov r8, r0 + adds r3, r4, 0 + ldr r0, =0x00006368 + adds r2, r5, r0 + movs r7, 0 +_081CD910: + adds r0, r1, r3 + adds r0, r2, r0 + strb r7, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0xB + bls _081CD910 + adds r1, r4 + ldr r2, =0x00006368 + adds r0, r5, r2 + adds r0, r1 + movs r1, 0xFF + strb r1, [r0] + movs r1, 0 + mov r2, r8 + adds r0, r2, r6 + lsls r3, r0, 3 + ldr r0, =0x00006320 + adds r2, r5, r0 + movs r4, 0 +_081CD93A: + adds r0, r1, r3 + adds r0, r2, r0 + strb r4, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0x7 + bls _081CD93A + mov r2, r8 + adds r0, r2, r6 + lsls r0, 3 + adds r0, r1, r0 + ldr r2, =0x00006320 + adds r1, r5, r2 + adds r1, r0 + movs r0, 0xFF + strb r0, [r1] +_081CD95C: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CD824 + + thumb_func_start sub_81CD970 +sub_81CD970: @ 81CD970 + push {r4-r7,lr} + movs r0, 0xB + bl GetSubstructPtr + adds r7, r0, 0 + ldr r1, =0x000006ac + movs r0, 0x12 + bl AllocSubstruct + adds r6, r0, 0 + movs r0, 0xC6 + lsls r0, 7 + adds r1, r7, r0 + movs r0, 0 + strb r0, [r1] + movs r4, 0 + movs r5, 0 + b _081CD9C4 + .pool +_081CD998: + movs r0, 0x64 + muls r0, r4 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x2D + bl GetMonData + adds r2, r0, 0 + cmp r2, 0 + bne _081CD9BE + lsls r1, r5, 2 + adds r1, r6, r1 + movs r0, 0xE + strb r0, [r1, 0x4] + strb r4, [r1, 0x5] + strh r2, [r1, 0x6] + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 +_081CD9BE: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 +_081CD9C4: + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bcc _081CD998 + lsls r0, r5, 2 + adds r0, r6, r0 + movs r1, 0 + strb r1, [r0, 0x4] + strb r1, [r0, 0x5] + movs r2, 0 + strh r1, [r0, 0x6] + strh r1, [r6, 0x2] + adds r0, r5, 0x1 + strh r0, [r6] + ldr r1, =0x0000678a + adds r0, r7, r1 + strb r2, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CD970 + + thumb_func_start sub_81CD9F8 +sub_81CD9F8: @ 81CD9F8 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + movs r1, 0xC6 + lsls r1, 7 + adds r2, r0, r1 + movs r3, 0 + movs r1, 0x1 + strb r1, [r2] + ldr r1, =0x0000678a + adds r0, r1 + strb r3, [r0] + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CD9F8 + + thumb_func_start sub_81CDA1C +sub_81CDA1C: @ 81CDA1C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + movs r0, 0xB + bl GetSubstructPtr + mov r8, r0 + movs r0, 0x12 + bl GetSubstructPtr + adds r4, r0, 0 + lsls r0, r6, 16 + asrs r5, r0, 16 + bl sub_81CDD5C + cmp r0, 0 + beq _081CDA52 + ldrh r0, [r4] + cmp r5, r0 + bne _081CDA5A + b _081CDB48 +_081CDA52: + ldrh r0, [r4] + subs r0, 0x1 + cmp r5, r0 + beq _081CDB48 +_081CDA5A: + lsls r0, r6, 16 + asrs r0, 14 + adds r0, r4, r0 + ldrb r6, [r0, 0x4] + ldrb r7, [r0, 0x5] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x16 + movs r3, 0 + bl GetBoxOrPartyMonData + mov r1, r9 + lsls r5, r1, 2 + adds r4, r5, r1 + ldr r1, =0x00006428 + add r1, r8 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x2F + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x00006429 + add r1, r8 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x21 + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x0000642a + add r1, r8 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x18 + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x0000642b + add r1, r8 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x17 + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x0000642c + add r1, r8 + adds r1, r4 + strb r0, [r1] + movs r0, 0xCF + lsls r0, 7 + add r0, r8 + mov r2, r9 + adds r4, r0, r2 + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x30 + movs r3, 0 + bl GetBoxOrPartyMonData + cmp r0, 0xFF + beq _081CDB10 + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x30 + movs r3, 0 + bl GetBoxOrPartyMonData + movs r1, 0x1D + bl __udivsi3 + b _081CDB12 + .pool +_081CDB10: + movs r0, 0x9 +_081CDB12: + strb r0, [r4] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x8 + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x00006783 + add r1, r8 + add r1, r9 + strb r0, [r1] + mov r0, r9 + adds r1, r5, r0 + ldr r2, =0x00006428 + adds r0, r1, r2 + add r0, r8 + lsls r1, 2 + adds r2, 0x14 + adds r1, r2 + add r1, r8 + bl sub_81D2754 + b _081CDB80 + .pool +_081CDB48: + movs r2, 0 + mov r0, r9 + lsls r5, r0, 2 + add r5, r9 + ldr r4, =0x00006428 + add r4, r8 + lsls r3, r5, 2 + mov r9, r2 + ldr r7, =0x0000643c + movs r6, 0x9B +_081CDB5C: + adds r0, r2, r5 + adds r0, r4, r0 + mov r1, r9 + strb r1, [r0] + lsls r0, r2, 2 + adds r0, r3 + add r0, r8 + adds r1, r0, r7 + strh r6, [r1] + ldr r1, =0x0000643e + adds r0, r1 + movs r1, 0x5B + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x4 + bls _081CDB5C +_081CDB80: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CDA1C + + thumb_func_start sub_81CDB98 +sub_81CDB98: @ 81CDB98 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + movs r0, 0xB + bl GetSubstructPtr + adds r7, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r4, r0, 0 + lsls r0, r6, 16 + asrs r5, r0, 16 + bl sub_81CDD5C + cmp r0, 0 + beq _081CDBCC + ldrh r0, [r4] + b _081CDBD0 +_081CDBCC: + ldrh r0, [r4] + subs r0, 0x1 +_081CDBD0: + cmp r5, r0 + beq _081CDC3E + lsls r0, r6, 16 + asrs r0, 14 + adds r0, r4, r0 + ldrb r5, [r0, 0x4] + ldrb r6, [r0, 0x5] + adds r0, r5, 0 + adds r1, r6, 0 + movs r2, 0x41 + movs r3, 0 + bl GetBoxOrPartyMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + adds r1, r6, 0 + movs r2, 0x1 + movs r3, 0 + bl GetBoxOrPartyMonData + mov r8, r0 + adds r0, r5, 0 + adds r1, r6, 0 + movs r2, 0 + movs r3, 0 + bl GetBoxOrPartyMonData + adds r5, r0, 0 + lsls r0, r4, 3 + ldr r1, =gMonFrontPicTable + adds r0, r1 + mov r2, r9 + lsls r1, r2, 13 + movs r2, 0xC0 + lsls r2, 2 + adds r1, r2 + adds r1, r7, r1 + movs r2, 0x1 + str r2, [sp] + adds r2, r4, 0 + adds r3, r5, 0 + bl LoadSpecialPokePic + adds r0, r4, 0 + mov r1, r8 + adds r2, r5, 0 + bl GetFrontSpritePalFromSpeciesAndPersonality + mov r2, r9 + lsls r1, r2, 7 + adds r1, r7, r1 + bl LZ77UnCompWram +_081CDC3E: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CDB98 + + thumb_func_start sub_81CDC50 +sub_81CDC50: @ 81CDC50 + push {lr} + movs r0, 0x12 + bl GetSubstructPtr + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81CDC50 + + thumb_func_start sub_81CDC60 +sub_81CDC60: @ 81CDC60 + push {lr} + movs r0, 0x12 + bl GetSubstructPtr + ldrh r0, [r0, 0x2] + pop {r1} + bx r1 + thumb_func_end sub_81CDC60 + + thumb_func_start sub_81CDC70 +sub_81CDC70: @ 81CDC70 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r1, =0x00006428 + adds r0, r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDC70 + + thumb_func_start sub_81CDC84 +sub_81CDC84: @ 81CDC84 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r1, =0x00006786 + adds r0, r1 + ldrb r0, [r0] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDC84 + + thumb_func_start sub_81CDC9C +sub_81CDC9C: @ 81CDC9C + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r1, =0x00006302 + adds r0, r1 + ldrb r0, [r0] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDC9C + + thumb_func_start sub_81CDCB4 +sub_81CDCB4: @ 81CDCB4 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xB + bl GetSubstructPtr + lsls r4, 13 + movs r1, 0xC0 + lsls r1, 2 + adds r4, r1 + adds r0, r4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CDCB4 + + thumb_func_start sub_81CDCD4 +sub_81CDCD4: @ 81CDCD4 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xB + bl GetSubstructPtr + lsls r4, 7 + adds r0, r4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CDCD4 + + thumb_func_start sub_81CDCEC +sub_81CDCEC: @ 81CDCEC + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r1, =0x00006789 + adds r0, r1 + ldrb r0, [r0] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDCEC + + thumb_func_start sub_81CDD04 +sub_81CDD04: @ 81CDD04 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xB + bl GetSubstructPtr + lsls r4, 6 + ldr r1, =0x00006368 + adds r4, r1 + adds r0, r4 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDD04 + + thumb_func_start sub_81CDD24 +sub_81CDD24: @ 81CDD24 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xB + bl GetSubstructPtr + lsls r1, r4, 1 + adds r1, r4 + lsls r1, 3 + ldr r2, =0x00006320 + adds r1, r2 + adds r0, r1 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDD24 + + thumb_func_start sub_81CDD48 +sub_81CDD48: @ 81CDD48 + push {lr} + movs r0, 0x12 + bl GetSubstructPtr + ldrh r1, [r0, 0x2] + lsls r1, 2 + adds r0, r1 + ldrh r0, [r0, 0x6] + pop {r1} + bx r1 + thumb_func_end sub_81CDD48 + + thumb_func_start sub_81CDD5C +sub_81CDD5C: @ 81CDD5C + push {lr} + movs r0, 0xB + bl GetSubstructPtr + movs r1, 0xC6 + lsls r1, 7 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + beq _081CDD74 + movs r0, 0 + b _081CDD76 +_081CDD74: + movs r0, 0x1 +_081CDD76: + pop {r1} + bx r1 + thumb_func_end sub_81CDD5C + + thumb_func_start sub_81CDD7C +sub_81CDD7C: @ 81CDD7C + push {lr} + movs r0, 0xB + bl GetSubstructPtr + adds r2, r0, 0 + movs r1, 0xC6 + lsls r1, 7 + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, 0x1 + beq _081CDD96 + movs r0, 0 + b _081CDDA6 +_081CDD96: + ldr r3, =0x00006786 + adds r0, r2, r3 + movs r1, 0 + ldrsb r1, [r0, r1] + subs r3, 0x3 + adds r0, r2, r3 + adds r0, r1 + ldrb r0, [r0] +_081CDDA6: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDD7C + + thumb_func_start sub_81CDDB0 +sub_81CDDB0: @ 81CDDB0 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r2, =0x00006786 + adds r1, r0, r2 + ldrb r1, [r1] + lsls r1, 24 + asrs r1, 24 + subs r2, 0x6 + adds r0, r2 + adds r0, r1 + ldrb r0, [r0] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDDB0 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_7.s b/asm/pokenav_unk_7.s new file mode 100644 index 0000000000..6c363c01f3 --- /dev/null +++ b/asm/pokenav_unk_7.s @@ -0,0 +1,2001 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(0xC) + + thumb_func_start sub_81CDDD4 +sub_81CDDD4: @ 81CDDD4 + push {r4,lr} + ldr r1, =0x000038ac + movs r0, 0xC + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CDE24 + ldr r0, =0x00001816 + adds r1, r4, r0 + movs r0, 0xFF + strb r0, [r1] + ldr r0, =sub_81CDE94 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4] + ldr r0, =0x00001810 + adds r1, r4, r0 + ldr r0, =sub_81CDE80 + str r0, [r1] + ldr r0, =0x00002908 + adds r1, r4, r0 + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _081CDE26 + .pool +_081CDE24: + movs r0, 0 +_081CDE26: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CDDD4 + + thumb_func_start sub_81CDE2C +sub_81CDE2C: @ 81CDE2C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_08623384 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5] + ldr r0, =0x00001810 + adds r5, r0 + ldr r0, =sub_81CDE80 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CDE2C + + thumb_func_start sub_81CDE64 +sub_81CDE64: @ 81CDE64 + push {lr} + movs r0, 0xC + bl GetSubstructPtr + ldr r1, =0x00001810 + adds r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDE64 + + thumb_func_start sub_81CDE80 +sub_81CDE80: @ 81CDE80 + push {lr} + movs r0, 0xC + bl GetSubstructPtr + ldr r0, [r0] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81CDE80 + + thumb_func_start sub_81CDE94 +sub_81CDE94: @ 81CDE94 + push {r4-r6,lr} + sub sp, 0xC + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x14 + bls _081CDEA8 + b _081CE2C4 +_081CDEA8: + lsls r0, r4, 2 + ldr r1, =_081CDEB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CDEB8: + .4byte _081CDF0C + .4byte _081CDF18 + .4byte _081CDF94 + .4byte _081CDFB8 + .4byte _081CE030 + .4byte _081CE074 + .4byte _081CE0B0 + .4byte _081CE118 + .4byte _081CE120 + .4byte _081CE126 + .4byte _081CE136 + .4byte _081CE146 + .4byte _081CE156 + .4byte _081CE16C + .4byte _081CE1C8 + .4byte _081CE1EC + .4byte _081CE218 + .4byte _081CE23C + .4byte _081CE24A + .4byte _081CE25A + .4byte _081CE262 +_081CDF0C: + bl sub_81CD3C4 + cmp r0, 0x1 + beq _081CDF16 + b _081CE2C0 +_081CDF16: + b _081CDFB0 +_081CDF18: + ldr r0, =gUnknown_08623358 + movs r1, 0x3 + bl InitBgTemplates + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + ldr r1, =0x00007940 + movs r0, 0 + bl SetGpuReg + ldr r1, =0x00000844 + movs r0, 0x50 + bl SetGpuReg + ldr r1, =0x0000040b + movs r0, 0x52 + bl SetGpuReg + ldr r1, =gPokenavCondition_Gfx + movs r0, 0 + str r0, [sp] + movs r0, 0x3 + b _081CDFA8 + .pool +_081CDF94: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _081CDFA2 + b _081CE2C0 +_081CDFA2: + ldr r1, =gUnknown_08623228 + str r0, [sp] + movs r0, 0x2 +_081CDFA8: + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram +_081CDFB0: + movs r0, 0 + b _081CE2C6 + .pool +_081CDFB8: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + beq _081CDFC4 + b _081CE2C0 +_081CDFC4: + ldr r0, =gPokenavCondition_Tilemap + adds r4, r5, 0x4 + adds r1, r4, 0 + bl LZ77UnCompVram + movs r0, 0x3 + adds r1, r4, 0 + bl SetBgTilemapBuffer + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CDFF2 + ldr r1, =gPokenavOptions_Tilemap + movs r0, 0x9 + str r0, [sp] + movs r0, 0x4 + str r0, [sp, 0x4] + movs r0, 0x3 + movs r2, 0 + movs r3, 0x5 + bl CopyToBgTilemapBufferRect +_081CDFF2: + movs r0, 0x3 + bl CopyBgTilemapBufferToVram + ldr r0, =gPokenavCondition_Pal + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + ldr r0, =gUnknown_08623208 + movs r1, 0xF0 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + ldr r0, =0x00001814 + adds r1, r5, r0 + ldr r0, =0x0000ffb0 + strh r0, [r1] + b _081CDFB0 + .pool +_081CE030: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + beq _081CE03C + b _081CE2C0 +_081CE03C: + ldr r0, =gUnknown_0862323C + ldr r1, =0x00001004 + adds r4, r5, r1 + adds r1, r4, 0 + bl LZ77UnCompVram + movs r0, 0x2 + adds r1, r4, 0 + bl SetBgTilemapBuffer + movs r0, 0x2 + bl CopyBgTilemapBufferToVram + ldr r0, =gUnknown_086231E8 + movs r1, 0x30 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x2 + bl sub_81D21DC + b _081CDFB0 + .pool +_081CE074: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0x1 + bl sub_8199DF0 + movs r0, 0x1 + movs r1, 0x11 + movs r2, 0x1 + movs r3, 0x1 + bl sub_8199DF0 + movs r0, 0 + str r0, [sp, 0x8] + ldr r2, =0x00000804 + adds r4, r5, r2 + ldr r2, =0x05000200 + add r0, sp, 0x8 + adds r1, r4, 0 + bl CpuSet + movs r0, 0x1 + adds r1, r4, 0 + bl SetBgTilemapBuffer + b _081CDFB0 + .pool +_081CE0B0: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + beq _081CE0BC + b _081CE2C0 +_081CE0BC: + ldr r0, =gUnknown_08623364 + bl AddWindow + movs r2, 0xC1 + lsls r2, 5 + adds r1, r5, r2 + strb r0, [r1] + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CE0F6 + ldr r0, =gUnknown_0862336C + bl AddWindow + ldr r2, =0x00001821 + adds r1, r5, r2 + strb r0, [r1] + ldr r0, =gUnknown_08623374 + bl AddWindow + ldr r2, =0x00001822 + adds r1, r5, r2 + strb r0, [r1] + ldr r0, =gUnknown_0862337C + bl AddWindow + ldr r2, =0x00001823 + adds r1, r5, r2 + strb r0, [r1] +_081CE0F6: + bl DeactivateAllTextPrinters + b _081CDFB0 + .pool +_081CE118: + movs r0, 0 + bl sub_81CED30 + b _081CDFB0 +_081CE120: + bl sub_81CE9E4 + b _081CDFB0 +_081CE126: + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE130 + b _081CDFB0 +_081CE130: + bl sub_81CE934 + b _081CDFB0 +_081CE136: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0 + b _081CE164 +_081CE146: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x1 + b _081CE164 +_081CE156: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x2 +_081CE164: + movs r2, 0x1 + bl sub_81CE754 + b _081CDFB0 +_081CE16C: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x3 + movs r2, 0x1 + bl sub_81CE754 + cmp r0, 0x1 + beq _081CE186 + b _081CE2C0 +_081CE186: + movs r1, 0xC1 + lsls r1, 5 + adds r0, r5, r1 + ldrb r0, [r0] + bl PutWindowTilemap + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE19C + b _081CDFB0 +_081CE19C: + ldr r2, =0x00001821 + adds r0, r5, r2 + ldrb r0, [r0] + bl PutWindowTilemap + ldr r1, =0x00001822 + adds r0, r5, r1 + ldrb r0, [r0] + bl PutWindowTilemap + ldr r2, =0x00001823 + adds r0, r5, r2 + ldrb r0, [r0] + bl PutWindowTilemap + b _081CDFB0 + .pool +_081CE1C8: + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl HideBg + movs r0, 0x3 + bl ShowBg + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE1E4 + b _081CDFB0 +_081CE1E4: + movs r0, 0x4 + bl sub_81C7BA4 + b _081CDFB0 +_081CE1EC: + movs r0, 0x1 + bl sub_81C7AC0 + bl sub_81CDD5C + cmp r0, 0 + beq _081CE1FC + b _081CDFB0 +_081CE1FC: + movs r0, 0x6 + bl LoadLeftHeaderGfxForIndex + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + movs r0, 0x6 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + b _081CDFB0 +_081CE218: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CE2C0 + bl sub_81CDD5C + cmp r0, 0 + bne _081CE230 + bl sub_81C8010 + cmp r0, 0 + bne _081CE2C0 +_081CE230: + ldr r0, =sub_81CEE44 + bl SetVBlankCallback_ + b _081CDFB0 + .pool +_081CE23C: + bl sub_81CEE90 + bl sub_81CDC70 + bl sub_81D20AC + b _081CDFB0 +_081CE24A: + bl sub_81CDC70 + bl sub_81D20BC + lsls r0, 24 + cmp r0, 0 + bne _081CE2C0 + b _081CDFB0 +_081CE25A: + movs r0, 0x1 + bl sub_81CEE74 + b _081CDFB0 +_081CE262: + bl sub_81CDC70 + ldr r2, =0x00001814 + adds r1, r5, r2 + bl sub_81D3178 + lsls r0, 24 + cmp r0, 0 + bne _081CE2C0 + ldr r0, =0x000028e0 + adds r6, r5, r0 + adds r0, r6, 0 + bl sub_81D3464 + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE298 + bl sub_81CDC60 + adds r4, r0, 0 + bl sub_81CDC50 + lsls r4, 16 + lsls r0, 16 + cmp r4, r0 + beq _081CE2C4 +_081CE298: + ldr r1, =0x00001816 + adds r0, r5, r1 + ldrb r4, [r0] + bl sub_81CDDB0 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_81D3480 + b _081CE2C4 + .pool +_081CE2C0: + movs r0, 0x2 + b _081CE2C6 +_081CE2C4: + movs r0, 0x4 +_081CE2C6: + add sp, 0xC + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CDE94 + + thumb_func_start sub_81CE2D0 +sub_81CE2D0: @ 81CE2D0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CE308 + cmp r4, 0x1 + bgt _081CE2EA + cmp r4, 0 + beq _081CE2F4 + b _081CE374 +_081CE2EA: + cmp r4, 0x2 + beq _081CE328 + cmp r4, 0x3 + beq _081CE33E + b _081CE374 +_081CE2F4: + bl sub_81CEEC8 + ldr r1, =0x000028e0 + adds r0, r5, r1 + bl sub_81D3520 + movs r0, 0x1 + b _081CE376 + .pool +_081CE308: + bl sub_81CDC70 + ldr r2, =0x00001814 + adds r1, r5, r2 + bl sub_81D31A4 + lsls r0, 24 + cmp r0, 0 + bne _081CE34E + movs r0, 0 + bl sub_81CEE74 + movs r0, 0x1 + b _081CE376 + .pool +_081CE328: + movs r0, 0 + bl sub_81C7AC0 + bl sub_81CDD5C + cmp r0, 0 + bne _081CE33A + bl sub_81C78A0 +_081CE33A: + movs r0, 0 + b _081CE376 +_081CE33E: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CE34E + bl MainMenuLoopedTaskIsBusy + cmp r0, 0 + beq _081CE352 +_081CE34E: + movs r0, 0x2 + b _081CE376 +_081CE352: + ldr r1, =0x000028e0 + adds r0, r5, r1 + bl sub_81D354C + movs r0, 0x1 + bl HideBg + movs r0, 0x2 + bl HideBg + movs r0, 0x3 + bl HideBg + movs r0, 0x1 + b _081CE376 + .pool +_081CE374: + movs r0, 0x4 +_081CE376: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CE2D0 + + thumb_func_start sub_81CE37C +sub_81CE37C: @ 81CE37C + push {r4-r6,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r6, r0, 0 + bl sub_81CDC70 + adds r2, r0, 0 + cmp r4, 0x9 + bls _081CE394 + b _081CE4D0 +_081CE394: + lsls r0, r4, 2 + ldr r1, =_081CE3A4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CE3A4: + .4byte _081CE3CC + .4byte _081CE3D0 + .4byte _081CE3DA + .4byte _081CE3F0 + .4byte _081CE3F8 + .4byte _081CE418 + .4byte _081CE428 + .4byte _081CE438 + .4byte _081CE44E + .4byte _081CE468 +_081CE3CC: + movs r0, 0 + b _081CE3D2 +_081CE3D0: + movs r0, 0x1 +_081CE3D2: + bl sub_81CD548 +_081CE3D6: + movs r0, 0x1 + b _081CE4D2 +_081CE3DA: + movs r0, 0x2 + bl sub_81CD548 + ldr r1, =0x000028e0 + adds r0, r6, r1 + bl sub_81D3520 + b _081CE3D6 + .pool +_081CE3F0: + adds r0, r2, 0 + bl sub_81D2074 + b _081CE3D6 +_081CE3F8: + ldr r1, =0x00001814 + adds r0, r6, r1 + bl sub_81D3150 + lsls r0, 24 + cmp r0, 0 + bne _081CE4CC + bl sub_81CDC84 + lsls r0, 24 + lsrs r0, 24 + bl sub_81CED30 + b _081CE3D6 + .pool +_081CE418: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0 + b _081CE446 +_081CE428: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x1 + b _081CE446 +_081CE438: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x2 +_081CE446: + movs r2, 0 + bl sub_81CE754 + b _081CE3D6 +_081CE44E: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x3 + movs r2, 0 + bl sub_81CE754 + cmp r0, 0x1 + beq _081CE3D6 + b _081CE4CC +_081CE468: + bl sub_81CDC70 + adds r2, r0, 0 + ldr r0, =0x00001814 + adds r1, r6, r0 + adds r0, r2, 0 + bl sub_81D3178 + lsls r0, 24 + cmp r0, 0 + bne _081CE4CC + ldr r1, =0x000028e0 + adds r0, r6, r1 + bl sub_81D3464 + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE4A0 + bl sub_81CDC60 + adds r4, r0, 0 + bl sub_81CDC50 + lsls r4, 16 + lsls r0, 16 + cmp r4, r0 + beq _081CE3D6 +_081CE4A0: + ldr r0, =0x000028e0 + adds r5, r6, r0 + ldr r1, =0x00001816 + adds r0, r6, r1 + ldrb r4, [r0] + bl sub_81CDDB0 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_81D3480 + b _081CE3D6 + .pool +_081CE4CC: + movs r0, 0x2 + b _081CE4D2 +_081CE4D0: + movs r0, 0x4 +_081CE4D2: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CE37C + + thumb_func_start sub_81CE4D8 +sub_81CE4D8: @ 81CE4D8 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x8 + bhi _081CE5DC + lsls r0, r4, 2 + ldr r1, =_081CE4F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CE4F8: + .4byte _081CE51C + .4byte _081CE520 + .4byte _081CE524 + .4byte _081CE52E + .4byte _081CE53E + .4byte _081CE54E + .4byte _081CE55E + .4byte _081CE576 + .4byte _081CE592 +_081CE51C: + movs r0, 0 + b _081CE526 +_081CE520: + movs r0, 0x1 + b _081CE526 +_081CE524: + movs r0, 0x2 +_081CE526: + bl sub_81CD548 + movs r0, 0x1 + b _081CE5DE +_081CE52E: + bl sub_81CDC84 + lsls r0, 24 + lsrs r0, 24 + bl sub_81CED30 + movs r0, 0x1 + b _081CE5DE +_081CE53E: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0 + b _081CE56C +_081CE54E: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x1 + b _081CE56C +_081CE55E: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x2 +_081CE56C: + movs r2, 0 + bl sub_81CE754 + movs r0, 0x1 + b _081CE5DE +_081CE576: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x3 + movs r2, 0 + bl sub_81CE754 + cmp r0, 0x1 + bne _081CE5D8 + movs r0, 0x1 + b _081CE5DE +_081CE592: + bl sub_81CDC70 + ldr r2, =0x00001814 + adds r1, r5, r2 + bl sub_81D3178 + lsls r0, 24 + cmp r0, 0 + bne _081CE5D8 + ldr r0, =0x000028e0 + adds r4, r5, r0 + adds r0, r4, 0 + bl sub_81D3464 + ldr r1, =0x00001816 + adds r0, r5, r1 + ldrb r5, [r0] + bl sub_81CDDB0 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81D3480 + movs r0, 0x1 + b _081CE5DE + .pool +_081CE5D8: + movs r0, 0x2 + b _081CE5DE +_081CE5DC: + movs r0, 0x4 +_081CE5DE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CE4D8 + + thumb_func_start sub_81CE5E4 +sub_81CE5E4: @ 81CE5E4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x7 + bhi _081CE6B2 + lsls r0, r4, 2 + ldr r1, =_081CE604 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CE604: + .4byte _081CE624 + .4byte _081CE628 + .4byte _081CE632 + .4byte _081CE648 + .4byte _081CE660 + .4byte _081CE670 + .4byte _081CE680 + .4byte _081CE696 +_081CE624: + movs r0, 0 + b _081CE62A +_081CE628: + movs r0, 0x1 +_081CE62A: + bl sub_81CD548 +_081CE62E: + movs r0, 0x1 + b _081CE6B4 +_081CE632: + movs r0, 0x2 + bl sub_81CD548 + ldr r1, =0x000028e0 + adds r0, r5, r1 + bl sub_81D3520 + b _081CE62E + .pool +_081CE648: + bl sub_81CDC70 + ldr r2, =0x00001814 + adds r1, r5, r2 + bl sub_81D31A4 + lsls r0, 24 + cmp r0, 0 + beq _081CE62E + b _081CE6AE + .pool +_081CE660: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0 + b _081CE68E +_081CE670: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x1 + b _081CE68E +_081CE680: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x2 +_081CE68E: + movs r2, 0 + bl sub_81CE754 + b _081CE62E +_081CE696: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x3 + movs r2, 0 + bl sub_81CE754 + cmp r0, 0x1 + beq _081CE62E +_081CE6AE: + movs r0, 0x2 + b _081CE6B4 +_081CE6B2: + movs r0, 0x4 +_081CE6B4: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CE5E4 + + thumb_func_start sub_81CE6BC +sub_81CE6BC: @ 81CE6BC + push {lr} + cmp r0, 0x1 + beq _081CE6E6 + cmp r0, 0x1 + bgt _081CE6CC + cmp r0, 0 + beq _081CE6D2 + b _081CE6FA +_081CE6CC: + cmp r0, 0x2 + beq _081CE6EE + b _081CE6FA +_081CE6D2: + bl sub_81CDD7C + lsls r0, 24 + lsrs r0, 24 + movs r1, 0xB0 + movs r2, 0x20 + bl sub_811FAA4 +_081CE6E2: + movs r0, 0x1 + b _081CE6FC +_081CE6E6: + movs r0, 0x5 + bl sub_81C7BA4 + b _081CE6E2 +_081CE6EE: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0x1 + bne _081CE6E2 + movs r0, 0x2 + b _081CE6FC +_081CE6FA: + movs r0, 0x4 +_081CE6FC: + pop {r1} + bx r1 + thumb_func_end sub_81CE6BC + + thumb_func_start sub_81CE700 +sub_81CE700: @ 81CE700 + push {lr} + cmp r0, 0x1 + beq _081CE71E + cmp r0, 0x1 + bgt _081CE710 + cmp r0, 0 + beq _081CE716 + b _081CE732 +_081CE710: + cmp r0, 0x2 + beq _081CE726 + b _081CE732 +_081CE716: + bl sub_811FAF8 +_081CE71A: + movs r0, 0x1 + b _081CE734 +_081CE71E: + movs r0, 0x4 + bl sub_81C7BA4 + b _081CE71A +_081CE726: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0x1 + bne _081CE71A + movs r0, 0x2 + b _081CE734 +_081CE732: + movs r0, 0x4 +_081CE734: + pop {r1} + bx r1 + thumb_func_end sub_81CE700 + + thumb_func_start sub_81CE738 +sub_81CE738: @ 81CE738 + push {lr} + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x1 + movs r3, 0x4 + bl ConvertIntToDecimalStringN + ldr r1, =gText_Number2 + bl StringCopy + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CE738 + + thumb_func_start sub_81CE754 +sub_81CE754: @ 81CE754 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x2C + lsls r0, 24 + lsrs r4, r0, 24 + adds r7, r4, 0 + lsls r1, 16 + lsrs r1, 16 + mov r8, r1 + lsls r2, 24 + lsrs r5, r2, 24 + movs r0, 0xC + bl GetSubstructPtr + adds r6, r0, 0 + cmp r4, 0x1 + beq _081CE7B8 + cmp r4, 0x1 + bgt _081CE782 + cmp r4, 0 + beq _081CE78E + b _081CE924 +_081CE782: + cmp r4, 0x2 + beq _081CE800 + cmp r4, 0x3 + bne _081CE78C + b _081CE89C +_081CE78C: + b _081CE924 +_081CE78E: + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0 + bl FillWindowPixelBuffer + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE7A6 + b _081CE924 +_081CE7A6: + ldr r1, =0x00001821 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0 + bl FillWindowPixelBuffer + b _081CE924 + .pool +_081CE7B8: + bl sub_81CDC60 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sub_81CDC50 + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r4, r0 + bne _081CE7DA + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE7DA + b _081CE924 +_081CE7DA: + mov r1, r8 + lsls r0, r1, 24 + lsrs r0, 24 + bl sub_81CDD04 + adds r2, r0, 0 + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + str r7, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + b _081CE924 +_081CE800: + bl sub_81CDD5C + adds r7, r0, 0 + cmp r7, 0x1 + beq _081CE80C + b _081CE924 +_081CE80C: + mov r1, r8 + lsls r0, r1, 24 + lsrs r0, 24 + bl sub_81CDD24 + adds r2, r0, 0 + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x11 + str r1, [sp] + movs r4, 0 + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + add r1, sp, 0xC + movs r0, 0xFC + strb r0, [r1] + movs r0, 0x4 + strb r0, [r1, 0x1] + movs r0, 0x8 + strb r0, [r1, 0x2] + adds r0, r1, 0 + strb r4, [r0, 0x3] + movs r0, 0x9 + strb r0, [r1, 0x4] + mov r5, sp + adds r5, 0x11 + ldr r1, =gText_Number2 + adds r0, r5, 0 + bl StringCopy + ldr r0, =0x00001821 + adds r6, r0 + ldrb r0, [r6] + str r7, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + add r2, sp, 0xC + movs r3, 0x4 + bl AddTextPrinterParameterized + bl sub_81CDD48 + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r5, 0 + movs r2, 0x1 + movs r3, 0x4 + bl ConvertIntToDecimalStringN + ldrb r0, [r6] + str r7, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + add r2, sp, 0xC + movs r3, 0x1C + bl AddTextPrinterParameterized + b _081CE924 + .pool +_081CE89C: + ldr r1, =0x00002908 + adds r0, r6, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081CE8B0 + cmp r0, 0x1 + beq _081CE8EC + b _081CE924 + .pool +_081CE8B0: + cmp r5, 0 + beq _081CE8C4 + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x3 + bl CopyWindowToVram + b _081CE8D2 +_081CE8C4: + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x2 + bl CopyWindowToVram +_081CE8D2: + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CE910 + ldr r0, =0x00002908 + adds r1, r6, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _081CE924 + .pool +_081CE8EC: + cmp r5, 0 + beq _081CE904 + ldr r1, =0x00001821 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x3 + bl CopyWindowToVram + b _081CE910 + .pool +_081CE904: + ldr r1, =0x00001821 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x2 + bl CopyWindowToVram +_081CE910: + ldr r0, =0x00002908 + adds r1, r6, r0 + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _081CE926 + .pool +_081CE924: + movs r0, 0 +_081CE926: + add sp, 0x2C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CE754 + + thumb_func_start sub_81CE934 +sub_81CE934: @ 81CE934 + push {r4,lr} + movs r0, 0xC + bl GetSubstructPtr + adds r4, r0, 0 + ldr r1, =0x00001822 + adds r0, r4, r1 + ldrb r0, [r0] + movs r1, 0x3 + bl CopyWindowToVram + ldr r0, =0x00001823 + adds r4, r0 + ldrb r0, [r4] + movs r1, 0x3 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CE934 + + thumb_func_start sub_81CE964 +sub_81CE964: @ 81CE964 + push {r4,r5,lr} + adds r5, r0, 0 + movs r0, 0x2E + ldrsh r4, [r5, r0] + bl sub_81CDC60 + lsls r0, 16 + lsrs r0, 16 + cmp r4, r0 + bne _081CE982 + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAnim + b _081CE98A +_081CE982: + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim +_081CE98A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CE964 + + thumb_func_start sub_81CE990 +sub_81CE990: @ 81CE990 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_81CDC60 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sub_81CDC50 + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r4, r0 + bne _081CE9B0 + movs r0, 0x65 + b _081CE9B2 +_081CE9B0: + movs r0, 0x66 +_081CE9B2: + bl IndexOfSpritePaletteTag + lsls r0, 4 + ldrb r2, [r5, 0x5] + movs r1, 0xF + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x5] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CE990 + + thumb_func_start sub_81CE9C8 +sub_81CE9C8: @ 81CE9C8 + push {r4,lr} + adds r4, r0, 0 + bl sub_81CDD7C + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartSpriteAnim + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CE9C8 + + thumb_func_start sub_81CE9E4 +sub_81CE9E4: @ 81CE9E4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x58 + movs r0, 0xC + bl GetSubstructPtr + adds r6, r0, 0 + add r4, sp, 0x20 + add r5, sp, 0x38 + mov r0, sp + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_81D321C + bl sub_81CDD5C + adds r7, r4, 0 + mov r10, r5 + cmp r0, 0x1 + bne _081CEA78 + ldr r1, =0x00001824 + adds r0, r6, r1 + movs r2, 0x6A + strh r2, [r0] + ldr r3, =0x00001826 + adds r1, r6, r3 + strh r2, [r1] + bl sub_811F90C + bl sub_811FA90 + ldr r2, =gUnknown_08623338 + movs r0, 0x69 + movs r1, 0x69 + bl sub_811FF94 + ldrb r1, [r0, 0x5] + movs r2, 0xC + orrs r1, r2 + strb r1, [r0, 0x5] + movs r1, 0xC0 + strh r1, [r0, 0x20] + movs r1, 0x20 + strh r1, [r0, 0x22] + ldr r1, =sub_81CE9C8 + str r1, [r0, 0x1C] + ldr r2, =0x000028dc + adds r1, r6, r2 + str r0, [r1] + movs r0, 0x69 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_81C7990 + add r3, sp, 0x50 + mov r8, r3 + b _081CEBC6 + .pool +_081CEA78: + mov r0, sp + bl LoadSpriteSheets + mov r0, r10 + bl Pokenav_AllocAndLoadPalettes + movs r4, 0 + add r0, sp, 0x50 + mov r8, r0 + b _081CEAE8 +_081CEA8C: + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 18 + movs r1, 0x80 + lsls r1, 12 + adds r2, r1 + asrs r2, 16 + adds r0, r7, 0 + movs r1, 0xE2 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x40 + beq _081CEAD8 + ldr r2, =0x00001806 + adds r0, r6, r2 + adds r0, r4 + strb r3, [r0] + ldr r2, =gSprites + lsls r0, r3, 4 + adds r0, r3 + lsls r0, 2 + adds r1, r0, r2 + strh r4, [r1, 0x2E] + adds r2, 0x1C + adds r0, r2 + ldr r1, =sub_81CE964 + str r1, [r0] + b _081CEAE2 + .pool +_081CEAD8: + ldr r3, =0x00001806 + adds r0, r6, r3 + adds r0, r4 + movs r1, 0xFF + strb r1, [r0] +_081CEAE2: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 +_081CEAE8: + bl sub_81CDC50 + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r4, r0 + blt _081CEA8C + movs r0, 0x67 + strh r0, [r7] + ldr r0, =SpriteCallbackDummy + str r0, [r7, 0x14] + cmp r4, 0x5 + bhi _081CEB5C + ldr r0, =0x00001806 + adds r5, r6, r0 + ldr r1, =gSprites + mov r9, r1 +_081CEB0A: + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 18 + movs r3, 0x80 + lsls r3, 12 + adds r2, r3 + asrs r2, 16 + adds r0, r7, 0 + movs r1, 0xE6 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x40 + beq _081CEB4C + adds r0, r5, r4 + strb r3, [r0] + lsls r1, r3, 4 + adds r1, r3 + lsls r1, 2 + add r1, r9 + ldrb r2, [r1, 0x3] + movs r0, 0x3F + ands r0, r2 + strb r0, [r1, 0x3] + b _081CEB52 + .pool +_081CEB4C: + adds r1, r5, r4 + movs r0, 0xFF + strb r0, [r1] +_081CEB52: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x5 + bls _081CEB0A +_081CEB5C: + movs r0, 0x66 + strh r0, [r7] + ldr r0, =sub_81CE990 + str r0, [r7, 0x14] + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 18 + movs r0, 0x80 + lsls r0, 12 + adds r2, r0 + asrs r2, 16 + adds r0, r7, 0 + movs r1, 0xDE + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x40 + beq _081CEBBC + ldr r1, =0x00001806 + adds r0, r6, r1 + adds r0, r4 + strb r3, [r0] + ldr r0, =gSprites + lsls r2, r3, 4 + adds r2, r3 + lsls r2, 2 + adds r2, r0 + ldrb r3, [r2, 0x1] + movs r1, 0x3F + adds r0, r1, 0 + ands r0, r3 + movs r3, 0x40 + orrs r0, r3 + strb r0, [r2, 0x1] + ldrb r0, [r2, 0x3] + ands r1, r0 + movs r0, 0x80 + orrs r1, r0 + strb r1, [r2, 0x3] + b _081CEBC6 + .pool +_081CEBBC: + ldr r2, =0x00001806 + adds r0, r6, r2 + adds r0, r4 + movs r1, 0xFF + strb r1, [r0] +_081CEBC6: + mov r0, r8 + mov r1, r10 + bl sub_81D32B0 + mov r0, r8 + bl LoadSpriteSheet + movs r0, 0 + mov r3, r10 + str r0, [r3, 0x8] + mov r0, r10 + bl Pokenav_AllocAndLoadPalettes + add sp, 0x58 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CE9E4 + + thumb_func_start sub_81CEBF4 +sub_81CEBF4: @ 81CEBF4 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CEC28 + ldr r1, =0x000028dc + adds r0, r5, r1 + ldr r0, [r0] + bl DestroySprite + movs r0, 0x6A + bl FreeSpriteTilesByTag + movs r0, 0x69 + bl FreeSpriteTilesByTag + movs r0, 0x6A + bl FreeSpritePaletteByTag + movs r0, 0x69 + bl FreeSpritePaletteByTag + b _081CEC68 + .pool +_081CEC28: + movs r4, 0 +_081CEC2A: + ldr r1, =0x00001806 + adds r0, r5, r1 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + bl DestroySprite + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x6 + bls _081CEC2A + movs r0, 0x65 + bl FreeSpriteTilesByTag + movs r0, 0x66 + bl FreeSpriteTilesByTag + movs r0, 0x67 + bl FreeSpriteTilesByTag + movs r0, 0x65 + bl FreeSpritePaletteByTag + movs r0, 0x66 + bl FreeSpritePaletteByTag +_081CEC68: + ldr r0, =0x00001816 + adds r1, r5, r0 + ldrb r0, [r1] + cmp r0, 0xFF + beq _081CEC8E + adds r1, r0, 0 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + bl DestroySprite + movs r0, 0x64 + bl FreeSpriteTilesByTag + movs r0, 0x64 + bl FreeSpritePaletteByTag +_081CEC8E: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CEBF4 + + thumb_func_start sub_81CECA0 +sub_81CECA0: @ 81CECA0 + push {r4,lr} + movs r0, 0xC + bl GetSubstructPtr + adds r4, r0, 0 + movs r1, 0xC1 + lsls r1, 5 + adds r0, r4, r1 + ldrb r0, [r0] + bl RemoveWindow + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CECEC + ldr r1, =0x00001821 + adds r0, r4, r1 + ldrb r0, [r0] + bl RemoveWindow + ldr r1, =0x00001822 + adds r0, r4, r1 + ldrb r0, [r0] + bl RemoveWindow + ldr r1, =0x00001823 + adds r0, r4, r1 + ldrb r0, [r0] + bl RemoveWindow + b _081CECF0 + .pool +_081CECEC: + bl sub_81C7FDC +_081CECF0: + movs r1, 0x8A + lsls r1, 5 + movs r0, 0 + bl SetGpuReg + adds r0, r4, 0 + bl sub_81CEBF4 + bl sub_81CEE68 + movs r0, 0xC + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CECA0 + + thumb_func_start sub_81CED10 +sub_81CED10: @ 81CED10 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + ldr r1, =0x00001814 + adds r0, r1 + ldrh r0, [r0] + adds r0, 0x26 + strh r0, [r4, 0x20] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CED10 + + thumb_func_start sub_81CED30 +sub_81CED30: @ 81CED30 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x28 + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0xC + bl GetSubstructPtr + mov r8, r0 + ldr r7, =0x00001816 + add r7, r8 + ldrb r0, [r7] + cmp r0, 0xFF + bne _081CEDFC + add r5, sp, 0x18 + add r4, sp, 0x20 + adds r0, r5, 0 + mov r1, sp + adds r2, r4, 0 + bl sub_81D31D0 + adds r0, r6, 0 + bl sub_81CDCB4 + str r0, [sp, 0x18] + adds r0, r6, 0 + bl sub_81CDCD4 + str r0, [sp, 0x20] + adds r0, r4, 0 + bl LoadSpritePalette + lsls r0, 24 + lsrs r0, 24 + ldr r4, =0x00001818 + add r4, r8 + strh r0, [r4] + adds r0, r5, 0 + bl LoadSpriteSheet + ldr r5, =0x0000181a + add r5, r8 + strh r0, [r5] + mov r0, sp + movs r1, 0x26 + movs r2, 0x68 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strb r0, [r7] + cmp r0, 0x40 + bne _081CEDBC + movs r0, 0x64 + bl FreeSpriteTilesByTag + movs r0, 0x64 + bl FreeSpritePaletteByTag + movs r0, 0xFF + strb r0, [r7] + b _081CEE26 + .pool +_081CEDBC: + strb r0, [r7] + ldr r2, =gSprites + ldrb r1, [r7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, =sub_81CED10 + str r1, [r0] + ldr r1, =0x0000181c + add r1, r8 + ldrh r0, [r5] + lsls r0, 5 + ldr r2, =0x06010000 + adds r0, r2 + str r0, [r1] + ldrh r0, [r4] + lsls r0, 4 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r0, [r4] + b _081CEE26 + .pool +_081CEDFC: + adds r0, r6, 0 + bl sub_81CDCB4 + ldr r1, =0x0000181c + add r1, r8 + ldr r2, [r1] + ldr r1, =0x040000d4 + str r0, [r1] + str r2, [r1, 0x4] + ldr r0, =0x80000400 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r0, r6, 0 + bl sub_81CDCD4 + ldr r1, =0x00001818 + add r1, r8 + ldrh r1, [r1] + movs r2, 0x20 + bl LoadPalette +_081CEE26: + add sp, 0x28 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CED30 + + thumb_func_start sub_81CEE44 +sub_81CEE44: @ 81CEE44 + push {r4,lr} + bl sub_81CDC70 + adds r4, r0, 0 + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + adds r0, r4, 0 + bl sub_81D2108 + bl ScanlineEffect_InitHBlankDmaTransfer + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CEE44 + + thumb_func_start sub_81CEE68 +sub_81CEE68: @ 81CEE68 + push {lr} + bl SetPokenavVBlankCallback + pop {r0} + bx r0 + thumb_func_end sub_81CEE68 + + thumb_func_start sub_81CEE74 +sub_81CEE74: @ 81CEE74 + push {lr} + lsls r0, 24 + cmp r0, 0 + beq _081CEE84 + movs r0, 0x2 + bl ShowBg + b _081CEE8A +_081CEE84: + movs r0, 0x2 + bl HideBg +_081CEE8A: + pop {r0} + bx r0 + thumb_func_end sub_81CEE74 + + thumb_func_start sub_81CEE90 +sub_81CEE90: @ 81CEE90 + push {r4,lr} + bl sub_81CDC70 + adds r4, r0, 0 + bl sub_81CDC84 + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gUnknown_030012BC + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x50 + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 2 + adds r2, 0x14 + adds r2, r4, r2 + adds r0, r4, 0 + bl sub_81D1F84 + adds r0, r4, 0 + bl sub_81D2074 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CEE90 + + thumb_func_start sub_81CEEC8 +sub_81CEEC8: @ 81CEEC8 + push {r4,r5,lr} + bl sub_81CDC70 + adds r5, r0, 0 + bl sub_81CDD5C + cmp r0, 0 + bne _081CEEF0 + bl sub_81CDC60 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sub_81CDC50 + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r4, r0 + beq _081CEF0C +_081CEEF0: + bl sub_81CDC84 + lsls r0, 24 + asrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + adds r1, 0x14 + adds r1, r5, r1 + adds r2, r5, 0 + adds r2, 0x50 + adds r0, r5, 0 + bl sub_81D1F84 +_081CEF0C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CEEC8 + + thumb_func_start sub_81CEF14 +sub_81CEF14: @ 81CEF14 + push {r4,lr} + movs r0, 0xC + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CEF2A + movs r0, 0 + b _081CEF30 +_081CEF2A: + ldr r1, =0x00001828 + adds r0, r4, r1 + ldrb r0, [r0] +_081CEF30: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CEF14 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_8.s b/asm/pokenav_unk_8.s new file mode 100644 index 0000000000..5bba161bb8 --- /dev/null +++ b/asm/pokenav_unk_8.s @@ -0,0 +1,1377 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(7) + + thumb_func_start sub_81CEF3C +sub_81CEF3C: @ 81CEF3C + push {r4,lr} + movs r0, 0x7 + movs r1, 0x24 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CEF90 + ldr r1, =0x000006ac + movs r0, 0x12 + bl AllocSubstruct + str r0, [r4, 0x20] + cmp r0, 0 + beq _081CEF90 + ldr r0, =sub_81CF010 + str r0, [r4] + ldr r0, =sub_81CF11C + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + movs r0, 0 + str r0, [r4, 0x18] + bl sub_81C76AC + ldr r1, =gUnknown_086233A0 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + str r0, [r4, 0x14] + movs r0, 0x1 + b _081CEF92 + .pool +_081CEF90: + movs r0, 0 +_081CEF92: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CEF3C + + thumb_func_start sub_81CEF98 +sub_81CEF98: @ 81CEF98 + push {r4,lr} + movs r0, 0x7 + movs r1, 0x24 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CEFD4 + movs r0, 0x12 + bl GetSubstructPtr + str r0, [r4, 0x20] + ldr r0, =sub_81CF030 + str r0, [r4] + movs r0, 0x1 + str r0, [r4, 0x18] + bl sub_81C76AC + ldr r1, =gUnknown_086233A0 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + str r0, [r4, 0x14] + movs r0, 0x1 + b _081CEFD6 + .pool +_081CEFD4: + movs r0, 0 +_081CEFD6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CEF98 + + thumb_func_start sub_81CEFDC +sub_81CEFDC: @ 81CEFDC + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r1, [r0] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81CEFDC + + thumb_func_start sub_81CEFF0 +sub_81CEFF0: @ 81CEFF0 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x1C] + cmp r0, 0 + bne _081CF004 + movs r0, 0x12 + bl FreePokenavSubstruct +_081CF004: + movs r0, 0x7 + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81CEFF0 + + thumb_func_start sub_81CF010 +sub_81CF010: @ 81CF010 + push {r4,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x4] + bl IsLoopedTaskActive + cmp r0, 0 + bne _081CF022 + ldr r0, =sub_81CF030 + str r0, [r4] +_081CF022: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CF010 + + thumb_func_start sub_81CF030 +sub_81CF030: @ 81CF030 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CF048 + movs r0, 0x1 + b _081CF0A6 + .pool +_081CF048: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CF054 + movs r0, 0x2 + b _081CF0A6 +_081CF054: + ldrh r1, [r2, 0x2E] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081CF062 + movs r0, 0x3 + b _081CF0A6 +_081CF062: + movs r0, 0x10 + ands r0, r1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0 + beq _081CF072 + movs r0, 0x4 + b _081CF0A6 +_081CF072: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081CF088 + str r2, [r4, 0x1C] + ldr r0, =sub_81CF0B0 + str r0, [r4] + movs r0, 0x5 + b _081CF0A6 + .pool +_081CF088: + movs r5, 0x1 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _081CF096 + movs r0, 0 + b _081CF0A6 +_081CF096: + bl GetSelectedMatchCall + ldr r1, [r4, 0x20] + strh r0, [r1, 0x2] + str r5, [r4, 0x1C] + ldr r0, =sub_81CF0B8 + str r0, [r4] + movs r0, 0x6 +_081CF0A6: + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CF030 + + thumb_func_start sub_81CF0B0 +sub_81CF0B0: @ 81CF0B0 + ldr r0, =0x000186a3 + bx lr + .pool + thumb_func_end sub_81CF0B0 + + thumb_func_start sub_81CF0B8 +sub_81CF0B8: @ 81CF0B8 + ldr r0, =0x000186a9 + bx lr + .pool + thumb_func_end sub_81CF0B8 + + thumb_func_start sub_81CF0C0 +sub_81CF0C0: @ 81CF0C0 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x18] + pop {r1} + bx r1 + thumb_func_end sub_81CF0C0 + + thumb_func_start sub_81CF0D0 +sub_81CF0D0: @ 81CF0D0 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x20] + adds r0, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_81CF0D0 + + thumb_func_start sub_81CF0E0 +sub_81CF0E0: @ 81CF0E0 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x20] + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81CF0E0 + + thumb_func_start sub_81CF0F0 +sub_81CF0F0: @ 81CF0F0 + push {r4,lr} + movs r0, 0x7 + bl GetSubstructPtr + adds r4, r0, 0 + bl GetSelectedMatchCall + ldr r1, [r4, 0x20] + lsls r0, 2 + adds r1, r0 + ldrh r0, [r1, 0x6] + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CF0F0 + + thumb_func_start sub_81CF10C +sub_81CF10C: @ 81CF10C + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x20] + ldrh r0, [r0, 0x2] + pop {r1} + bx r1 + thumb_func_end sub_81CF10C + + thumb_func_start sub_81CF11C +sub_81CF11C: @ 81CF11C + push {lr} + ldr r2, =gUnknown_086233B4 + lsls r1, r0, 2 + adds r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CF11C + + thumb_func_start sub_81CF134 +sub_81CF134: @ 81CF134 + push {r4-r6,lr} + sub sp, 0x4 + movs r0, 0x7 + bl GetSubstructPtr + adds r6, r0, 0 + ldr r0, [r6, 0x20] + movs r1, 0 + strh r1, [r0] + ldr r0, [r6, 0x20] + strh r1, [r0, 0x2] + ldr r1, =0xffffff00 + ldr r0, [sp] + ands r0, r1 + movs r1, 0xE + orrs r0, r1 + str r0, [sp] + movs r5, 0 +_081CF158: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _081CF1AA + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _081CF1A4 + lsls r1, r5, 24 + lsrs r1, 16 + ldr r2, =0xffff00ff + ldr r0, [sp] + ands r0, r2 + orrs r0, r1 + str r0, [sp] + ldr r1, [r6, 0x14] + adds r0, r4, 0 + bl GetMonData + lsls r0, 16 + ldr r2, =0x0000ffff + ldr r1, [sp] + ands r1, r2 + orrs r1, r0 + str r1, [sp] + adds r0, r6, 0 + mov r1, sp + bl sub_81CF2C4 +_081CF1A4: + adds r5, 0x1 + cmp r5, 0x5 + ble _081CF158 +_081CF1AA: + movs r0, 0x1 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CF134 + + thumb_func_start sub_81CF1C4 +sub_81CF1C4: @ 81CF1C4 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + movs r1, 0 + str r1, [r0, 0x10] + str r1, [r0, 0xC] + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_81CF1C4 + + thumb_func_start sub_81CF1D8 +sub_81CF1D8: @ 81CF1D8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + movs r0, 0x7 + bl GetSubstructPtr + adds r6, r0, 0 + ldr r5, [r6, 0xC] + ldr r4, [r6, 0x10] + movs r0, 0 + mov r8, r0 + cmp r5, 0xD + bgt _081CF268 +_081CF1F4: + cmp r4, 0x1D + bgt _081CF260 + lsls r0, r5, 24 + lsrs r7, r0, 24 +_081CF1FC: + adds r0, r5, 0 + adds r1, r4, 0 + bl CheckBoxMonSanityAt + cmp r0, 0 + beq _081CF23A + ldr r1, =0xffffff00 + ldr r0, [sp] + ands r0, r1 + orrs r0, r7 + lsls r1, r4, 24 + lsrs r1, 24 + lsls r3, r1, 8 + ldr r2, =0xffff00ff + ands r0, r2 + orrs r0, r3 + str r0, [sp] + ldr r2, [r6, 0x14] + adds r0, r7, 0 + bl GetBoxMonDataAt + lsls r0, 16 + ldr r2, =0x0000ffff + ldr r1, [sp] + ands r1, r2 + orrs r1, r0 + str r1, [sp] + adds r0, r6, 0 + mov r1, sp + bl sub_81CF2C4 +_081CF23A: + movs r0, 0x1 + add r8, r0 + adds r4, 0x1 + mov r0, r8 + cmp r0, 0xE + ble _081CF25C + str r5, [r6, 0xC] + str r4, [r6, 0x10] + movs r0, 0x3 + b _081CF26A + .pool +_081CF25C: + cmp r4, 0x1D + ble _081CF1FC +_081CF260: + movs r4, 0 + adds r5, 0x1 + cmp r5, 0xD + ble _081CF1F4 +_081CF268: + movs r0, 0x1 +_081CF26A: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CF1D8 + + thumb_func_start sub_81CF278 +sub_81CF278: @ 81CF278 + push {r4-r6,lr} + movs r0, 0x7 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, [r5, 0x20] + ldrh r6, [r0] + ldrh r4, [r0, 0x6] + movs r1, 0x1 + strh r1, [r0, 0x6] + movs r3, 0x1 + cmp r3, r6 + bge _081CF2B8 +_081CF292: + ldr r2, [r5, 0x20] + lsls r0, r3, 2 + adds r1, r2, r0 + ldrh r0, [r1, 0x6] + cmp r0, r4 + bne _081CF2AC + subs r0, r3, 0x1 + lsls r0, 2 + adds r0, r2, r0 + ldrh r0, [r0, 0x6] + strh r0, [r1, 0x6] + adds r0, r3, 0x1 + b _081CF2B2 +_081CF2AC: + adds r4, r0, 0 + adds r0, r3, 0x1 + strh r0, [r1, 0x6] +_081CF2B2: + adds r3, r0, 0 + cmp r3, r6 + blt _081CF292 +_081CF2B8: + movs r0, 0x1 + str r0, [r5, 0x18] + movs r0, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CF278 + + thumb_func_start sub_81CF2C4 +sub_81CF2C4: @ 81CF2C4 + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + movs r1, 0 + ldr r0, [r5, 0x20] + ldrh r2, [r0] + lsrs r3, r2, 1 + cmp r2, r3 + beq _081CF2F4 + adds r6, r0, 0 + ldrh r4, [r7, 0x2] +_081CF2DA: + lsls r0, r3, 2 + adds r0, r6, r0 + ldrh r0, [r0, 0x6] + cmp r4, r0 + bls _081CF2E8 + adds r2, r3, 0 + b _081CF2EA +_081CF2E8: + adds r1, r3, 0x1 +_081CF2EA: + subs r0, r2, r1 + lsrs r0, 1 + adds r3, r1, r0 + cmp r2, r3 + bne _081CF2DA +_081CF2F4: + ldr r0, [r5, 0x20] + ldrh r2, [r0] + lsls r6, r3, 2 + cmp r2, r3 + bls _081CF318 + lsls r0, r2, 2 + subs r4, r0, 0x4 +_081CF302: + ldr r0, [r5, 0x20] + lsls r1, r2, 2 + adds r0, 0x4 + adds r1, r0, r1 + adds r0, r4 + ldr r0, [r0] + str r0, [r1] + subs r4, 0x4 + subs r2, 0x1 + cmp r2, r3 + bhi _081CF302 +_081CF318: + ldr r0, [r5, 0x20] + adds r0, 0x4 + adds r0, r6 + ldr r1, [r7] + str r1, [r0] + ldr r1, [r5, 0x20] + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CF2C4 + + thumb_func_start sub_81CF330 +sub_81CF330: @ 81CF330 + push {r4,lr} + movs r1, 0x81 + lsls r1, 4 + movs r0, 0x8 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CF360 + ldr r0, =sub_81CF418 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CF3E4 + str r0, [r4] + movs r0, 0 + str r0, [r4, 0xC] + movs r0, 0x1 + b _081CF362 + .pool +_081CF360: + movs r0, 0 +_081CF362: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CF330 + + thumb_func_start sub_81CF368 +sub_81CF368: @ 81CF368 + push {r4,lr} + movs r1, 0x81 + lsls r1, 4 + movs r0, 0x8 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CF398 + ldr r0, =sub_81CF418 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CF3E4 + str r0, [r4] + movs r0, 0x1 + str r0, [r4, 0xC] + b _081CF39A + .pool +_081CF398: + movs r0, 0 +_081CF39A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CF368 + + thumb_func_start sub_81CF3A0 +sub_81CF3A0: @ 81CF3A0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_08623598 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81CF3E4 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF3A0 + + thumb_func_start sub_81CF3D0 +sub_81CF3D0: @ 81CF3D0 + push {lr} + movs r0, 0x8 + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81CF3D0 + + thumb_func_start sub_81CF3E4 +sub_81CF3E4: @ 81CF3E4 + push {lr} + movs r0, 0x8 + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81CF3E4 + + thumb_func_start sub_81CF3F8 +sub_81CF3F8: @ 81CF3F8 + push {r4,lr} + movs r0, 0x8 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81C8234 + ldrb r0, [r4, 0x8] + bl RemoveWindow + movs r0, 0x8 + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CF3F8 + + thumb_func_start sub_81CF418 +sub_81CF418: @ 81CF418 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x5 + bls _081CF42C + b _081CF56E +_081CF42C: + lsls r0, r4, 2 + ldr r1, =_081CF43C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CF43C: + .4byte _081CF454 + .4byte _081CF4AC + .4byte _081CF4C0 + .4byte _081CF4E0 + .4byte _081CF4F6 + .4byte _081CF55A +_081CF454: + ldr r0, =gUnknown_08623590 + movs r1, 0x2 + bl InitBgTemplates + ldr r1, =gUnknown_086233E4 + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + adds r1, r5, 0 + adds r1, 0x10 + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, =gUnknown_086234AC + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + ldr r0, =gUnknown_086233C4 + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 + bl CopyBgTilemapBufferToVram +_081CF498: + movs r0, 0 + b _081CF570 + .pool +_081CF4AC: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CF56A + bl sub_81CF0C0 + cmp r0, 0 + beq _081CF56A + b _081CF498 +_081CF4C0: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CF56A + ldr r0, =gUnknown_08623570 + movs r1, 0x20 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + bl sub_81CF88C + b _081CF498 + .pool +_081CF4E0: + bl sub_81C8224 + cmp r0, 0 + bne _081CF56A + adds r0, r5, 0 + bl sub_81CF7C8 + movs r0, 0x3 + bl sub_81C7BA4 + b _081CF498 +_081CF4F6: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CF56A + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl HideBg + ldr r0, [r5, 0xC] + cmp r0, 0 + bne _081CF552 + bl sub_81C76AC + adds r4, r0, 0 + adds r4, 0x8 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl LoadLeftHeaderGfxForIndex + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 +_081CF552: + movs r0, 0x1 + bl sub_81C7AC0 + b _081CF498 +_081CF55A: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CF56A + bl sub_81C8010 + cmp r0, 0 + beq _081CF56E +_081CF56A: + movs r0, 0x2 + b _081CF570 +_081CF56E: + movs r0, 0x4 +_081CF570: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF418 + + thumb_func_start sub_81CF578 +sub_81CF578: @ 81CF578 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CF5C6 + cmp r4, 0x1 + bgt _081CF592 + cmp r4, 0 + beq _081CF59C + b _081CF5E6 +_081CF592: + cmp r4, 0x2 + beq _081CF5CE + cmp r4, 0x3 + beq _081CF5D8 + b _081CF5E6 +_081CF59C: + bl MatchCall_MoveCursorUp + cmp r0, 0x1 + beq _081CF5B4 + cmp r0, 0x1 + bgt _081CF5AE + cmp r0, 0 + beq _081CF5E6 + b _081CF5D4 +_081CF5AE: + cmp r0, 0x2 + beq _081CF5BE + b _081CF5D4 +_081CF5B4: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CF5E8 +_081CF5BE: + movs r0, 0x5 + bl PlaySE + b _081CF5D4 +_081CF5C6: + bl sub_81C8630 + cmp r0, 0 + bne _081CF5E2 +_081CF5CE: + adds r0, r5, 0 + bl sub_81CF7F4 +_081CF5D4: + movs r0, 0 + b _081CF5E8 +_081CF5D8: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CF5E6 +_081CF5E2: + movs r0, 0x2 + b _081CF5E8 +_081CF5E6: + movs r0, 0x4 +_081CF5E8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF578 + + thumb_func_start sub_81CF5F0 +sub_81CF5F0: @ 81CF5F0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CF63E + cmp r4, 0x1 + bgt _081CF60A + cmp r4, 0 + beq _081CF614 + b _081CF65E +_081CF60A: + cmp r4, 0x2 + beq _081CF646 + cmp r4, 0x3 + beq _081CF650 + b _081CF65E +_081CF614: + bl MatchCall_MoveCursorDown + cmp r0, 0x1 + beq _081CF62C + cmp r0, 0x1 + bgt _081CF626 + cmp r0, 0 + beq _081CF65E + b _081CF64C +_081CF626: + cmp r0, 0x2 + beq _081CF636 + b _081CF64C +_081CF62C: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CF660 +_081CF636: + movs r0, 0x5 + bl PlaySE + b _081CF64C +_081CF63E: + bl sub_81C8630 + cmp r0, 0 + bne _081CF65A +_081CF646: + adds r0, r5, 0 + bl sub_81CF7F4 +_081CF64C: + movs r0, 0 + b _081CF660 +_081CF650: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CF65E +_081CF65A: + movs r0, 0x2 + b _081CF660 +_081CF65E: + movs r0, 0x4 +_081CF660: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF5F0 + + thumb_func_start sub_81CF668 +sub_81CF668: @ 81CF668 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CF6B6 + cmp r4, 0x1 + bgt _081CF682 + cmp r4, 0 + beq _081CF68C + b _081CF6D6 +_081CF682: + cmp r4, 0x2 + beq _081CF6BE + cmp r4, 0x3 + beq _081CF6C8 + b _081CF6D6 +_081CF68C: + bl MatchCall_PageUp + cmp r0, 0x1 + beq _081CF6A4 + cmp r0, 0x1 + bgt _081CF69E + cmp r0, 0 + beq _081CF6D6 + b _081CF6C4 +_081CF69E: + cmp r0, 0x2 + beq _081CF6AE + b _081CF6C4 +_081CF6A4: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CF6D8 +_081CF6AE: + movs r0, 0x5 + bl PlaySE + b _081CF6C4 +_081CF6B6: + bl sub_81C8630 + cmp r0, 0 + bne _081CF6D2 +_081CF6BE: + adds r0, r5, 0 + bl sub_81CF7F4 +_081CF6C4: + movs r0, 0 + b _081CF6D8 +_081CF6C8: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CF6D6 +_081CF6D2: + movs r0, 0x2 + b _081CF6D8 +_081CF6D6: + movs r0, 0x4 +_081CF6D8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF668 + + thumb_func_start sub_81CF6E0 +sub_81CF6E0: @ 81CF6E0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CF72E + cmp r4, 0x1 + bgt _081CF6FA + cmp r4, 0 + beq _081CF704 + b _081CF74E +_081CF6FA: + cmp r4, 0x2 + beq _081CF736 + cmp r4, 0x3 + beq _081CF740 + b _081CF74E +_081CF704: + bl MatchCall_PageDown + cmp r0, 0x1 + beq _081CF71C + cmp r0, 0x1 + bgt _081CF716 + cmp r0, 0 + beq _081CF74E + b _081CF73C +_081CF716: + cmp r0, 0x2 + beq _081CF726 + b _081CF73C +_081CF71C: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CF750 +_081CF726: + movs r0, 0x5 + bl PlaySE + b _081CF73C +_081CF72E: + bl sub_81C8630 + cmp r0, 0 + bne _081CF74A +_081CF736: + adds r0, r5, 0 + bl sub_81CF7F4 +_081CF73C: + movs r0, 0 + b _081CF750 +_081CF740: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CF74E +_081CF74A: + movs r0, 0x2 + b _081CF750 +_081CF74E: + movs r0, 0x4 +_081CF750: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF6E0 + + thumb_func_start sub_81CF758 +sub_81CF758: @ 81CF758 + push {lr} + cmp r0, 0 + beq _081CF764 + cmp r0, 0x1 + beq _081CF778 + b _081CF790 +_081CF764: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + bl sub_81C78A0 + movs r0, 0 + b _081CF792 +_081CF778: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CF788 + bl MainMenuLoopedTaskIsBusy + cmp r0, 0 + beq _081CF78C +_081CF788: + movs r0, 0x2 + b _081CF792 +_081CF78C: + bl sub_81C7FDC +_081CF790: + movs r0, 0x4 +_081CF792: + pop {r1} + bx r1 + thumb_func_end sub_81CF758 + + thumb_func_start sub_81CF798 +sub_81CF798: @ 81CF798 + push {lr} + cmp r0, 0 + beq _081CF7A4 + cmp r0, 0x1 + beq _081CF7B4 + b _081CF7C0 +_081CF7A4: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081CF7C2 +_081CF7B4: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081CF7C0 + movs r0, 0x2 + b _081CF7C2 +_081CF7C0: + movs r0, 0x4 +_081CF7C2: + pop {r1} + bx r1 + thumb_func_end sub_81CF798 + + thumb_func_start sub_81CF7C8 +sub_81CF7C8: @ 81CF7C8 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_086235B4 + bl AddWindow + strh r0, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + ldrb r0, [r4, 0x8] + movs r1, 0x1 + bl CopyWindowToVram + adds r0, r4, 0 + bl sub_81CF7F4 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF7C8 + + thumb_func_start sub_81CF7F4 +sub_81CF7F4: @ 81CF7F4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + mov r8, r0 + bl sub_81CF0F0 + adds r7, r0, 0 + bl DynamicPlaceholderTextUtil_Reset + ldr r4, =gStringVar1 + movs r0, 0 + adds r1, r4, 0 + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr + movs r0, 0xFF + strb r0, [r4] + ldr r5, =gStringVar2 + ldr r1, =gText_NumberF700 + adds r0, r5, 0 + bl DynamicPlaceholderTextUtil_ExpandPlaceholders + mov r1, r8 + ldrb r0, [r1, 0x8] + movs r1, 0x1 + mov r10, r1 + str r1, [sp] + movs r1, 0xFF + mov r9, r1 + str r1, [sp, 0x4] + movs r6, 0 + str r6, [sp, 0x8] + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x4 + bl AddTextPrinterParameterized + adds r0, r4, 0 + adds r1, r7, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + mov r1, r8 + ldrb r0, [r1, 0x8] + mov r1, r10 + str r1, [sp] + mov r1, r9 + str r1, [sp, 0x4] + str r6, [sp, 0x8] + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x22 + bl AddTextPrinterParameterized + mov r1, r8 + ldrb r0, [r1, 0x8] + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF7F4 + + thumb_func_start sub_81CF88C +sub_81CF88C: @ 81CF88C + push {r4,lr} + sub sp, 0x18 + bl sub_81CF0D0 + str r0, [sp] + bl sub_81CF0E0 + mov r1, sp + movs r4, 0 + strh r0, [r1, 0x4] + movs r0, 0x4 + strb r0, [r1, 0x8] + bl sub_81CF10C + mov r1, sp + strh r0, [r1, 0x6] + movs r0, 0xD + strb r0, [r1, 0x9] + movs r0, 0x11 + strb r0, [r1, 0xA] + mov r0, sp + movs r2, 0x1 + strb r2, [r0, 0xB] + movs r0, 0x8 + strb r0, [r1, 0xC] + movs r0, 0x2 + strb r0, [r1, 0xD] + mov r0, sp + strb r2, [r0, 0xE] + ldr r0, =sub_81CF8E4 + str r0, [sp, 0x10] + str r4, [sp, 0x14] + ldr r0, =gUnknown_08623594 + movs r2, 0 + bl sub_81C81D4 + add sp, 0x18 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF88C + + thumb_func_start sub_81CF8E4 +sub_81CF8E4: @ 81CF8E4 + push {r4-r7,lr} + adds r2, r0, 0 + adds r6, r1, 0 + ldrb r0, [r2] + cmp r0, 0xE + bne _081CF924 + ldrb r1, [r2, 0x1] + movs r0, 0x64 + adds r4, r1, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + bl GetMonGender + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + bl GetLevelFromMonExp + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, =gStringVar3 + adds r0, r4, 0 + movs r1, 0x2 + bl GetMonData + b _081CF94A + .pool +_081CF924: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, =gStringVar3 + adds r0, r4, 0 + movs r1, 0x2 + bl GetBoxMonData +_081CF94A: + ldr r4, =gStringVar3 + adds r0, r4, 0 + bl StringGetEnd10 + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x3C + bl sub_81DB494 + adds r6, r0, 0 + cmp r5, 0 + beq _081CF974 + cmp r5, 0xFE + beq _081CF97C + ldr r1, =gUnknown_086235D4 + b _081CF97E + .pool +_081CF974: + ldr r1, =gUnknown_086235BC + b _081CF97E + .pool +_081CF97C: + ldr r1, =gUnknown_086235C8 +_081CF97E: + ldr r4, =gStringVar1 + adds r0, r4, 0 + bl StringCopy + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + movs r1, 0xF9 + strb r1, [r0] + adds r0, 0x1 + movs r1, 0x5 + strb r1, [r0] + adds r0, 0x1 + adds r1, r7, 0 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x28 + bl sub_81DB494 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF8E4 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_9.s b/asm/pokenav_unk_9.s new file mode 100644 index 0000000000..7f9d5d15be --- /dev/null +++ b/asm/pokenav_unk_9.s @@ -0,0 +1,1393 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(9) + + thumb_func_start sub_81CF9BC +sub_81CF9BC: @ 81CF9BC + push {r4,lr} + movs r0, 0x9 + movs r1, 0x20 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CF9FC + ldr r1, =0x000006ac + movs r0, 0x12 + bl AllocSubstruct + str r0, [r4, 0x1C] + cmp r0, 0 + beq _081CF9FC + ldr r0, =sub_81CFA68 + str r0, [r4] + ldr r0, =sub_81CFB74 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + movs r0, 0 + str r0, [r4, 0x14] + movs r0, 0x1 + b _081CF9FE + .pool +_081CF9FC: + movs r0, 0 +_081CF9FE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CF9BC + + thumb_func_start sub_81CFA04 +sub_81CFA04: @ 81CFA04 + push {r4,lr} + movs r0, 0x9 + movs r1, 0x20 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CFA2C + movs r0, 0x12 + bl GetSubstructPtr + str r0, [r4, 0x1C] + ldr r0, =sub_81CFA88 + str r0, [r4] + movs r0, 0x1 + str r0, [r4, 0x14] + b _081CFA2E + .pool +_081CFA2C: + movs r0, 0 +_081CFA2E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CFA04 + + thumb_func_start sub_81CFA34 +sub_81CFA34: @ 81CFA34 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r1, [r0] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81CFA34 + + thumb_func_start sub_81CFA48 +sub_81CFA48: @ 81CFA48 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x18] + cmp r0, 0 + bne _081CFA5C + movs r0, 0x12 + bl FreePokenavSubstruct +_081CFA5C: + movs r0, 0x9 + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81CFA48 + + thumb_func_start sub_81CFA68 +sub_81CFA68: @ 81CFA68 + push {r4,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x4] + bl IsLoopedTaskActive + cmp r0, 0 + bne _081CFA7A + ldr r0, =sub_81CFA88 + str r0, [r4] +_081CFA7A: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CFA68 + + thumb_func_start sub_81CFA88 +sub_81CFA88: @ 81CFA88 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CFAA0 + movs r0, 0x1 + b _081CFAFE + .pool +_081CFAA0: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CFAAC + movs r0, 0x2 + b _081CFAFE +_081CFAAC: + ldrh r1, [r2, 0x2E] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081CFABA + movs r0, 0x3 + b _081CFAFE +_081CFABA: + movs r0, 0x10 + ands r0, r1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0 + beq _081CFACA + movs r0, 0x4 + b _081CFAFE +_081CFACA: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081CFAE0 + str r2, [r4, 0x18] + ldr r0, =sub_81CFB08 + str r0, [r4] + movs r0, 0x5 + b _081CFAFE + .pool +_081CFAE0: + movs r5, 0x1 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _081CFAEE + movs r0, 0 + b _081CFAFE +_081CFAEE: + bl GetSelectedMatchCall + ldr r1, [r4, 0x1C] + strh r0, [r1, 0x2] + str r5, [r4, 0x18] + ldr r0, =sub_81CFB10 + str r0, [r4] + movs r0, 0x6 +_081CFAFE: + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CFA88 + + thumb_func_start sub_81CFB08 +sub_81CFB08: @ 81CFB08 + ldr r0, =0x000186a5 + bx lr + .pool + thumb_func_end sub_81CFB08 + + thumb_func_start sub_81CFB10 +sub_81CFB10: @ 81CFB10 + ldr r0, =0x000186ad + bx lr + .pool + thumb_func_end sub_81CFB10 + + thumb_func_start sub_81CFB18 +sub_81CFB18: @ 81CFB18 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x14] + pop {r1} + bx r1 + thumb_func_end sub_81CFB18 + + thumb_func_start sub_81CFB28 +sub_81CFB28: @ 81CFB28 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x1C] + adds r0, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_81CFB28 + + thumb_func_start sub_81CFB38 +sub_81CFB38: @ 81CFB38 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x1C] + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81CFB38 + + thumb_func_start sub_81CFB48 +sub_81CFB48: @ 81CFB48 + push {r4,lr} + movs r0, 0x9 + bl GetSubstructPtr + adds r4, r0, 0 + bl GetSelectedMatchCall + ldr r1, [r4, 0x1C] + lsls r0, 2 + adds r1, r0 + ldrh r0, [r1, 0x6] + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CFB48 + + thumb_func_start sub_81CFB64 +sub_81CFB64: @ 81CFB64 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x1C] + ldrh r0, [r0, 0x2] + pop {r1} + bx r1 + thumb_func_end sub_81CFB64 + + thumb_func_start sub_81CFB74 +sub_81CFB74: @ 81CFB74 + push {lr} + ldr r2, =gUnknown_086235D8 + lsls r1, r0, 2 + adds r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CFB74 + + thumb_func_start sub_81CFB8C +sub_81CFB8C: @ 81CFB8C + push {r4-r6,lr} + sub sp, 0x4 + movs r0, 0x9 + bl GetSubstructPtr + adds r6, r0, 0 + ldr r0, [r6, 0x1C] + movs r1, 0 + strh r1, [r0] + ldr r0, [r6, 0x1C] + strh r1, [r0, 0x2] + ldr r1, =0xffffff00 + ldr r0, [sp] + ands r0, r1 + movs r1, 0xE + orrs r0, r1 + str r0, [sp] + movs r5, 0 +_081CFBB0: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _081CFC10 + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _081CFC0A + adds r0, r4, 0 + movs r1, 0x4 + bl GetMonData + cmp r0, 0 + bne _081CFC0A + adds r0, r4, 0 + movs r1, 0x52 + bl GetMonData + adds r3, r0, 0 + cmp r3, 0 + beq _081CFC0A + lsls r1, r5, 24 + lsrs r1, 16 + ldr r2, =0xffff00ff + ldr r0, [sp] + ands r0, r2 + orrs r0, r1 + lsls r2, r3, 16 + ldr r1, =0x0000ffff + ands r0, r1 + orrs r0, r2 + str r0, [sp] + adds r0, r6, 0 + mov r1, sp + bl sub_81CFCEC +_081CFC0A: + adds r5, 0x1 + cmp r5, 0x5 + ble _081CFBB0 +_081CFC10: + movs r0, 0x1 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CFB8C + + thumb_func_start sub_81CFC2C +sub_81CFC2C: @ 81CFC2C + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + movs r1, 0 + str r1, [r0, 0x10] + str r1, [r0, 0xC] + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_81CFC2C + + thumb_func_start sub_81CFC40 +sub_81CFC40: @ 81CFC40 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + movs r0, 0x9 + bl GetSubstructPtr + mov r8, r0 + ldr r7, [r0, 0xC] + ldr r6, [r0, 0x10] + movs r0, 0 + mov r9, r0 + cmp r7, 0xD + bgt _081CFCD4 + b _081CFCC8 +_081CFC60: + adds r0, r7, 0 + adds r1, r6, 0 + bl CheckBoxMonSanityAt + cmp r0, 0 + beq _081CFCA6 + lsls r0, r7, 24 + lsrs r5, r0, 24 + lsls r0, r6, 24 + lsrs r4, r0, 24 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x52 + bl GetBoxMonDataAt + adds r3, r0, 0 + cmp r3, 0 + beq _081CFCA6 + ldr r1, =0xffffff00 + ldr r0, [sp] + ands r0, r1 + orrs r0, r5 + lsls r2, r4, 8 + ldr r1, =0xffff00ff + ands r0, r1 + orrs r0, r2 + lsls r2, r3, 16 + ldr r1, =0x0000ffff + ands r0, r1 + orrs r0, r2 + str r0, [sp] + mov r0, r8 + mov r1, sp + bl sub_81CFCEC +_081CFCA6: + movs r1, 0x1 + add r9, r1 + adds r6, 0x1 + mov r0, r9 + cmp r0, 0xE + ble _081CFCC8 + mov r1, r8 + str r7, [r1, 0xC] + str r6, [r1, 0x10] + movs r0, 0x3 + b _081CFCDC + .pool +_081CFCC8: + cmp r6, 0x1D + ble _081CFC60 + movs r6, 0 + adds r7, 0x1 + cmp r7, 0xD + ble _081CFCC8 +_081CFCD4: + movs r0, 0x1 + mov r1, r8 + str r0, [r1, 0x14] + movs r0, 0x4 +_081CFCDC: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CFC40 + + thumb_func_start sub_81CFCEC +sub_81CFCEC: @ 81CFCEC + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + movs r1, 0 + ldr r0, [r5, 0x1C] + ldrh r2, [r0] + lsrs r3, r2, 1 + cmp r2, r3 + beq _081CFD1C + adds r6, r0, 0 + ldrh r4, [r7, 0x2] +_081CFD02: + lsls r0, r3, 2 + adds r0, r6, r0 + ldrh r0, [r0, 0x6] + cmp r4, r0 + bls _081CFD10 + adds r2, r3, 0 + b _081CFD12 +_081CFD10: + adds r1, r3, 0x1 +_081CFD12: + subs r0, r2, r1 + lsrs r0, 1 + adds r3, r1, r0 + cmp r2, r3 + bne _081CFD02 +_081CFD1C: + ldr r0, [r5, 0x1C] + ldrh r2, [r0] + lsls r6, r3, 2 + cmp r2, r3 + bls _081CFD40 + lsls r0, r2, 2 + subs r4, r0, 0x4 +_081CFD2A: + ldr r0, [r5, 0x1C] + lsls r1, r2, 2 + adds r0, 0x4 + adds r1, r0, r1 + adds r0, r4 + ldr r0, [r0] + str r0, [r1] + subs r4, 0x4 + subs r2, 0x1 + cmp r2, r3 + bhi _081CFD2A +_081CFD40: + ldr r0, [r5, 0x1C] + adds r0, 0x4 + adds r0, r6 + ldr r1, [r7] + str r1, [r0] + ldr r1, [r5, 0x1C] + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CFCEC + + thumb_func_start sub_81CFD58 +sub_81CFD58: @ 81CFD58 + push {r4-r6,lr} + movs r5, 0 +_081CFD5C: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _081CFD8A + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _081CFD8A + adds r0, r4, 0 + movs r1, 0x53 + bl GetMonData + cmp r0, 0 + bne _081CFDB2 +_081CFD8A: + adds r5, 0x1 + cmp r5, 0x5 + ble _081CFD5C + movs r5, 0 +_081CFD92: + movs r4, 0 + lsls r6, r5, 24 +_081CFD96: + adds r0, r5, 0 + adds r1, r4, 0 + bl CheckBoxMonSanityAt + cmp r0, 0 + beq _081CFDBC + lsls r1, r4, 24 + lsrs r1, 24 + lsrs r0, r6, 24 + movs r2, 0x53 + bl GetBoxMonDataAt + cmp r0, 0 + beq _081CFDBC +_081CFDB2: + movs r0, 0x1 + b _081CFDCA + .pool +_081CFDBC: + adds r4, 0x1 + cmp r4, 0x1D + ble _081CFD96 + adds r5, 0x1 + cmp r5, 0xD + ble _081CFD92 + movs r0, 0 +_081CFDCA: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CFD58 + + thumb_func_start sub_81CFDD0 +sub_81CFDD0: @ 81CFDD0 + push {r4,lr} + movs r1, 0x81 + lsls r1, 4 + movs r0, 0xA + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CFE00 + ldr r0, =sub_81CFEB8 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CFE84 + str r0, [r4] + movs r0, 0 + str r0, [r4, 0xC] + movs r0, 0x1 + b _081CFE02 + .pool +_081CFE00: + movs r0, 0 +_081CFE02: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CFDD0 + + thumb_func_start sub_81CFE08 +sub_81CFE08: @ 81CFE08 + push {r4,lr} + movs r1, 0x81 + lsls r1, 4 + movs r0, 0xA + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CFE38 + ldr r0, =sub_81CFEB8 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CFE84 + str r0, [r4] + movs r0, 0x1 + str r0, [r4, 0xC] + b _081CFE3A + .pool +_081CFE38: + movs r0, 0 +_081CFE3A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CFE08 + + thumb_func_start sub_81CFE40 +sub_81CFE40: @ 81CFE40 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_086237B8 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81CFE84 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CFE40 + + thumb_func_start sub_81CFE70 +sub_81CFE70: @ 81CFE70 + push {lr} + movs r0, 0xA + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81CFE70 + + thumb_func_start sub_81CFE84 +sub_81CFE84: @ 81CFE84 + push {lr} + movs r0, 0xA + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81CFE84 + + thumb_func_start sub_81CFE98 +sub_81CFE98: @ 81CFE98 + push {r4,lr} + movs r0, 0xA + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81C8234 + ldrb r0, [r4, 0x8] + bl RemoveWindow + movs r0, 0xA + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CFE98 + + thumb_func_start sub_81CFEB8 +sub_81CFEB8: @ 81CFEB8 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x5 + bls _081CFECC + b _081CFFF2 +_081CFECC: + lsls r0, r4, 2 + ldr r1, =_081CFEDC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CFEDC: + .4byte _081CFEF4 + .4byte _081CFF48 + .4byte _081CFF76 + .4byte _081CFF94 + .4byte _081CFFA4 + .4byte _081CFFDE +_081CFEF4: + ldr r0, =gUnknown_086237B0 + movs r1, 0x2 + bl InitBgTemplates + ldr r1, =gUnknown_08623604 + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + adds r1, r5, 0 + adds r1, 0x10 + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, =gUnknown_086236CC + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + ldr r0, =gUnknown_086235E4 + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 + bl CopyBgTilemapBufferToVram +_081CFF32: + movs r0, 0 + b _081CFFF4 + .pool +_081CFF48: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CFFEE + bl sub_81CFB18 + cmp r0, 0 + beq _081CFFEE + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x1 + bl ShowBg + b _081CFF32 +_081CFF76: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CFFEE + ldr r0, =gUnknown_08623790 + movs r1, 0x20 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + bl sub_81D0304 + b _081CFF32 + .pool +_081CFF94: + bl sub_81C8224 + cmp r0, 0 + bne _081CFFEE + adds r0, r5, 0 + bl sub_81D024C + b _081CFF32 +_081CFFA4: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CFFEE + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl HideBg + movs r0, 0x9 + bl sub_81C7BA4 + movs r0, 0x1 + bl sub_81C7AC0 + ldr r0, [r5, 0xC] + cmp r0, 0 + bne _081CFF32 + movs r0, 0x2 + bl LoadLeftHeaderGfxForIndex + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + b _081CFF32 +_081CFFDE: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CFFEE + bl sub_81C8010 + cmp r0, 0 + beq _081CFFF2 +_081CFFEE: + movs r0, 0x2 + b _081CFFF4 +_081CFFF2: + movs r0, 0x4 +_081CFFF4: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CFEB8 + + thumb_func_start sub_81CFFFC +sub_81CFFFC: @ 81CFFFC + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D004A + cmp r4, 0x1 + bgt _081D0016 + cmp r4, 0 + beq _081D0020 + b _081D006A +_081D0016: + cmp r4, 0x2 + beq _081D0052 + cmp r4, 0x3 + beq _081D005C + b _081D006A +_081D0020: + bl MatchCall_MoveCursorUp + cmp r0, 0x1 + beq _081D0038 + cmp r0, 0x1 + bgt _081D0032 + cmp r0, 0 + beq _081D006A + b _081D0058 +_081D0032: + cmp r0, 0x2 + beq _081D0042 + b _081D0058 +_081D0038: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081D006C +_081D0042: + movs r0, 0x5 + bl PlaySE + b _081D0058 +_081D004A: + bl sub_81C8630 + cmp r0, 0 + bne _081D0066 +_081D0052: + adds r0, r5, 0 + bl sub_81D0288 +_081D0058: + movs r0, 0 + b _081D006C +_081D005C: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D006A +_081D0066: + movs r0, 0x2 + b _081D006C +_081D006A: + movs r0, 0x4 +_081D006C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CFFFC + + thumb_func_start sub_81D0074 +sub_81D0074: @ 81D0074 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D00C2 + cmp r4, 0x1 + bgt _081D008E + cmp r4, 0 + beq _081D0098 + b _081D00E2 +_081D008E: + cmp r4, 0x2 + beq _081D00CA + cmp r4, 0x3 + beq _081D00D4 + b _081D00E2 +_081D0098: + bl MatchCall_MoveCursorDown + cmp r0, 0x1 + beq _081D00B0 + cmp r0, 0x1 + bgt _081D00AA + cmp r0, 0 + beq _081D00E2 + b _081D00D0 +_081D00AA: + cmp r0, 0x2 + beq _081D00BA + b _081D00D0 +_081D00B0: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081D00E4 +_081D00BA: + movs r0, 0x5 + bl PlaySE + b _081D00D0 +_081D00C2: + bl sub_81C8630 + cmp r0, 0 + bne _081D00DE +_081D00CA: + adds r0, r5, 0 + bl sub_81D0288 +_081D00D0: + movs r0, 0 + b _081D00E4 +_081D00D4: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D00E2 +_081D00DE: + movs r0, 0x2 + b _081D00E4 +_081D00E2: + movs r0, 0x4 +_081D00E4: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0074 + + thumb_func_start sub_81D00EC +sub_81D00EC: @ 81D00EC + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D013A + cmp r4, 0x1 + bgt _081D0106 + cmp r4, 0 + beq _081D0110 + b _081D015A +_081D0106: + cmp r4, 0x2 + beq _081D0142 + cmp r4, 0x3 + beq _081D014C + b _081D015A +_081D0110: + bl MatchCall_PageUp + cmp r0, 0x1 + beq _081D0128 + cmp r0, 0x1 + bgt _081D0122 + cmp r0, 0 + beq _081D015A + b _081D0148 +_081D0122: + cmp r0, 0x2 + beq _081D0132 + b _081D0148 +_081D0128: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081D015C +_081D0132: + movs r0, 0x5 + bl PlaySE + b _081D0148 +_081D013A: + bl sub_81C8630 + cmp r0, 0 + bne _081D0156 +_081D0142: + adds r0, r5, 0 + bl sub_81D0288 +_081D0148: + movs r0, 0 + b _081D015C +_081D014C: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D015A +_081D0156: + movs r0, 0x2 + b _081D015C +_081D015A: + movs r0, 0x4 +_081D015C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D00EC + + thumb_func_start sub_81D0164 +sub_81D0164: @ 81D0164 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D01B2 + cmp r4, 0x1 + bgt _081D017E + cmp r4, 0 + beq _081D0188 + b _081D01D2 +_081D017E: + cmp r4, 0x2 + beq _081D01BA + cmp r4, 0x3 + beq _081D01C4 + b _081D01D2 +_081D0188: + bl MatchCall_PageDown + cmp r0, 0x1 + beq _081D01A0 + cmp r0, 0x1 + bgt _081D019A + cmp r0, 0 + beq _081D01D2 + b _081D01C0 +_081D019A: + cmp r0, 0x2 + beq _081D01AA + b _081D01C0 +_081D01A0: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081D01D4 +_081D01AA: + movs r0, 0x5 + bl PlaySE + b _081D01C0 +_081D01B2: + bl sub_81C8630 + cmp r0, 0 + bne _081D01CE +_081D01BA: + adds r0, r5, 0 + bl sub_81D0288 +_081D01C0: + movs r0, 0 + b _081D01D4 +_081D01C4: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D01D2 +_081D01CE: + movs r0, 0x2 + b _081D01D4 +_081D01D2: + movs r0, 0x4 +_081D01D4: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0164 + + thumb_func_start sub_81D01DC +sub_81D01DC: @ 81D01DC + push {lr} + cmp r0, 0 + beq _081D01E8 + cmp r0, 0x1 + beq _081D01FC + b _081D0214 +_081D01E8: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + bl sub_81C78A0 + movs r0, 0 + b _081D0216 +_081D01FC: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081D020C + bl MainMenuLoopedTaskIsBusy + cmp r0, 0 + beq _081D0210 +_081D020C: + movs r0, 0x2 + b _081D0216 +_081D0210: + bl sub_81C7FDC +_081D0214: + movs r0, 0x4 +_081D0216: + pop {r1} + bx r1 + thumb_func_end sub_81D01DC + + thumb_func_start sub_81D021C +sub_81D021C: @ 81D021C + push {lr} + cmp r0, 0 + beq _081D0228 + cmp r0, 0x1 + beq _081D0238 + b _081D0244 +_081D0228: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081D0246 +_081D0238: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081D0244 + movs r0, 0x2 + b _081D0246 +_081D0244: + movs r0, 0x4 +_081D0246: + pop {r1} + bx r1 + thumb_func_end sub_81D021C + + thumb_func_start sub_81D024C +sub_81D024C: @ 81D024C + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_086237D4 + bl AddWindow + strh r0, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + bl sub_81CFB38 + adds r2, r0, 0 + ldrh r0, [r4, 0x8] + movs r1, 0 + bl sub_81D02B0 + ldrb r0, [r4, 0x8] + movs r1, 0x1 + bl CopyWindowToVram + adds r0, r4, 0 + bl sub_81D0288 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D024C + + thumb_func_start sub_81D0288 +sub_81D0288: @ 81D0288 + push {r4,r5,lr} + adds r5, r0, 0 + bl GetSelectedMatchCall + adds r4, r0, 0 + bl sub_81CFB38 + adds r2, r0, 0 + ldrh r0, [r5, 0x8] + adds r4, 0x1 + adds r1, r4, 0 + bl sub_81D02B0 + ldrb r0, [r5, 0x8] + movs r1, 0x2 + bl CopyWindowToVram + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81D0288 + + thumb_func_start sub_81D02B0 +sub_81D02B0: @ 81D02B0 + push {r4,r5,lr} + sub sp, 0x1C + adds r4, r0, 0 + adds r5, r2, 0 + add r0, sp, 0xC + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + adds r1, r5, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r0, 0x1 + add r1, sp, 0xC + movs r2, 0x38 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0x1 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0x1 + add r2, sp, 0xC + bl AddTextPrinterParameterized + add sp, 0x1C + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81D02B0 + + thumb_func_start sub_81D0304 +sub_81D0304: @ 81D0304 + push {r4,lr} + sub sp, 0x18 + bl sub_81CFB28 + str r0, [sp] + bl sub_81CFB38 + mov r1, sp + movs r4, 0 + strh r0, [r1, 0x4] + movs r0, 0x4 + strb r0, [r1, 0x8] + bl sub_81CFB64 + mov r1, sp + strh r0, [r1, 0x6] + movs r0, 0xD + strb r0, [r1, 0x9] + movs r0, 0x11 + strb r0, [r1, 0xA] + mov r0, sp + movs r2, 0x1 + strb r2, [r0, 0xB] + movs r0, 0x8 + strb r0, [r1, 0xC] + movs r0, 0x2 + strb r0, [r1, 0xD] + mov r0, sp + strb r2, [r0, 0xE] + ldr r0, =sub_81D035C + str r0, [sp, 0x10] + str r4, [sp, 0x14] + ldr r0, =gUnknown_086237B4 + movs r2, 0 + bl sub_81C81D4 + add sp, 0x18 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0304 + + thumb_func_start sub_81D035C +sub_81D035C: @ 81D035C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r1, 0 + adds r7, r0, 0 + ldrb r0, [r7] + cmp r0, 0xE + bne _081D03A4 + ldrb r1, [r7, 0x1] + movs r0, 0x64 + adds r4, r1, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + bl GetMonGender + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + bl GetLevelFromMonExp + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r2, =gStringVar3 + adds r0, r4, 0 + movs r1, 0x2 + bl GetMonData + b _081D03CC + .pool +_081D03A4: + ldrb r0, [r7] + ldrb r1, [r7, 0x1] + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r2, =gStringVar3 + adds r0, r4, 0 + movs r1, 0x2 + bl GetBoxMonData +_081D03CC: + ldr r4, =gStringVar3 + adds r0, r4, 0 + bl StringGetEnd10 + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x3C + bl sub_81DB494 + adds r6, r0, 0 + cmp r5, 0 + beq _081D03F8 + cmp r5, 0xFE + beq _081D0400 + ldr r1, =gUnknown_086237F4 + b _081D0402 + .pool +_081D03F8: + ldr r1, =gUnknown_086237DC + b _081D0402 + .pool +_081D0400: + ldr r1, =gUnknown_086237E8 +_081D0402: + ldr r4, =gStringVar1 + adds r0, r4, 0 + bl StringCopy + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + movs r1, 0xF9 + strb r1, [r0] + adds r0, 0x1 + movs r1, 0x5 + strb r1, [r0] + adds r0, 0x1 + mov r1, r8 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x36 + bl sub_81DB494 + adds r6, r0, 0 + ldrh r1, [r7, 0x2] + movs r2, 0x1 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D035C + + .align 2, 0 @ Don't pad with nop. diff --git a/asmdiff.ps1 b/asmdiff.ps1 index 169f14776b..f476d51e85 100644 --- a/asmdiff.ps1 +++ b/asmdiff.ps1 @@ -107,8 +107,13 @@ if ($start_num -gt 0x1000000) $end_str = [System.Convert]::ToString($start_num + $offset_num, 16) $end_str = "0x$end_str" -Write-Host "$Start - $end_str" +$start_str = "0x$Start" + +Write-Host "$start_str - $end_str" $objdump = Join-Path -Path $env:DEVKITARM -ChildPath "arm-none-eabi\bin\objdump.exe" -&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$Start" --stop-address="$end_str" .\baserom.gba > .\baserom.dump -&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$Start" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump +Write-Host "Dumping [0/2]" +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\baserom.gba > .\baserom.dump +Write-Host "Dumping [1/2]" +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump +Write-Host "Dumping [2/2]" Invoke-Expression "$DiffTool .\baserom.dump .\pokeemerald.dump" diff --git a/data/pokenav.s b/data/pokenav.s index 0e2c781664..8527062ac6 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -3,6 +3,7 @@ .section .rodata +// pokenav_unk_1.s gUnknown_0861FC54:: @ 861FC54 .byte 2 .byte 3 @@ -13,6 +14,7 @@ gUnknown_0861FC54:: @ 861FC54 gUnknown_0861FC59:: @ 861FC59 .byte 0, 1, 4, 4, 4, 4, 0, 1, 2, 4, 4, 4, 0, 1, 2, 3, 4, 4, 5, 6, 7, 4, 4, 4, 8, 9, 10, 11, 12, 13, 0 +// pokenav_unk_2.s gUnknown_0861FC78:: @ 861FC78 .incbin "graphics/pokenav/bg.gbapal" @@ -201,7 +203,8 @@ gUnknown_08620384:: @ 8620384 .4byte 0x4000040 .4byte 0xa2600001 .byte 1, 0, 0, 0 - + +// pokenav_unk_3.s gUnknown_08620390:: @ 8620390 .string "Becalm fighting emotions.$" @@ -1227,6 +1230,7 @@ gUnknown_08622508:: @ 8622508 gUnknown_0862250A:: @ 862250A .byte 0, 1, 2, 0, 0, 0 +// pokenav_unk_4.s gUnknown_08622510:: @ 8622510 .incbin "graphics/pokenav/ui_matchcall.gbapal" @@ -1323,6 +1327,7 @@ gUnknown_08622848:: @ 8622848 gUnknown_08622850:: @ 8622850 spr_template 8, 13, gUnknown_08622848, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +// pokenav_unk_5.s gUnknown_08622868:: @ 8622868 .incbin "graphics/pokenav/8622868.gbapal" @@ -1456,6 +1461,10 @@ gUnknown_086231C8:: @ 86231C8 gUnknown_086231D0:: @ 86231D0 spr_template 6, 11, gUnknown_086231C8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81CCEF4 +// pokenav_unk_6.s +// + +// pokenav_unk_7.s gUnknown_086231E8:: @ 86231E8 .incbin "graphics/pokenav/86231E8.gbapal" @@ -1488,6 +1497,7 @@ gUnknown_08623374:: @ 8623374 gUnknown_0862337C:: @ 862337C window_template 1, 13, 0x1C, 3, 2, 15, 0x44 +// pokenav_unk_8.s gUnknown_08623384:: @ 8623384 .4byte NULL .4byte sub_81CE37C @@ -1548,6 +1558,7 @@ gUnknown_086235D4:: @ 86235D4 .string "{UNK_SPACER}$" .align 2 +// pokenav_unk_9.s gUnknown_086235D8:: @ 86235D8 .4byte sub_81CFB8C .4byte sub_81CFC2C @@ -1595,6 +1606,7 @@ gUnknown_086237F4:: @ 86237F4 .string "{UNK_SPACER}$" .align 2 +// pokenav_unk_10.s gUnknown_086237F8:: @ 86237F8 .byte 1, 1, 0, 0 .byte 3, 4, 1, 0 diff --git a/include/pokenav.h b/include/pokenav.h index 4e1648c934..d1bdbb2e99 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -1,6 +1,28 @@ #ifndef GUARD_POKENAV_H #define GUARD_POKENAV_H +typedef u32 (*LoopedTask)(s32 state); + +// Return values of LoopedTask functions. +#define LT_INC_AND_PAUSE 0 +#define LT_INC_AND_CONTINUE 1 +#define LT_PAUSE 2 +#define LT_CONTINUE 3 +#define LT_FINISH 4 +#define LT_SET_STATE(newState) (newState + 5) + +// pokenav.c +extern u32 sub_81C99D4(void); + void CB2_InitPokeNav(void); +u32 CreateLoopedTask(LoopedTask loopedTask, u32 priority); +bool32 FuncIsActiveLoopedTask(LoopedTask func); +void *GetSubstructPtr(u32 index); +void FreePokenavSubstruct(u32 index); +void *AllocSubstruct(u32 index, u32 size); +void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes); +bool32 IsLoopedTaskActive(u32 taskId); + +// pokenav_match_call_ui.c #endif //GUARD_POKENAV_H diff --git a/ld_script.txt b/ld_script.txt index 8f44e0abf0..f9545c6ee8 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -300,8 +300,19 @@ SECTIONS { src/unk_pokedex_area_screen_helper.o(.text); src/battle_pyramid_bag.o(.text); src/pokenav.o(.text); - asm/pokenav.o(.text); - src/pokenav_match_call.o(.text); + src/pokenav_main_menu.o(.text); + src/pokenav_match_call_ui.o(.text); + asm/pokenav_unk_1.o(.text); + asm/pokenav_unk_2.o(.text); + asm/pokenav_unk_3.o(.text); + asm/pokenav_unk_4.o(.text); + asm/pokenav_unk_5.o(.text); + asm/pokenav_unk_6.o(.text); + asm/pokenav_unk_7.o(.text); + asm/pokenav_unk_8.o(.text); + asm/pokenav_unk_9.o(.text); + asm/pokenav_unk_10.o(.text); + src/pokenav_match_call_data.o(.text); src/menu_specialized.o(.text); src/ereader_helpers.o(.text); src/faraway_island.o(.text); @@ -617,8 +628,10 @@ SECTIONS { src/unk_pokedex_area_screen_helper.o(.rodata); src/battle_pyramid_bag.o(.rodata); src/pokenav.o(.rodata); + src/pokenav_main_menu.o(.rodata); + src/pokenav_match_call_ui.o(.rodata); data/pokenav.o(.rodata); - src/pokenav_match_call.o(.rodata); + src/pokenav_match_call_data.o(.rodata); src/menu_specialized.o(.rodata); data/ereader_helpers.o(.rodata); src/faraway_island.o(.rodata); diff --git a/src/pokenav.c b/src/pokenav.c index 6299d26473..b70d665998 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -18,6 +18,7 @@ #include "decompress.h" #include "strings.h" #include "constants/rgb.h" +#include "pokenav.h" enum { @@ -37,39 +38,6 @@ enum NAVMENU_CB_UNK_6 }; -enum -{ - NAVGEAR_GFX_MAIN_MENU, - NAVGEAR_GFX_CONDITION_MENU, - NAVGEAR_GFX_RIBBONS_MENU, - NAVGEAR_GFX_MATCH_CALL_MENU, - - // One of these is for the zoomed-in map, and the other is for the - // zoomed-out map. Don't know which is which yet. - NAVGEAR_GFX_MAP_MENU_UNK0, - NAVGEAR_GFX_MAP_MENU_UNK1, - - NAVGEAR_GFX_PARTY_MENU, - NAVGEAR_GFX_SEARCH_MENU, - NAVGEAR_GFX_COOL_MENU, - NAVGEAR_GFX_BEAUTY_MENU, - NAVGEAR_GFX_CUTE_MENU, - NAVGEAR_GFX_SMART_MENU, - NAVGEAR_GFX_TOUGH_MENU, - - NAVGEAR_GFX_MENUS_END -}; - -#define NAVGEAR_GFX_SUBMENUS_START NAVGEAR_GFX_PARTY_MENU - -// Return values of LoopedTask functions. -#define LT_INC_AND_PAUSE 0 -#define LT_INC_AND_CONTINUE 1 -#define LT_PAUSE 2 -#define LT_CONTINUE 3 -#define LT_FINISH 4 -#define LT_SET_STATE(newState) (newState + 5) - #define LOOPED_TASK_DECODE_STATE(action) (action - 5) #define LOOPED_TASK_ID(primary, secondary) (((secondary) << 16) |(primary)) @@ -78,80 +46,6 @@ enum #define UNKNOWN_OFFSET 100000 -typedef u32 (*LoopedTask)(s32 state); - -struct UnknownSubSubStruct_0203CF40 { - u8 bg; - u8 unk1; - u8 unk2; - u8 unk3; - u8 unk4; - u8 fontId; - u16 unk6; - u16 windowId; - u16 unkA; - u16 unkC; - u16 unkE; -}; - -struct MatchCallWindowState { - // The index of the element at the top of the window. - u16 windowTopIndex; - u16 listLength; - u16 unk4; - // The index of the cursor, relative to the top of the window. - u16 selectedIndexOffset; - u16 visibleEntries; - u16 unkA; - u32 unkC; - u32 unk10; -}; - -// Generally at index 0. -struct PokenavMainMenuResources -{ - void (*unk0)(u32); - u32 (*unk4)(void); - u32 unk8; - u32 currentTaskId; - u32 unk10; - u32 unk14; - struct Sprite *spinningNavgear; - struct Sprite *leftHeaderSprites[2]; - struct Sprite *submenuLeftHeaderSprites[2]; - u8 tilemapBuffer[0x800]; -}; - -struct UnknownInnerStruct_81C81D4 -{ - struct UnknownSubSubStruct_0203CF40 unk0; - u32 unk10; - u32 unk14; - u32 unk18; - u32 unk1C; - s32 unk20; - s32 unk24; - u32 unk28; - s32 unk2C; - u32 unk30; - void (*unk34)(u32, u8*); - void (*unk38)(u16, u32, u32); - struct Sprite *rightArrow; - struct Sprite *upArrow; - struct Sprite *downArrow; - u8 unkTextBuffer[0x40]; -}; - -// Generally at index 0x11 (17) -struct UnknownSubStruct_81C81D4 -{ - struct UnknownInnerStruct_81C81D4 unk0; - u8 tilemapBuffer[0x800]; - struct MatchCallWindowState unk888; - u32 unk89C; - u32 unk8A0; -}; - #define SUBSTRUCT_COUNT 19 struct PokenavResources @@ -164,34 +58,7 @@ struct PokenavResources void *field10[SUBSTRUCT_COUNT]; }; -// This struct uses a 32bit tag, and doesn't have a size field. -// Needed to match LoadLeftHeaderGfxForSubMenu. -struct CompressedSpriteSheetNoSize -{ - const u32 *data; // LZ77 compressed palette data - u32 tag; -}; - -struct MatchCallListTemplate -{ - u32 unk0; - u16 unk4; - u16 unk6; - u8 unk8; - u8 unk9; - u8 unkA; - u8 unkB; - u8 unkC; - u8 unkD; - u8 unkE; - void (*unk10)(u32, u8 *a1); - void (*unk14)(u16 a0, u32 a1, u32 a2); -}; - extern u32 sub_81C9430(void); -extern void sub_81CAADC(void); -extern u32 sub_81C99D4(void); -extern void InitHoenMapHeaderSprites(void); extern u32 sub_81C9298(void); extern u32 sub_81C941C(void); extern u32 sub_81C9924(void); @@ -249,38 +116,7 @@ extern u32 sub_81D04B8(void); extern u32 sub_81D09F4(void); extern u32 sub_81CFA04(void); extern u32 sub_81CFE08(void); -extern void SpriteCB_SpinningNavgear(struct Sprite* sprite); -extern void sub_81CBD48(u16 windowId, u32 a1); -extern u8 *sub_81CAFD8(u16 a0, u32 a1); -extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4); -u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3); -void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1); -void SpriteCB_MatchCallUpArrow(struct Sprite *sprite); -void SpriteCB_MatchCallDownArrow(struct Sprite *sprite); -void SpriteCB_MatchCallRightArrow(struct Sprite *sprite); -void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); -void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0); -void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); -void sub_81C8ED0(void); -void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); -void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); -void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); -void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); -void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); -u32 LoopedTask_sub_81C8A28(s32 a0); -u32 LoopedTask_sub_81C8958(s32 a0); -u32 LoopedTask_sub_81C8870(s32 a0); -u32 LoopedTask_sub_81C85A0(s32 a0); -void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1); -u32 LoopedTask_sub_81C83F0(s32 a0); -bool32 sub_81C83E0(void); -void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5); -void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); -void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); -void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); -u32 LoopedTask_sub_81C8254(s32 a0); -u32 LoopedTask_ScrollMenuHeaderUp(s32 a0); bool32 SetActivePokenavMenu(u32 a0); bool32 InitPokenavMainMenu(void); static bool32 AnyMonHasRibbon(void); @@ -288,15 +124,10 @@ u32 sub_81C75E0(void); u32 sub_81C75D4(void); u32 PokenavMainMenuLoopedTaskIsActive(void); u32 sub_81C786C(void); -u32 LoopedTask_InitPokenavMenu(s32 a0); -u32 LoopedTask_ScrollMenuHeaderDown(s32 a0); bool32 WaitForPokenavShutdownFade(void); -void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 a1, u32 a2); void sub_81C7834(void *func1, void *func2); static void InitPokenavResources(struct PokenavResources *a0); -void FreePokenavSubstruct(u32 index); void sub_81C7850(u32 a0); -void sub_81C7BF8(u32 a0); void Task_RunLoopedTask_LinkMode(u8 a0); void Task_RunLoopedTask(u8 taskId); void sub_81C742C(u8 taskId); @@ -305,18 +136,7 @@ static void InitKeys_(void); static void FreePokenavResources(void); static void VBlankCB_Pokenav(void); static void CB2_Pokenav(void); -void InitPokenavMainMenuResources(void); void sub_81C72BC(void); -void sub_81C7B74(void); -void CleanupPokenavMainMenuResources(void); -void LoadLeftHeaderGfxForSubMenu(u32 arg0); -void LoadLeftHeaderGfxForMenu(u32 arg0); -void HideLeftHeaderSubmenuSprites(bool32 arg0); -void HideLeftHeaderSprites(bool32 arg0); -void ShowLeftHeaderSprites(u32 arg0, bool32 arg1); -void ShowLeftHeaderSubmenuSprites(u32 arg0, bool32 arg1); -void MoveLeftHeader(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3); -void SpriteCB_MoveLeftHeader(struct Sprite *sprite); // Const rom data. u32 (*const PokenavMenuCallbacks[15][7])(void) = @@ -458,355 +278,9 @@ u32 (*const PokenavMenuCallbacks[15][7])(void) = }, }; -const u16 gSpinningNavgearPaletteData[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); -const u32 gSpinningNavgearGfx[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); -const u32 gUnused_SpinningNavgearGfx2[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); - -const struct BgTemplate gPokenavMainMenuBgTemplates[] = -{ - { - .bg = 0, - .charBaseIndex = 0, - .mapBaseIndex = 5, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0, - } -}; - -const struct WindowTemplate gUnknown_0861FA08[2] = -{ - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 22, - .width = 16, - .height = 2, - .paletteNum = 0, - .baseBlock = 0x36, - }, - { - .bg = 0xFF, - .tilemapLeft = 0, - .tilemapTop = 0, - .width = 0, - .height = 0, - .paletteNum = 0, - .baseBlock = 0, - }, -}; - -const u8 *const (sMenuButtonReminders[12]) = -{ - gText_Navgear_ClearButtonList, - gText_NavgearMap_ZoomedOutButtons, - gText_NavgearMap_ZoomedInButtons, - gText_NavgearCondition_MonListButtons, - gText_NavgearCondition_MonStatusButtons, - gText_NavgearCondition_MarkingButtons, - gText_NavgearMatchCall_TrainerListButtons, - gText_NavgearMatchCall_CallMenuButtons, - gText_NavgearMatchCall_CheckTrainerButtons, - gText_NavgearRibbons_MonListButtons, - gText_NavgearRibbons_RibbonListButtons, - gText_NavgearRibbons_RibbonCheckButtons, -}; - -const u8 gMenuButtonReminderColor[4] = -{ - 4, 1, 2, 0 -}; - -static const struct CompressedSpriteSheet gSpinningNavgearSpriteSheet[] = -{ - { - .data = gSpinningNavgearGfx, - .size = 0x1000, - .tag = 0, - } -}; - -static const struct SpritePalette gSpinningNavgearPalette[] = -{ - { - .data = gSpinningNavgearPaletteData, - .tag = 0, - }, - {} -}; - -static const struct CompressedSpriteSheet sPokenavHoenMapLeftHeaderSpriteSheet = -{ - .data = gPokenavLeftHeaderHoennMap_Gfx, - .size = 0xC00, - .tag = 2 -}; - -static const struct CompressedSpriteSheet sPokenavMenuLeftHeaderSpriteSheets[] = -{ - [NAVGEAR_GFX_MAIN_MENU] = { - .data = gPokenavLeftHeaderMainMenu_Gfx, - .size = 0x20, - .tag = 3 - }, - [NAVGEAR_GFX_CONDITION_MENU] = { - .data = gPokenavLeftHeaderCondition_Gfx, - .size = 0x20, - .tag = 1 - }, - [NAVGEAR_GFX_RIBBONS_MENU] = { - .data = gPokenavLeftHeaderRibbons_Gfx, - .size = 0x20, - .tag = 2 - }, - [NAVGEAR_GFX_MATCH_CALL_MENU] = { - .data = gPokenavLeftHeaderMatchCall_Gfx, - .size = 0x20, - .tag = 4 - }, - [NAVGEAR_GFX_MAP_MENU_UNK0] = { - .data = gPokenavLeftHeaderHoennMap_Gfx, - .size = 0x20, - .tag = 0 - }, - [NAVGEAR_GFX_MAP_MENU_UNK1] = { - .data = gPokenavLeftHeaderHoennMap_Gfx, - .size = 0x40, - .tag = 0 - } -}; - -static const struct CompressedSpriteSheetNoSize sPokenavSubMenuLeftHeaderSpriteSheets[] = -{ - [NAVGEAR_GFX_PARTY_MENU - NAVGEAR_GFX_SUBMENUS_START] = { - .data = gPokenavLeftHeaderParty_Gfx, - .tag = 1 - }, - [NAVGEAR_GFX_SEARCH_MENU - NAVGEAR_GFX_SUBMENUS_START] = { - .data = gPokenavLeftHeaderSearch_Gfx, - .tag = 1 - }, - [NAVGEAR_GFX_COOL_MENU - NAVGEAR_GFX_SUBMENUS_START] = { - .data = gPokenavLeftHeaderCool_Gfx, - .tag = 4 - }, - [NAVGEAR_GFX_BEAUTY_MENU - NAVGEAR_GFX_SUBMENUS_START] = { - .data = gPokenavLeftHeaderBeauty_Gfx, - .tag = 1 - }, - [NAVGEAR_GFX_CUTE_MENU - NAVGEAR_GFX_SUBMENUS_START] = { - .data = gPokenavLeftHeaderCute_Gfx, - .tag = 2 - }, - [NAVGEAR_GFX_SMART_MENU - NAVGEAR_GFX_SUBMENUS_START] = { - .data = gPokenavLeftHeaderSmart_Gfx, - .tag = 0 - }, - [NAVGEAR_GFX_TOUGH_MENU - NAVGEAR_GFX_SUBMENUS_START] = { - .data = gPokenavLeftHeaderTough_Gfx, - .tag = 0 - } -}; - -static const struct OamData sSpinningNavgearSpriteOam = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = 0, // FIXME: Use SPRITE_SHAPE - .x = 0, - .matrixNum = 0, - .size = 2, // FIXME: Use SPRITE_SIZE - .tileNum = 0, - .priority = 0, - .paletteNum = 0, - .affineParam = 0 -}; - -static const union AnimCmd sSpinningNavgearAnims[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(16, 8), - ANIMCMD_FRAME(32, 8), - ANIMCMD_FRAME(48, 8), - ANIMCMD_FRAME(64, 8), - ANIMCMD_FRAME(80, 8), - ANIMCMD_FRAME(96, 8), - ANIMCMD_FRAME(112, 8), - ANIMCMD_JUMP(0) -}; - -static const union AnimCmd *const sSpinningNavgearAnimTable[] = -{ - sSpinningNavgearAnims -}; - -static const struct SpriteTemplate sSpinningNavgearSpriteTemplate = -{ - .tileTag = 0, - .paletteTag = 0, - .oam = &sSpinningNavgearSpriteOam, - .anims = sSpinningNavgearAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_SpinningNavgear -}; - -static const struct OamData sPokenavLeftHeaderHoenMapSpriteOam = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = 1, - .x = 0, - .matrixNum = 0, - .size = 3, - .tileNum = 0, - .priority = 1, - .paletteNum = 0, - .affineParam = 0 -}; - -static const struct OamData sUnknown_0861FB24 = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = 1, - .x = 0, - .matrixNum = 0, - .size = 2, - .tileNum = 0, - .priority = 1, - .paletteNum = 0, - .affineParam = 0 -}; - -static const struct SpriteTemplate sPokenavLeftHeaderHoenMapSpriteTemplate = -{ - .tileTag = 2, - .paletteTag = 1, - .oam = &sPokenavLeftHeaderHoenMapSpriteOam, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy -}; - -static const struct SpriteTemplate sUnknown_0861FB44 = -{ - .tileTag = 2, - .paletteTag = 2, - .oam = &sUnknown_0861FB24, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy -}; - -static const u16 sMatchcallArrowPaletteData[] = INCBIN_U16("graphics/pokenav/arrows_matchcall.gbapal"); -static const u32 sMatchcallArrowSpriteSheetData[] = INCBIN_U32("graphics/pokenav/arrows_matchcall.4bpp.lz"); - -static const u8 sPokenavColors_0861FBE4[] = -{ - 0, 2, 5 -}; - -static const u8 *const sMatchCallFieldNames[] = -{ - gText_NavgearMatchCall_Strategy, - gText_NavgearMatchCall_TrainerPokemon, - gText_NavgearMatchCall_SelfIntroduction -}; - -static const u8 sMatchCallFieldColors[] = -{ - 1, 4, 5 -}; - -static const u8 sUnknown_0861FBF7[] = -{ - 2, 4, 6, 7, 0 -}; - -static const struct CompressedSpriteSheet sMatchcallArrowSpriteSheet[] = -{ - { - .data = sMatchcallArrowSpriteSheetData, - .size = 192, - .tag = 0xA - } -}; - -static const struct SpritePalette sMatchcallArrowPalette[] = -{ - { - .data = sMatchcallArrowPaletteData, - .tag = 0x14 - }, - {} -}; - -static const struct OamData sMatchCallRightArrowSpriteOam = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = 2, //SPRITE_SHAPE(16x8), - .x = 0, - .size = 0, //SPRITE_SIZE(16x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0 -}; - -static const struct SpriteTemplate sMatchCallRightArrowSprite = -{ - .tileTag = 0xA, - .paletteTag = 0x14, - .oam = &sMatchCallRightArrowSpriteOam, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_MatchCallRightArrow -}; - -static const struct OamData sMatchCallUpDownArrowSpriteOam = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = 1, //SPRITE_SHAPE(8x16), - .x = 0, - .size = 0, //SPRITE_SIZE(8x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0 -}; - -static const struct SpriteTemplate sMatchCallUpDownArrowSprite = -{ - .tileTag = 0xA, - .paletteTag = 0x14, - .oam = &sMatchCallUpDownArrowSpriteOam, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy -}; EWRAM_DATA u8 gNextLoopedTaskId = 0; EWRAM_DATA struct PokenavResources *gPokenavResources = NULL; -EWRAM_DATA u32 gUnknown_0203CF44 = 0; // code u32 CreateLoopedTask(LoopedTask loopedTask, u32 priority) @@ -1186,1716 +660,3 @@ bool32 CanViewRibbonsMenu(void) { return gPokenavResources->hasAnyRibbons; } - -bool32 InitPokenavMainMenu(void) -{ - struct PokenavMainMenuResources *structPtr; - - structPtr = AllocSubstruct(0, sizeof(struct PokenavMainMenuResources)); - if (structPtr == NULL) - return FALSE; - - ResetSpriteData(); - FreeAllSpritePalettes(); - structPtr->currentTaskId = CreateLoopedTask(LoopedTask_InitPokenavMenu, 1); - return TRUE; -} - -u32 PokenavMainMenuLoopedTaskIsActive(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - return IsLoopedTaskActive(structPtr->currentTaskId); -} - -void ShutdownPokenav(void) -{ - PlaySE(SE_PN_OFF); - sub_81CAADC(); - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); -} - -bool32 WaitForPokenavShutdownFade(void) -{ - if (!gPaletteFade.active) - { - sub_81C99D4(); - CleanupPokenavMainMenuResources(); - FreeAllWindowBuffers(); - return FALSE; - } - - return TRUE; -} - -u32 LoopedTask_InitPokenavMenu(s32 a0) -{ - struct PokenavMainMenuResources *structPtr; - - switch (a0) - { - case 0: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - FreeAllWindowBuffers(); - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gPokenavMainMenuBgTemplates, ARRAY_COUNT(gPokenavMainMenuBgTemplates)); - ResetBgPositions(); - reset_temp_tile_data_buffers(); - return LT_INC_AND_CONTINUE; - case 1: - structPtr = GetSubstructPtr(0); - decompress_and_copy_tile_data_to_vram(0, &gPokenavHeader_Gfx, 0, 0, 0); - SetBgTilemapBuffer(0, structPtr->tilemapBuffer); - CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, 0, 0x20); - CopyBgTilemapBufferToVram(0); - return LT_INC_AND_PAUSE; - case 2: - if (free_temp_tile_data_buffers_if_possible()) - return LT_PAUSE; - - sub_81C7B74(); - return LT_INC_AND_PAUSE; - case 3: - if (IsDma3ManagerBusyWithBgCopy()) - return LT_PAUSE; - - InitPokenavMainMenuResources(); - InitHoenMapHeaderSprites(); - ShowBg(0); - return LT_FINISH; - default: - return LT_FINISH; - } -} - -void sub_81C7834(void *func1, void *func2) // Fix types later. -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - structPtr->unk0 = func1; - structPtr->unk4 = func2; - structPtr->unk8 = 0; -} - -void sub_81C7850(u32 a0) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - structPtr->unk8 = 0; - structPtr->unk0(a0); -} - -u32 sub_81C786C(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - return structPtr->unk4(); -} - -void sub_81C7880(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderDown, 4); -} - -void sub_81C78A0(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderUp, 4); -} - -bool32 MainMenuLoopedTaskIsBusy(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - return IsLoopedTaskActive(structPtr->currentTaskId); -} - -u32 LoopedTask_ScrollMenuHeaderDown(s32 a0) -{ - switch (a0) - { - default: - return LT_FINISH; - case 1: - return LT_INC_AND_PAUSE; - case 0: - return LT_INC_AND_PAUSE; - case 2: - if (ChangeBgY(0, 384, 1) >= 0x2000u) - { - ChangeBgY(0, 0x2000, 0); - return LT_FINISH; - } - - return LT_PAUSE; - } -} - -u32 LoopedTask_ScrollMenuHeaderUp(s32 a0) -{ - if (ChangeBgY(0, 384, 2) <= 0) - { - ChangeBgY(0, 0, 0); - return 4; - } - return 2; -} - -void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size) -{ - CpuCopy16(palette, gPlttBufferUnfaded + bufferOffset, size); -} - -void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes) -{ - const struct SpritePalette *current; - u32 index; - - for (current = palettes; current->data != NULL; current++) - { - index = AllocSpritePalette(current->tag); - if (index == 0xFF) - { - break; - } - else - { - index = (index * 16) + 0x100; - CopyPaletteIntoBufferUnfaded(current->data, index, 0x20); - } - } -} - -void sub_81C7990(u32 a0, u16 a1) -{ - CpuFill16(a1, gPlttBufferFaded + 0x100 + (a0 * 16), 16 * sizeof(u16)); -} - -__attribute__((naked)) -void sub_81C79BC(u16 *a0, u16 *a1, u32 a2, u32 a3, u32 a4, u32 a5) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0xC\n\ - str r0, [sp]\n\ - str r1, [sp, 0x4]\n\ - mov r10, r2\n\ - str r3, [sp, 0x8]\n\ - ldr r0, [sp, 0x2C]\n\ - cmp r0, 0\n\ - bne _081C79E4\n\ - ldr r2, =0x001fffff\n\ - mov r1, r10\n\ - ands r2, r1\n\ - ldr r0, [sp]\n\ - b _081C79F4\n\ - .pool\n\ -_081C79E4:\n\ - ldr r2, [sp, 0x2C]\n\ - ldr r0, [sp, 0x8]\n\ - cmp r2, r0\n\ - blt _081C7A00\n\ - ldr r2, =0x001fffff\n\ - mov r1, r10\n\ - ands r2, r1\n\ - ldr r0, [sp, 0x4]\n\ -_081C79F4:\n\ - ldr r1, [sp, 0x30]\n\ - bl CpuSet\n\ - b _081C7AAE\n\ - .pool\n\ -_081C7A00:\n\ - movs r2, 0x1\n\ - negs r2, r2\n\ - add r10, r2\n\ - b _081C7AA6\n\ -_081C7A08:\n\ - ldr r1, [sp]\n\ - ldrh r0, [r1]\n\ - movs r2, 0x1F\n\ - mov r9, r2\n\ - mov r1, r9\n\ - ands r1, r0\n\ - mov r9, r1\n\ - lsls r0, 16\n\ - lsrs r2, r0, 21\n\ - movs r1, 0x1F\n\ - ands r1, r2\n\ - mov r8, r1\n\ - lsrs r7, r0, 26\n\ - movs r2, 0x1F\n\ - ands r7, r2\n\ - ldr r0, [sp, 0x4]\n\ - ldrh r4, [r0]\n\ - movs r0, 0x1F\n\ - ands r0, r4\n\ - mov r1, r9\n\ - subs r0, r1\n\ - lsls r0, 8\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r2, [sp, 0x2C]\n\ - adds r6, r0, 0\n\ - muls r6, r2\n\ - asrs r6, 8\n\ - lsls r4, 16\n\ - lsrs r0, r4, 21\n\ - movs r1, 0x1F\n\ - ands r0, r1\n\ - mov r2, r8\n\ - subs r0, r2\n\ - lsls r0, 8\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r1, [sp, 0x2C]\n\ - adds r5, r0, 0\n\ - muls r5, r1\n\ - asrs r5, 8\n\ - lsrs r4, 26\n\ - movs r2, 0x1F\n\ - ands r4, r2\n\ - subs r4, r7\n\ - lsls r4, 8\n\ - adds r0, r4, 0\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r1, [sp, 0x2C]\n\ - muls r0, r1\n\ - asrs r0, 8\n\ - add r6, r9\n\ - movs r2, 0x1F\n\ - ands r6, r2\n\ - add r5, r8\n\ - ands r5, r2\n\ - adds r0, r7, r0\n\ - ands r0, r2\n\ - lsls r0, 10\n\ - lsls r5, 5\n\ - orrs r0, r5\n\ - orrs r0, r6\n\ - ldr r1, [sp, 0x30]\n\ - strh r0, [r1]\n\ - ldr r2, [sp]\n\ - adds r2, 0x2\n\ - str r2, [sp]\n\ - ldr r0, [sp, 0x4]\n\ - adds r0, 0x2\n\ - str r0, [sp, 0x4]\n\ - adds r1, 0x2\n\ - str r1, [sp, 0x30]\n\ - movs r1, 0x1\n\ - negs r1, r1\n\ - add r10, r1\n\ -_081C7AA6:\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - cmp r10, r0\n\ - bne _081C7A08\n\ -_081C7AAE:\n\ - add sp, 0xC\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided"); -} - -void sub_81C7AC0(s32 a0) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - switch (a0) - { - case 0: - BeginNormalPaletteFade(structPtr->unk14, -2, 0, 16, RGB_BLACK); - break; - case 1: - BeginNormalPaletteFade(structPtr->unk14, -2, 16, 0, RGB_BLACK); - break; - case 2: - BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); - break; - case 3: - BeginNormalPaletteFade(0xFFFFFFFF, -2, 16, 0, RGB_BLACK); - break; - } -} - -bool32 IsPaletteFadeActive(void) -{ - return gPaletteFade.active; -} - -void sub_81C7B40(void) -{ - BlendPalettes(0xFFFEFFFE, 16, RGB_BLACK); -} - -void InitBgTemplates(const struct BgTemplate *templates, s32 count) -{ - s32 i; - - for (i = 0; i < count; i++) - InitBgFromTemplate(templates++); -} - -void sub_81C7B74(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - InitWindows(&gUnknown_0861FA08[0]); - structPtr->unk10 = 0; - sub_81C7BF8(structPtr->unk10); - PutWindowTilemap(structPtr->unk10); - CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here. -} - -void sub_81C7BA4(u32 a0) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - sub_81C7BF8(structPtr->unk10); - AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sMenuButtonReminders[a0]); -} - -bool32 IsDma3ManagerBusyWithBgCopy_(void) -{ - return IsDma3ManagerBusyWithBgCopy(); -} - -void sub_81C7BF8(u32 windowId) -{ - FillWindowPixelBuffer(windowId, PIXEL_FILL(4)); - FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1); -} - -void InitPokenavMainMenuResources(void) -{ - s32 i; - u8 spriteId; - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - for (i = 0; i < ARRAY_COUNT(gSpinningNavgearSpriteSheet); i++) - LoadCompressedSpriteSheet(&gSpinningNavgearSpriteSheet[i]); - - Pokenav_AllocAndLoadPalettes(gSpinningNavgearPalette); - structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); - spriteId = CreateSprite(&sSpinningNavgearSpriteTemplate, 220, 12, 0); - structPtr->spinningNavgear = &gSprites[spriteId]; -} - -void CleanupPokenavMainMenuResources(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - DestroySprite(structPtr->spinningNavgear); - FreeSpriteTilesByTag(0); - FreeSpritePaletteByTag(0); -} - -void SpriteCB_SpinningNavgear(struct Sprite *sprite) -{ - // If the background starts scrolling, follow it. - sprite->pos2.y = (GetBgY(0) / 256u) * -1; -} - -struct Sprite *PauseSpinningNavgearSprite(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - structPtr->spinningNavgear->callback = SpriteCallbackDummy; - return structPtr->spinningNavgear; -} - -void ResumeSpinningNavgearSprite(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - structPtr->spinningNavgear->pos1.x = 220; - structPtr->spinningNavgear->pos1.y = 12; - structPtr->spinningNavgear->callback = SpriteCB_SpinningNavgear; - structPtr->spinningNavgear->invisible = FALSE; - structPtr->spinningNavgear->oam.priority = 0; - structPtr->spinningNavgear->subpriority = 0; -} - -void InitHoenMapHeaderSprites(void) -{ - s32 i, spriteId; - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - LoadCompressedSpriteSheet(&sPokenavHoenMapLeftHeaderSpriteSheet); - AllocSpritePalette(1); - AllocSpritePalette(2); - for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) - { - spriteId = CreateSprite(&sPokenavLeftHeaderHoenMapSpriteTemplate, 0, 0, 1); - structPtr->leftHeaderSprites[i] = &gSprites[spriteId]; - structPtr->leftHeaderSprites[i]->invisible = TRUE; - structPtr->leftHeaderSprites[i]->pos2.x = i * 64; - - spriteId = CreateSprite(&sUnknown_0861FB44, 0, 0, 2); - structPtr->submenuLeftHeaderSprites[i] = &gSprites[spriteId]; - structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; - structPtr->submenuLeftHeaderSprites[i]->pos2.x = i * 32; - structPtr->submenuLeftHeaderSprites[i]->pos2.y = 18; - structPtr->submenuLeftHeaderSprites[i]->oam.tileNum += (i * 8) + 64; - } -} - -void LoadLeftHeaderGfxForIndex(u32 arg0) -{ - if (arg0 < NAVGEAR_GFX_SUBMENUS_START) - LoadLeftHeaderGfxForMenu(arg0); - else - LoadLeftHeaderGfxForSubMenu(arg0 - NAVGEAR_GFX_SUBMENUS_START); -} - -void sub_81C7E14(u32 arg0) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - if (arg0 == 4) - structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; - else - structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 64; -} - -void LoadLeftHeaderGfxForMenu(u32 index) -{ - struct PokenavMainMenuResources *structPtr; - u32 size, tag; - - if (index >= NAVGEAR_GFX_SUBMENUS_START) - return; - - structPtr = GetSubstructPtr(0); - tag = sPokenavMenuLeftHeaderSpriteSheets[index].tag; - size = GetDecompressedDataSize(sPokenavMenuLeftHeaderSpriteSheets[index].data); - LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); - LZ77UnCompWram(sPokenavMenuLeftHeaderSpriteSheets[index].data, gDecompressionBuffer); - RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); - structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sPokenavMenuLeftHeaderSpriteSheets[index].size; - - if (index == NAVGEAR_GFX_MAP_MENU_UNK0 || index == NAVGEAR_GFX_MAP_MENU_UNK1) - structPtr->leftHeaderSprites[1]->pos2.x = 56; - else - structPtr->leftHeaderSprites[1]->pos2.x = 64; -} - -void LoadLeftHeaderGfxForSubMenu(u32 arg0) -{ - u32 size, tag; - - if (arg0 >= NAVGEAR_GFX_MENUS_END - NAVGEAR_GFX_SUBMENUS_START) - return; - - tag = sPokenavSubMenuLeftHeaderSpriteSheets[arg0].tag; - size = GetDecompressedDataSize(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data); - LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); - LZ77UnCompWram(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data, &gDecompressionBuffer[0x1000]); - RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)VRAM + 0x10800 + (GetSpriteTileStartByTag(2) * 32), size, 1); -} - -void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2) -{ - u32 var; - - if (!arg1) - var = 0x30; - else - var = 0x10; - - if (arg0 < 6) - ShowLeftHeaderSprites(var, arg2); - else - ShowLeftHeaderSubmenuSprites(var, arg2); -} - -void sub_81C7FC4(u32 arg0, bool32 arg1) -{ - if (arg0 < 6) - HideLeftHeaderSprites(arg1); - else - HideLeftHeaderSubmenuSprites(arg1); -} - -void sub_81C7FDC(void) -{ - s32 i; - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) - { - structPtr->leftHeaderSprites[i]->invisible = TRUE; - structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; - } -} - -bool32 sub_81C8010(void) -{ - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - if (structPtr->leftHeaderSprites[0]->callback == SpriteCallbackDummy && structPtr->submenuLeftHeaderSprites[0]->callback == SpriteCallbackDummy) - return FALSE; - else - return TRUE; -} - -void ShowLeftHeaderSprites(u32 startY, bool32 isOnRightSide) -{ - s32 start, end, i; - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - if (!isOnRightSide) - start = -96, end = 32; - else - start = 256, end = 160; - - for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) - { - structPtr->leftHeaderSprites[i]->pos1.y = startY; - MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); - } -} - -void ShowLeftHeaderSubmenuSprites(u32 startY, bool32 isOnRightSide) -{ - s32 start, end, i; - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - if (!isOnRightSide) - start = -96, end = 16; - else - start = 256, end = 192; - - for (i = 0; i < (s32)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) - { - structPtr->submenuLeftHeaderSprites[i]->pos1.y = startY; - MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); - } -} - -void HideLeftHeaderSprites(bool32 isOnRightSide) -{ - s32 start, end, i; - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - if (!isOnRightSide) - start = 32, end = -96; - else - start = 192, end = 256; - - for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) - { - MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); - } -} - -void HideLeftHeaderSubmenuSprites(bool32 isOnRightSide) -{ - s32 start, end, i; - struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - - if (!isOnRightSide) - start = 16, end = -96; - else - start = 192, end = 256; - - for (i = 0; i < (s32)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) - { - MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); - } -} - -void MoveLeftHeader(struct Sprite *sprite, s32 startX, s32 endX, s32 duration) -{ - sprite->pos1.x = startX; - sprite->data[0] = startX * 16; - sprite->data[1] = (endX - startX) * 16 / duration; - sprite->data[2] = duration; - sprite->data[7] = endX; - sprite->callback = SpriteCB_MoveLeftHeader; -} - -void SpriteCB_MoveLeftHeader(struct Sprite *sprite) -{ - if (sprite->data[2] != 0) - { - sprite->data[2]--; - sprite->data[0] += sprite->data[1]; - sprite->pos1.x = sprite->data[0] >> 4; - if (sprite->pos1.x < -16 || sprite->pos1.x > 256) - sprite->invisible = TRUE; - else - sprite->invisible = FALSE; - } - else - { - sprite->pos1.x = sprite->data[7]; - sprite->callback = SpriteCallbackDummy; - } -} - -bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2) -{ - u32 v1; - struct UnknownSubStruct_81C81D4 *structPtr; - - structPtr = AllocSubstruct(0x11, sizeof(struct UnknownSubStruct_81C81D4)); - - if (structPtr == NULL) - return FALSE; - - sub_81C9160(&structPtr->unk888, arg1); - - v1 = sub_81C91AC(&structPtr->unk0, arg0, arg1, arg2); - if (v1 == 0) - return FALSE; - - CreateLoopedTask(LoopedTask_sub_81C8254, 6); - return TRUE; -} - -bool32 sub_81C8224(void) -{ - return FuncIsActiveLoopedTask(LoopedTask_sub_81C8254); -} - -void sub_81C8234(void) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - - structPtr = GetSubstructPtr(0x11); - sub_81C8FE0(&structPtr->unk0); - RemoveWindow(structPtr->unk0.unk0.windowId); - FreePokenavSubstruct(0x11); -} - -u32 LoopedTask_sub_81C8254(s32 a0) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - - if (IsDma3ManagerBusyWithBgCopy()) - return 2; - - structPtr = GetSubstructPtr(0x11); - - switch (a0) - { - case 0: - sub_81C82E4(structPtr); - return 0; - case 1: - sub_81C835C(&structPtr->unk0.unk0); - return 0; - case 2: - sub_81C837C(&structPtr->unk888, &structPtr->unk0); - return 0; - case 3: - if (sub_81C83E0()) - { - return 2; - } - else - { - sub_81C8ED0(); - return 1; - } - case 4: - sub_81C8EF8(&structPtr->unk888, &structPtr->unk0); - return 4; - default: - return 4; - } -} - -void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0) -{ - u16 v1 = (a0->unk0.unk0.unk1 << 12) | a0->unk0.unk0.unk6; - // TODO: When #553 is merged, use a PALETTE_NUM_TO_FILL_VALUE(1) macro here... - sub_8199DF0(a0->unk0.unk0.bg, 0x11, a0->unk0.unk0.unk6, 1); - // ...and PALETTE_NUM_TO_FILL_VALUE(4) here. - sub_8199DF0(a0->unk0.unk0.bg, 0x44, a0->unk0.unk0.unk6 + 1, 1); - SetBgTilemapBuffer(a0->unk0.unk0.bg, a0->tilemapBuffer); - FillBgTilemapBufferRect_Palette0(a0->unk0.unk0.bg, v1, 0, 0, 32, 32); - ChangeBgY(a0->unk0.unk0.bg, 0, 0); - ChangeBgX(a0->unk0.unk0.bg, 0, 0); - ChangeBgY(a0->unk0.unk0.bg, a0->unk0.unk0.unk3 << 11, 2); - CopyBgTilemapBufferToVram(a0->unk0.unk0.bg); -} - -void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0) -{ - FillWindowPixelBuffer(a0->windowId, PIXEL_FILL(1)); - PutWindowTilemap(a0->windowId); - CopyWindowToVram(a0->windowId, 1); -} - -void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) -{ - s32 v1; - s32 v2; - - // TODO: Clean this up. - v1 = a0->listLength - a0->windowTopIndex; - v2 = a0->visibleEntries; - if (v1 > a0->visibleEntries) - v1 = v2; - sub_81C83AC(a0->unk10, a0->windowTopIndex, v1, a0->unkC, 0, a1); -} - -void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5) -{ - if (a2 == 0) - return; - - a5->unk1C = a0 + a1 * a3; - a5->unk18 = a3; - a5->unk0.unkC = 0; - a5->unk0.unkE = a2; - a5->unk14 = a1; - a5->unk10 = a4; - CreateLoopedTask(LoopedTask_sub_81C83F0, 5); -} - -bool32 sub_81C83E0(void) -{ - return FuncIsActiveLoopedTask(LoopedTask_sub_81C83F0); -} - -u32 LoopedTask_sub_81C83F0(s32 a0) -{ - struct UnknownInnerStruct_81C81D4 *structPtr; - u32 v1; - - structPtr = &((struct UnknownSubStruct_81C81D4*)GetSubstructPtr(0x11))->unk0; - switch (a0) - { - case 0: - v1 = (structPtr->unk0.unkA + structPtr->unk0.unkC + structPtr->unk10) & 0xF; - structPtr->unk34(structPtr->unk1C, structPtr->unkTextBuffer); - if (structPtr->unk38 != NULL) - // Accessing unk0.windowId as if it were a u16...? - // It's accessed as a u8 again in the very next line... - structPtr->unk38(*(u16*)(&structPtr->unk0.windowId), structPtr->unk14, v1); - - AddTextPrinterParameterized(structPtr->unk0.windowId, structPtr->unk0.fontId, structPtr->unkTextBuffer, 8, (v1 << 4) + 1, 255, NULL); - - if (++structPtr->unk0.unkC >= structPtr->unk0.unkE) - { - if (structPtr->unk38 != NULL) - CopyWindowToVram(structPtr->unk0.windowId, 3); - else - CopyWindowToVram(structPtr->unk0.windowId, 2); - return 0; - } - else - { - structPtr->unk1C += structPtr->unk18; - structPtr->unk14++; - return 3; - } - case 1: - if (IsDma3ManagerBusyWithBgCopy()) - return 2; - else - return 4; - default: - return 4; - } -} - -bool32 ShouldShowUpArrow(void) -{ - u16 v1; - s32 v2; - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - - return structPtr->unk888.windowTopIndex != 0; -} - -bool32 ShouldShowDownArrow(void) -{ - struct MatchCallWindowState *subPtr; - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - subPtr = &structPtr->unk888; - - return subPtr->windowTopIndex + subPtr->visibleEntries < subPtr->listLength; -} - - -#ifdef NONMATCHING -// This has some register renaming issues (r4, r5, and r6 are all switched around), and -// for some reason it's creating two copies of subPtr->unk0. -// TODO: Now I know why it's making two copies - one of them is UnknownInnerStruct_81C81D4. -void MatchCall_MoveWindow(s32 a0, bool32 a1) -{ - s32 v1; - struct MatchCallWindowState *subPtr; - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - subPtr = &structPtr->unk888; - - if (a0 < 0) - { - // This is where the issue is. subPtr->windowTopIndex is being stored in r1 and then copied to - // r2... and then r2 is read for the if statement, r1 is read for the function call, - // and then both are clobbered as expected. Between those two uses, no writes to r1/r2 - // happen; it doesn't need to be duplicated/moved at all. - if (subPtr->windowTopIndex + a0 < 0) - v1 = -1 * subPtr->windowTopIndex; - else - v1 = a0; - if (a1) - sub_81C83AC(subPtr->unk10, subPtr->windowTopIndex + v1, v1 * -1, subPtr->unkC, v1, structPtr); - } - else if (a1) - { - - gUnknown_0203CF44 = subPtr->windowTopIndex + subPtr->visibleEntries; - if ((s32)(gUnknown_0203CF44) + a0 >= (s32)subPtr->listLength) - v1 = subPtr->listLength - gUnknown_0203CF44; - else - v1 = a0; - - sub_81C83AC(subPtr->unk10, gUnknown_0203CF44, v1, subPtr->unkC, subPtr->visibleEntries, structPtr); - // Needed to prevent GCC from combining the two sub_81C83AC calls. - asm(""); - } - else - { - v1 = a0; - } - - sub_81C8568(v1, structPtr); - subPtr->windowTopIndex++; -} -#else -NAKED -void MatchCall_MoveWindow(s32 a0, bool32 a1) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - sub sp, 0x8\n\ - adds r6, r0, 0\n\ - adds r4, r1, 0\n\ - movs r0, 0x11\n\ - bl GetSubstructPtr\n\ - adds r7, r0, 0\n\ - ldr r0, =0x00000888\n\ - adds r5, r7, r0\n\ - cmp r6, 0\n\ - bge _081C8524\n\ - ldrh r1, [r5]\n\ - adds r0, r1, r6\n\ - cmp r0, 0\n\ - bge _081C850A\n\ - negs r6, r1\n\ -_081C850A:\n\ - cmp r4, 0\n\ - beq _081C854E\n\ - ldr r0, [r5, 0x10]\n\ - adds r1, r6\n\ - negs r2, r6\n\ - ldr r3, [r5, 0xC]\n\ - str r6, [sp]\n\ - str r7, [sp, 0x4]\n\ - bl sub_81C83AC\n\ - b _081C854E\n\ - .pool\n\ -_081C8524:\n\ - cmp r4, 0\n\ - beq _081C854E\n\ - ldr r2, =gUnknown_0203CF44\n\ - ldrh r1, [r5]\n\ - ldrh r0, [r5, 0x8]\n\ - adds r4, r1, r0\n\ - str r4, [r2]\n\ - adds r0, r4, r6\n\ - ldrh r1, [r5, 0x2]\n\ - cmp r0, r1\n\ - blt _081C853C\n\ - subs r6, r1, r4\n\ -_081C853C:\n\ - ldr r0, [r5, 0x10]\n\ - ldr r3, [r5, 0xC]\n\ - ldrh r1, [r5, 0x8]\n\ - str r1, [sp]\n\ - str r7, [sp, 0x4]\n\ - adds r1, r4, 0\n\ - adds r2, r6, 0\n\ - bl sub_81C83AC\n\ -_081C854E:\n\ - adds r0, r6, 0\n\ - adds r1, r7, 0\n\ - bl sub_81C8568\n\ - ldrh r0, [r5]\n\ - adds r0, r6\n\ - strh r0, [r5]\n\ - add sp, 0x8\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} -#endif - -void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1) -{ - a1->unk20 = GetBgY(a1->unk0.bg); - a1->unk24 = a1->unk20 + (a0 << 12); - if (a0 > 0) - a1->unk30 = 1; - else - a1->unk30 = 2; - a1->unk2C = a0; - a1->unk28 = CreateLoopedTask(LoopedTask_sub_81C85A0, 6); -} - -u32 LoopedTask_sub_81C85A0(s32 a0) -{ - s32 y; - s32 v1; - bool32 flag; - struct UnknownInnerStruct_81C81D4 *structPtr; - structPtr = &((struct UnknownSubStruct_81C81D4 *)GetSubstructPtr(0x11))->unk0; - - switch (a0) - { - case 0: - if (sub_81C83E0() == FALSE) - return 1; - else - return 2; - case 1: - flag = FALSE; - y = GetBgY(structPtr->unk0.bg); - v1 = ChangeBgY(structPtr->unk0.bg, 0x1000, structPtr->unk30); - if (structPtr->unk30 == 2) - { - if ((y > structPtr->unk24 || y <= structPtr->unk20) && v1 <= structPtr->unk24) - { - flag = TRUE; - } - } - else - { - if ((y < structPtr->unk24 || y >= structPtr->unk20) && v1 >= structPtr->unk24) - { - flag = TRUE; - } - } - if (flag) - { - structPtr->unk0.unkA = (structPtr->unk0.unkA + structPtr->unk2C) & 0xF; - ChangeBgY(structPtr->unk0.bg, structPtr->unk24, 0); - return 4; - } - else - { - return 2; - } - default: - return 4; - } -} - -bool32 sub_81C8630(void) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - return IsLoopedTaskActive(structPtr->unk0.unk28); -} - -struct MatchCallWindowState *GetMatchCallWindowStruct(void) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - return &structPtr->unk888; -} - -u32 MatchCall_MoveCursorUp(void) -{ - struct MatchCallWindowState *structPtr; - structPtr = GetMatchCallWindowStruct(); - - if (structPtr->selectedIndexOffset != 0) - { - structPtr->selectedIndexOffset--; - return 1; - } - else - { - if (ShouldShowUpArrow()) - { - MatchCall_MoveWindow(-1, TRUE); - return 2; - } - else - { - return 0; - } - } -} - -u32 MatchCall_MoveCursorDown(void) -{ - struct MatchCallWindowState *structPtr; - structPtr = GetMatchCallWindowStruct(); - - if (structPtr->windowTopIndex + structPtr->selectedIndexOffset < structPtr->listLength - 1) - { - if (structPtr->selectedIndexOffset < structPtr->visibleEntries - 1) - { - structPtr->selectedIndexOffset++; - return 1; - } - else if (!ShouldShowDownArrow()) - { - return 0; - } - } - else - { - return 0; - } - MatchCall_MoveWindow(1, TRUE); - return 2; -} - -u32 MatchCall_PageUp(void) -{ - struct MatchCallWindowState *structPtr; - s32 scroll; - - structPtr = GetMatchCallWindowStruct(); - if (ShouldShowUpArrow()) - { - if (structPtr->windowTopIndex >= structPtr->visibleEntries) - scroll = structPtr->visibleEntries; - else - scroll = structPtr->windowTopIndex; - MatchCall_MoveWindow(scroll * -1, TRUE); - return 2; - } - else if (structPtr->selectedIndexOffset != 0) - { - structPtr->selectedIndexOffset = 0; - return 1; - } - else - { - return 0; - } -} - -u32 MatchCall_PageDown(void) -{ - struct MatchCallWindowState *structPtr; - structPtr = GetMatchCallWindowStruct(); - - if (ShouldShowDownArrow()) - { - s32 scroll; - s32 windowBottomIndex; - s32 v3; - windowBottomIndex = structPtr->windowTopIndex + structPtr->visibleEntries; - scroll = structPtr->unk4 - structPtr->windowTopIndex; - if (windowBottomIndex <= structPtr->unk4) - scroll = structPtr->visibleEntries; - MatchCall_MoveWindow(scroll, TRUE); - return 2; - } - else - { - s32 cursor; - s32 lastVisibleIndex; - if (structPtr->listLength >= structPtr->visibleEntries) - { - cursor = structPtr->selectedIndexOffset; - lastVisibleIndex = structPtr->visibleEntries; - } - else - { - cursor = structPtr->selectedIndexOffset; - lastVisibleIndex = structPtr->listLength; - } - lastVisibleIndex -= 1; - if (cursor >= lastVisibleIndex) - { - return 0; - } - else - { - structPtr->selectedIndexOffset = lastVisibleIndex; - return 1; - } - } -} - -u32 GetSelectedMatchCall(void) -{ - struct MatchCallWindowState *structPtr; - structPtr = GetMatchCallWindowStruct(); - - return structPtr->windowTopIndex + structPtr->selectedIndexOffset; -} - -u32 GetMatchCallListTopIndex(void) -{ - struct MatchCallWindowState *structPtr; - structPtr = GetMatchCallWindowStruct(); - - return structPtr->windowTopIndex; -} - -void sub_81C877C(void) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - structPtr->unk89C = 0; - structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8870, 6); -} - -void sub_81C87AC(u16 a0) -{ - u16 temp; - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - temp = structPtr->unk888.windowTopIndex; - temp += a0; - structPtr->unk888.windowTopIndex = temp; - structPtr->unk89C = 0; - structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8958, 6); -} - -void sub_81C87F0(void) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - structPtr->unk89C = 0; - structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8A28, 6); -} - -bool32 sub_81C8820(void) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - return IsLoopedTaskActive(structPtr->unk8A0); -} - -void sub_81C8838(void) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - struct MatchCallWindowState *subStr; - structPtr = GetSubstructPtr(0x11); - subStr = &structPtr->unk888; - structPtr->unk0.unk38(structPtr->unk0.unk0.windowId, subStr->windowTopIndex + subStr->selectedIndexOffset, (structPtr->unk0.unk0.unkA + subStr->selectedIndexOffset) & 0xF); - CopyWindowToVram(structPtr->unk0.unk0.windowId, 1); -} - -u32 LoopedTask_sub_81C8870(s32 a0) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - u16 v1; - u32 v2; - - // Needed to fix a register renaming issue. - register u16* temp asm("r1"); - structPtr = GetSubstructPtr(0x11); - - switch (a0) - { - case 0: - ToggleMatchCallArrows(&structPtr->unk0, 1); - // fall-through - case 1: - if (structPtr->unk89C != structPtr->unk888.selectedIndexOffset) - sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, 1); - - structPtr->unk89C++; - return 0; - case 2: - if (IsDma3ManagerBusyWithBgCopy()) - return 2; - - if (structPtr->unk89C != structPtr->unk888.visibleEntries) - return 6; - - if (structPtr->unk888.selectedIndexOffset != 0) - sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, structPtr->unk888.selectedIndexOffset); - - return 0; - case 3: - if (IsDma3ManagerBusyWithBgCopy()) - return 2; - temp = &structPtr->unk888.selectedIndexOffset; - v1 = *temp; - if (v1 == 0) - return 4; - - MatchCall_MoveWindow(v1, FALSE); - return 0; - case 4: - v2 = sub_81C8630(); - if (v2) - return 2; - - structPtr->unk888.selectedIndexOffset = v2; - return 4; - default: - return 4; - } -} - -u32 LoopedTask_sub_81C8958(s32 a0) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - if (IsDma3ManagerBusyWithBgCopy()) - return 2; - - switch (a0) - { - case 0: - sub_81C8CB4(&structPtr->unk888, &structPtr->unk0); - break; - case 1: - PrintMatchCallFieldNames(&structPtr->unk0, 0); - break; - case 2: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0); - break; - case 3: - PrintMatchCallFieldNames(&structPtr->unk0, 1); - break; - case 4: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1); - break; - case 5: - PrintMatchCallFieldNames(&structPtr->unk0, 2); - break; - case 6: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2); - break; - case 7: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3); - break; - default: - return 4; - } - return 0; -} - -u32 LoopedTask_sub_81C8A28(s32 a0) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - struct MatchCallWindowState *subPtr888; - register struct UnknownInnerStruct_81C81D4 *subPtr0 asm("r2"); - s32 v4; - - if (IsDma3ManagerBusyWithBgCopy()) - { - return 2; - } - - structPtr = GetSubstructPtr(0x11); - subPtr888 = &structPtr->unk888; - subPtr0 = &structPtr->unk0; - - switch (a0) - { - default: - return 4; - case 0: - sub_81C8D4C(subPtr888, subPtr0); - return 0; - case 1: - { - s32 v1; - s32 v2; - u32 *v3; - register s32 v4 asm("r5"); - - v3 = &structPtr->unk89C; - v1 = *v3 + 1; - *v3 = v1; - if (v1 < structPtr->unk888.visibleEntries) - { - sub_81C8B70(&subPtr0->unk0, v1, 1); - return 2; - } - - *v3 = 0; - if (subPtr888->listLength <= subPtr888->visibleEntries) - { - register u32 temp asm("r0"); - temp = subPtr888->windowTopIndex; - if (temp == 0) - return 9; - v2 = temp; - } - else - { - register s32 temp asm("r1"); - v2 = subPtr888->windowTopIndex + subPtr888->visibleEntries; - temp = (s32)subPtr888->listLength; - if (v2 <= temp) - return 9; - v2 -= temp; - } - v4 = v2 * -1; - sub_81C8B70(&subPtr0->unk0, v4, v2); - subPtr888->selectedIndexOffset = v2; - *v3 = v4; - return 0; - } - case 2: - MatchCall_MoveWindow(structPtr->unk89C, FALSE); - return 0; - case 3: - if (sub_81C8630()) - return 2; - - structPtr->unk89C = 0; - return 1; - case 4: - sub_81C83AC(subPtr888->unk10, subPtr888->windowTopIndex + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, &structPtr->unk0); - return 0; - case 5: - if (sub_81C83E0()) - return 2; - - v4 = ++structPtr->unk89C; - if (v4 >= subPtr888->listLength || v4 >= subPtr888->visibleEntries) - return 1; - return 9; - case 6: - ToggleMatchCallArrows(subPtr0, 0); - return 4; - } -} - -void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2) -{ - u8 *v1; - u32 v2; - - v1 = (u8*)GetWindowAttribute(a0->windowId, WINDOW_TILE_DATA); - v2 = a0->unk4 * 64; - - a1 = (a0->unkA + a1) & 0xF; - if ((s32)(a1 + a2) <= 16) - { - CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, a2 * v2); - CopyWindowToVram(a0->windowId, 2); - } - else - { - u32 v3; - u32 v4; - - v3 = 16 - a1; - v4 = a2 - v3; - - CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, v3 * v2); - CpuFastFill8(PIXEL_FILL(1), v1, v4 * v2); - CopyWindowToVram(a0->windowId, 2); - } - - a2 -= 1; - for (a2; a2 != -1; a1 = (a1 + 1) & 0xF, a2--) - { - sub_81CBD48(a0->windowId, a1); - } - - CopyWindowToVram(a0->windowId, 1); -} - -void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) -{ - u16 *v1; - register u32 v2 asm("r0"); - u32 v3; - - v1 = (u16*)GetBgTilemapBuffer(GetWindowAttribute(a0->windowId, WINDOW_BG)); - - v1 = &v1[(a0->unkA << 6) + a0->unk2 - 1]; - - if (a1 != 0) - { - v2 = a0->unk1 << 12; - v3 = a0->unk6 + 1; - } - else - { - v2 = a0->unk1 << 12; - v3 = a0->unk6; - } - { - register u16 v5 asm("r1"); - register u32 v6 asm("r0"); - v6 = (v3 | v2); - v6 = v6 << 16; - v5 = v6 >> 16; - v1[0] = v5; - v1[0x20] = v5; - } -} - -void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) -{ - u8 colors[3]; - - - memcpy(colors, sPokenavColors_0861FBE4, ARRAY_COUNT(sPokenavColors_0861FBE4)); - - a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); - a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA); - FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(4), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); - AddTextPrinterParameterized3(a1->unk0.windowId, a1->unk0.fontId, 8, (a1->unk0.unkA * 16) + 1, colors, TEXT_SPEED_FF, a1->unkTextBuffer); - sub_81C8C64(&a1->unk0, 1); - CopyWindowRectToVram(a1->unk0.windowId, 3, 0, a1->unk0.unkA * 2, a1->unk0.unk4, 2); -} - -void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) -{ - a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); - FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(1), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); - AddTextPrinterParameterized(a1->unk0.windowId, a1->unk0.fontId, a1->unkTextBuffer, 8, a1->unk0.unkA * 16 + 1, TEXT_SPEED_FF, NULL); - sub_81C8C64(&a1->unk0, 0); - CopyWindowToVram(a1->unk0.windowId, 3); -} - -void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 fieldId) -{ - const u8 *fieldNames[3]; - u8 colors[3]; - u32 r4; - u32 r5; - u32 tmp; - u32 one; - - memcpy(fieldNames, sMatchCallFieldNames, sizeof(sMatchCallFieldNames)); - memcpy(colors, sMatchCallFieldColors, sizeof(sMatchCallFieldColors)); - - r4 = a0->unk0.unkA; - tmp = fieldId * 2 + 1; - r4 += tmp; - r4 &= 0xF; - FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, r4 << 4, a0->unk0.unk4, 16); - - // This is a fake match. It should be this: - // AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, r4 << 4 + 1, colors, TEXT_SPEED_FF, fieldNames[fieldId]); - // But the original GCC does some clever reuse of the `1` constant that the current GCC doesn't. - one = 1; - AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, (r4 << 4) + one, colors, one - 2, fieldNames[fieldId]); - CopyWindowRectToVram(a0->unk0.windowId, 2, 0, r4 << 1, a0->unk0.unk4, 2); -} - -void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2) -{ - const u8 *str; - u32 r6; - - r6 = (a1->unk0.unkA + sUnknown_0861FBF7[a2]) & 0xF; - - str = sub_81CAFD8(a0->windowTopIndex, a2); - if (str != NULL) { - sub_81DB620(a1->unk0.windowId, 1, r6 * 2, a1->unk0.unk4 - 1, 2); - AddTextPrinterParameterized(a1->unk0.windowId, 7, str, 2, (r6 << 4) + 1, TEXT_SPEED_FF, NULL); - CopyWindowRectToVram(a1->unk0.windowId, 2, 0, r6 * 2, a1->unk0.unk4, 2); - } -} - -void sub_81C8ED0(void) -{ - u32 i; - const struct CompressedSpriteSheet *ptr; - - for (i = 0, ptr = sMatchcallArrowSpriteSheet; i < ARRAY_COUNT(sMatchcallArrowSpriteSheet); ptr++, i++) - { - LoadCompressedSpriteSheet(ptr); - } - Pokenav_AllocAndLoadPalettes(sMatchcallArrowPalette); -} - -void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) -{ - register u32 spriteId asm("r3"); - s16 temp; - - spriteId = (u8)CreateSprite(&sMatchCallRightArrowSprite, a1->unk0.unk2 * 8 + 3, (a1->unk0.unk3 + 1) * 8, 7); - a1->rightArrow = &gSprites[spriteId]; - - temp = a1->unk0.unk2 * 8 + (a1->unk0.unk4 - 1) * 4; - spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8 + a0->visibleEntries * 16, 7); - a1->downArrow = &gSprites[spriteId]; - a1->downArrow->oam.tileNum += 2; - a1->downArrow->callback = SpriteCB_MatchCallDownArrow; - - spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8, 7); - a1->upArrow = &gSprites[spriteId]; - a1->upArrow->oam.tileNum += 4; - a1->upArrow->callback = SpriteCB_MatchCallUpArrow; -} - -void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0) -{ - DestroySprite(a0->rightArrow); - DestroySprite(a0->upArrow); - DestroySprite(a0->downArrow); - FreeSpriteTilesByTag(0xA); - FreeSpritePaletteByTag(0x14); -} - -void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, bool32 shouldHide) -{ - if (shouldHide) - { - a0->rightArrow->callback = SpriteCallbackDummy; - a0->upArrow->callback = SpriteCallbackDummy; - a0->downArrow->callback = SpriteCallbackDummy; - } - else - { - a0->rightArrow->callback = SpriteCB_MatchCallRightArrow; - a0->upArrow->callback = SpriteCB_MatchCallUpArrow; - a0->downArrow->callback = SpriteCB_MatchCallDownArrow; - } - a0->rightArrow->invisible = shouldHide; - a0->upArrow->invisible = shouldHide; - a0->downArrow->invisible = shouldHide; -} - -void SpriteCB_MatchCallRightArrow(struct Sprite *sprite) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - sprite->pos2.y = structPtr->unk888.selectedIndexOffset << 4; -} - -void SpriteCB_MatchCallDownArrow(struct Sprite *sprite) -{ - if (sprite->data[7] == 0 && ShouldShowDownArrow()) - sprite->invisible = FALSE; - else - sprite->invisible = TRUE; - - if (++sprite->data[0] > 3) - { - s16 offset; - - sprite->data[0] = 0; - offset = (sprite->data[1] + 1) & 7; - sprite->data[1] = offset; - sprite->pos2.y = offset; - } -} - -void SpriteCB_MatchCallUpArrow(struct Sprite *sprite) -{ - if (sprite->data[7] == 0 && ShouldShowUpArrow()) - sprite->invisible = FALSE; - else - sprite->invisible = TRUE; - - if (++sprite->data[0] > 3) - { - s16 offset; - - sprite->data[0] = 0; - offset = (sprite->data[1] + 1) & 7; - sprite->data[1] = offset; - sprite->pos2.y = -1 * offset; - } -} - -void ToggleMatchCallVerticalArrows(bool32 shouldHide) -{ - struct UnknownSubStruct_81C81D4 *structPtr; - structPtr = GetSubstructPtr(0x11); - structPtr->unk0.upArrow->data[7] = shouldHide; - structPtr->unk0.downArrow->data[7] = shouldHide; -} - -void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1) -{ - u32 unused1 = a0->unk10 = a1->unk0; - u32 v0 = a1->unk6; - u32 zero = 0; - u32 unused2 = a0->windowTopIndex = v0; - u32 v1 = a0->listLength = a1->unk4; - - a0->unkC = a1->unk8; - a0->visibleEntries = a1->unkC; - if (a0->visibleEntries >= (u16)v1) - { - a0->windowTopIndex = 0; - a0->unk4 = 0; - a0->selectedIndexOffset = v0; - } - else - { - s32 v2; - a0->unk4 = a0->listLength - a0->visibleEntries; - v2 = a0->windowTopIndex + a0->visibleEntries; - if (v2 > a0->listLength) { - a0->selectedIndexOffset = v2 - a0->listLength; - a0->windowTopIndex = v0 - a0->selectedIndexOffset; - } - else - { - a0->selectedIndexOffset = 0; - } - } -} - -u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3) -{ - register u32 raw_bg asm("r4") = ((a1->bg) << 30); - u8 bg = raw_bg >> 30; - u32 unknown = 0; - struct WindowTemplate window; - u8 bg_again; - - a0->unk0.bg = bg; - a0->unk0.unk6 = a3; - a0->unk34 = a2->unk10; - a0->unk38 = a2->unk14; - a0->unk0.unk1 = a2->unkD; - a0->unk0.unk2 = a2->unk9; - a0->unk0.unk3 = a2->unkB; - a0->unk0.unk4 = a2->unkA; - a0->unk0.fontId = a2->unkE; - - window.bg = raw_bg >> 30; - window.tilemapLeft = a2->unk9; - window.tilemapTop = 0; - window.width = a2->unkA; - window.height = 32; - window.paletteNum = a2->unkD; - window.baseBlock = a3 + 2; - - a0->unk0.windowId = AddWindow(&window); - if (a0->unk0.windowId == 0xFF) - { - return 0; - } - else - { - a0->unk0.unkA = unknown; - a0->rightArrow = NULL; - a0->upArrow = NULL; - a0->downArrow = NULL; - return 1; - } -} \ No newline at end of file diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c new file mode 100644 index 0000000000..a7ea1b7dc6 --- /dev/null +++ b/src/pokenav_main_menu.c @@ -0,0 +1,990 @@ +#include "global.h" +#include "pokenav.h" +#include "constants/songs.h" +#include "sound.h" +#include "constants/rgb.h" +#include "palette.h" +#include "bg.h" +#include "window.h" +#include "strings.h" +#include "graphics.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "menu.h" +#include "dma3.h" + +enum +{ + NAVGEAR_GFX_MAIN_MENU, + NAVGEAR_GFX_CONDITION_MENU, + NAVGEAR_GFX_RIBBONS_MENU, + NAVGEAR_GFX_MATCH_CALL_MENU, + + // One of these is for the zoomed-in map, and the other is for the + // zoomed-out map. Don't know which is which yet. + NAVGEAR_GFX_MAP_MENU_UNK0, + NAVGEAR_GFX_MAP_MENU_UNK1, + + NAVGEAR_GFX_PARTY_MENU, + NAVGEAR_GFX_SEARCH_MENU, + NAVGEAR_GFX_COOL_MENU, + NAVGEAR_GFX_BEAUTY_MENU, + NAVGEAR_GFX_CUTE_MENU, + NAVGEAR_GFX_SMART_MENU, + NAVGEAR_GFX_TOUGH_MENU, + + NAVGEAR_GFX_MENUS_END +}; + +#define NAVGEAR_GFX_SUBMENUS_START NAVGEAR_GFX_PARTY_MENU + +struct PokenavMainMenuResources +{ + void (*unk0)(u32); + u32 (*unk4)(void); + u32 unk8; + u32 currentTaskId; + u32 unk10; + u32 unk14; + struct Sprite *spinningNavgear; + struct Sprite *leftHeaderSprites[2]; + struct Sprite *submenuLeftHeaderSprites[2]; + u8 tilemapBuffer[0x800]; +}; + +// This struct uses a 32bit tag, and doesn't have a size field. +// Needed to match LoadLeftHeaderGfxForSubMenu. +struct CompressedSpriteSheetNoSize +{ + const u32 *data; // LZ77 compressed palette data + u32 tag; +}; + +extern void sub_81CAADC(void); +void CleanupPokenavMainMenuResources(void); +void LoadLeftHeaderGfxForSubMenu(u32 arg0); +void LoadLeftHeaderGfxForMenu(u32 arg0); +void HideLeftHeaderSubmenuSprites(bool32 arg0); +void HideLeftHeaderSprites(bool32 arg0); +void ShowLeftHeaderSprites(u32 arg0, bool32 arg1); +void ShowLeftHeaderSubmenuSprites(u32 arg0, bool32 arg1); +void MoveLeftHeader(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3); +void SpriteCB_MoveLeftHeader(struct Sprite *sprite); +void InitPokenavMainMenuResources(void); +void InitHoenMapHeaderSprites(void); +void sub_81C7B74(void); +void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 a1, u32 a2); +u32 LoopedTask_ScrollMenuHeaderDown(s32 a0); +u32 LoopedTask_ScrollMenuHeaderUp(s32 a0); +void sub_81C7BF8(u32 a0); + + +void SpriteCB_SpinningNavgear(struct Sprite* sprite); +u32 LoopedTask_InitPokenavMenu(s32 a0); + +const u16 gSpinningNavgearPaletteData[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); +const u32 gSpinningNavgearGfx[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); +const u32 gUnused_SpinningNavgearGfx2[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); + +const struct BgTemplate gPokenavMainMenuBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + } +}; + +const struct WindowTemplate gUnknown_0861FA08[2] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 22, + .width = 16, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x36, + }, + { + .bg = 0xFF, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 0, + .height = 0, + .paletteNum = 0, + .baseBlock = 0, + }, +}; + +const u8 *const (sMenuButtonReminders[12]) = +{ + gText_Navgear_ClearButtonList, + gText_NavgearMap_ZoomedOutButtons, + gText_NavgearMap_ZoomedInButtons, + gText_NavgearCondition_MonListButtons, + gText_NavgearCondition_MonStatusButtons, + gText_NavgearCondition_MarkingButtons, + gText_NavgearMatchCall_TrainerListButtons, + gText_NavgearMatchCall_CallMenuButtons, + gText_NavgearMatchCall_CheckTrainerButtons, + gText_NavgearRibbons_MonListButtons, + gText_NavgearRibbons_RibbonListButtons, + gText_NavgearRibbons_RibbonCheckButtons, +}; + +const u8 gMenuButtonReminderColor[4] = +{ + 4, 1, 2, 0 +}; + +static const struct CompressedSpriteSheet gSpinningNavgearSpriteSheet[] = +{ + { + .data = gSpinningNavgearGfx, + .size = 0x1000, + .tag = 0, + } +}; + +static const struct SpritePalette gSpinningNavgearPalette[] = +{ + { + .data = gSpinningNavgearPaletteData, + .tag = 0, + }, + {} +}; + +static const struct CompressedSpriteSheet sPokenavHoenMapLeftHeaderSpriteSheet = +{ + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0xC00, + .tag = 2 +}; + +static const struct CompressedSpriteSheet sPokenavMenuLeftHeaderSpriteSheets[] = +{ + [NAVGEAR_GFX_MAIN_MENU] = { + .data = gPokenavLeftHeaderMainMenu_Gfx, + .size = 0x20, + .tag = 3 + }, + [NAVGEAR_GFX_CONDITION_MENU] = { + .data = gPokenavLeftHeaderCondition_Gfx, + .size = 0x20, + .tag = 1 + }, + [NAVGEAR_GFX_RIBBONS_MENU] = { + .data = gPokenavLeftHeaderRibbons_Gfx, + .size = 0x20, + .tag = 2 + }, + [NAVGEAR_GFX_MATCH_CALL_MENU] = { + .data = gPokenavLeftHeaderMatchCall_Gfx, + .size = 0x20, + .tag = 4 + }, + [NAVGEAR_GFX_MAP_MENU_UNK0] = { + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0x20, + .tag = 0 + }, + [NAVGEAR_GFX_MAP_MENU_UNK1] = { + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0x40, + .tag = 0 + } +}; + +static const struct CompressedSpriteSheetNoSize sPokenavSubMenuLeftHeaderSpriteSheets[] = +{ + [NAVGEAR_GFX_PARTY_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderParty_Gfx, + .tag = 1 + }, + [NAVGEAR_GFX_SEARCH_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderSearch_Gfx, + .tag = 1 + }, + [NAVGEAR_GFX_COOL_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderCool_Gfx, + .tag = 4 + }, + [NAVGEAR_GFX_BEAUTY_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderBeauty_Gfx, + .tag = 1 + }, + [NAVGEAR_GFX_CUTE_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderCute_Gfx, + .tag = 2 + }, + [NAVGEAR_GFX_SMART_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderSmart_Gfx, + .tag = 0 + }, + [NAVGEAR_GFX_TOUGH_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderTough_Gfx, + .tag = 0 + } +}; + +static const struct OamData sSpinningNavgearSpriteOam = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, // FIXME: Use SPRITE_SHAPE + .x = 0, + .matrixNum = 0, + .size = 2, // FIXME: Use SPRITE_SIZE + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpinningNavgearAnims[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(48, 8), + ANIMCMD_FRAME(64, 8), + ANIMCMD_FRAME(80, 8), + ANIMCMD_FRAME(96, 8), + ANIMCMD_FRAME(112, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpinningNavgearAnimTable[] = +{ + sSpinningNavgearAnims +}; + +static const struct SpriteTemplate sSpinningNavgearSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sSpinningNavgearSpriteOam, + .anims = sSpinningNavgearAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_SpinningNavgear +}; + +static const struct OamData sPokenavLeftHeaderHoenMapSpriteOam = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sUnknown_0861FB24 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct SpriteTemplate sPokenavLeftHeaderHoenMapSpriteTemplate = +{ + .tileTag = 2, + .paletteTag = 1, + .oam = &sPokenavLeftHeaderHoenMapSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate sUnknown_0861FB44 = +{ + .tileTag = 2, + .paletteTag = 2, + .oam = &sUnknown_0861FB24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +bool32 InitPokenavMainMenu(void) +{ + struct PokenavMainMenuResources *structPtr; + + structPtr = AllocSubstruct(0, sizeof(struct PokenavMainMenuResources)); + if (structPtr == NULL) + return FALSE; + + ResetSpriteData(); + FreeAllSpritePalettes(); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_InitPokenavMenu, 1); + return TRUE; +} + +u32 PokenavMainMenuLoopedTaskIsActive(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return IsLoopedTaskActive(structPtr->currentTaskId); +} + +void ShutdownPokenav(void) +{ + PlaySE(SE_PN_OFF); + sub_81CAADC(); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); +} + +bool32 WaitForPokenavShutdownFade(void) +{ + if (!gPaletteFade.active) + { + sub_81C99D4(); + CleanupPokenavMainMenuResources(); + FreeAllWindowBuffers(); + return FALSE; + } + + return TRUE; +} + +u32 LoopedTask_InitPokenavMenu(s32 a0) +{ + struct PokenavMainMenuResources *structPtr; + + switch (a0) + { + case 0: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + FreeAllWindowBuffers(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gPokenavMainMenuBgTemplates, ARRAY_COUNT(gPokenavMainMenuBgTemplates)); + ResetBgPositions(); + reset_temp_tile_data_buffers(); + return LT_INC_AND_CONTINUE; + case 1: + structPtr = GetSubstructPtr(0); + decompress_and_copy_tile_data_to_vram(0, &gPokenavHeader_Gfx, 0, 0, 0); + SetBgTilemapBuffer(0, structPtr->tilemapBuffer); + CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); + CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, 0, 0x20); + CopyBgTilemapBufferToVram(0); + return LT_INC_AND_PAUSE; + case 2: + if (free_temp_tile_data_buffers_if_possible()) + return LT_PAUSE; + + sub_81C7B74(); + return LT_INC_AND_PAUSE; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return LT_PAUSE; + + InitPokenavMainMenuResources(); + InitHoenMapHeaderSprites(); + ShowBg(0); + return LT_FINISH; + default: + return LT_FINISH; + } +} + +void sub_81C7834(void *func1, void *func2) // Fix types later. +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->unk0 = func1; + structPtr->unk4 = func2; + structPtr->unk8 = 0; +} + +void sub_81C7850(u32 a0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->unk8 = 0; + structPtr->unk0(a0); +} + +u32 sub_81C786C(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return structPtr->unk4(); +} + +void sub_81C7880(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderDown, 4); +} + +void sub_81C78A0(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderUp, 4); +} + +bool32 MainMenuLoopedTaskIsBusy(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return IsLoopedTaskActive(structPtr->currentTaskId); +} + +u32 LoopedTask_ScrollMenuHeaderDown(s32 a0) +{ + switch (a0) + { + default: + return LT_FINISH; + case 1: + return LT_INC_AND_PAUSE; + case 0: + return LT_INC_AND_PAUSE; + case 2: + if (ChangeBgY(0, 384, 1) >= 0x2000u) + { + ChangeBgY(0, 0x2000, 0); + return LT_FINISH; + } + + return LT_PAUSE; + } +} + +u32 LoopedTask_ScrollMenuHeaderUp(s32 a0) +{ + if (ChangeBgY(0, 384, 2) <= 0) + { + ChangeBgY(0, 0, 0); + return 4; + } + return 2; +} + +void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size) +{ + CpuCopy16(palette, gPlttBufferUnfaded + bufferOffset, size); +} + +void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes) +{ + const struct SpritePalette *current; + u32 index; + + for (current = palettes; current->data != NULL; current++) + { + index = AllocSpritePalette(current->tag); + if (index == 0xFF) + { + break; + } + else + { + index = (index * 16) + 0x100; + CopyPaletteIntoBufferUnfaded(current->data, index, 0x20); + } + } +} + +void sub_81C7990(u32 a0, u16 a1) +{ + CpuFill16(a1, gPlttBufferFaded + 0x100 + (a0 * 16), 16 * sizeof(u16)); +} + +__attribute__((naked)) +void sub_81C79BC(u16 *a0, u16 *a1, u32 a2, u32 a3, u32 a4, u32 a5) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0xC\n\ + str r0, [sp]\n\ + str r1, [sp, 0x4]\n\ + mov r10, r2\n\ + str r3, [sp, 0x8]\n\ + ldr r0, [sp, 0x2C]\n\ + cmp r0, 0\n\ + bne _081C79E4\n\ + ldr r2, =0x001fffff\n\ + mov r1, r10\n\ + ands r2, r1\n\ + ldr r0, [sp]\n\ + b _081C79F4\n\ + .pool\n\ +_081C79E4:\n\ + ldr r2, [sp, 0x2C]\n\ + ldr r0, [sp, 0x8]\n\ + cmp r2, r0\n\ + blt _081C7A00\n\ + ldr r2, =0x001fffff\n\ + mov r1, r10\n\ + ands r2, r1\n\ + ldr r0, [sp, 0x4]\n\ +_081C79F4:\n\ + ldr r1, [sp, 0x30]\n\ + bl CpuSet\n\ + b _081C7AAE\n\ + .pool\n\ +_081C7A00:\n\ + movs r2, 0x1\n\ + negs r2, r2\n\ + add r10, r2\n\ + b _081C7AA6\n\ +_081C7A08:\n\ + ldr r1, [sp]\n\ + ldrh r0, [r1]\n\ + movs r2, 0x1F\n\ + mov r9, r2\n\ + mov r1, r9\n\ + ands r1, r0\n\ + mov r9, r1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 21\n\ + movs r1, 0x1F\n\ + ands r1, r2\n\ + mov r8, r1\n\ + lsrs r7, r0, 26\n\ + movs r2, 0x1F\n\ + ands r7, r2\n\ + ldr r0, [sp, 0x4]\n\ + ldrh r4, [r0]\n\ + movs r0, 0x1F\n\ + ands r0, r4\n\ + mov r1, r9\n\ + subs r0, r1\n\ + lsls r0, 8\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r2, [sp, 0x2C]\n\ + adds r6, r0, 0\n\ + muls r6, r2\n\ + asrs r6, 8\n\ + lsls r4, 16\n\ + lsrs r0, r4, 21\n\ + movs r1, 0x1F\n\ + ands r0, r1\n\ + mov r2, r8\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r1, [sp, 0x2C]\n\ + adds r5, r0, 0\n\ + muls r5, r1\n\ + asrs r5, 8\n\ + lsrs r4, 26\n\ + movs r2, 0x1F\n\ + ands r4, r2\n\ + subs r4, r7\n\ + lsls r4, 8\n\ + adds r0, r4, 0\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r1, [sp, 0x2C]\n\ + muls r0, r1\n\ + asrs r0, 8\n\ + add r6, r9\n\ + movs r2, 0x1F\n\ + ands r6, r2\n\ + add r5, r8\n\ + ands r5, r2\n\ + adds r0, r7, r0\n\ + ands r0, r2\n\ + lsls r0, 10\n\ + lsls r5, 5\n\ + orrs r0, r5\n\ + orrs r0, r6\n\ + ldr r1, [sp, 0x30]\n\ + strh r0, [r1]\n\ + ldr r2, [sp]\n\ + adds r2, 0x2\n\ + str r2, [sp]\n\ + ldr r0, [sp, 0x4]\n\ + adds r0, 0x2\n\ + str r0, [sp, 0x4]\n\ + adds r1, 0x2\n\ + str r1, [sp, 0x30]\n\ + movs r1, 0x1\n\ + negs r1, r1\n\ + add r10, r1\n\ +_081C7AA6:\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + cmp r10, r0\n\ + bne _081C7A08\n\ +_081C7AAE:\n\ + add sp, 0xC\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided"); +} + +void sub_81C7AC0(s32 a0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + switch (a0) + { + case 0: + BeginNormalPaletteFade(structPtr->unk14, -2, 0, 16, RGB_BLACK); + break; + case 1: + BeginNormalPaletteFade(structPtr->unk14, -2, 16, 0, RGB_BLACK); + break; + case 2: + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + break; + case 3: + BeginNormalPaletteFade(0xFFFFFFFF, -2, 16, 0, RGB_BLACK); + break; + } +} + +bool32 IsPaletteFadeActive(void) +{ + return gPaletteFade.active; +} + +void sub_81C7B40(void) +{ + BlendPalettes(0xFFFEFFFE, 16, RGB_BLACK); +} + +void InitBgTemplates(const struct BgTemplate *templates, s32 count) +{ + s32 i; + + for (i = 0; i < count; i++) + InitBgFromTemplate(templates++); +} + +void sub_81C7B74(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + InitWindows(&gUnknown_0861FA08[0]); + structPtr->unk10 = 0; + sub_81C7BF8(structPtr->unk10); + PutWindowTilemap(structPtr->unk10); + CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here. +} + +void sub_81C7BA4(u32 a0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + sub_81C7BF8(structPtr->unk10); + AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sMenuButtonReminders[a0]); +} + +bool32 IsDma3ManagerBusyWithBgCopy_(void) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +void sub_81C7BF8(u32 windowId) +{ + FillWindowPixelBuffer(windowId, PIXEL_FILL(4)); + FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1); +} + +void InitPokenavMainMenuResources(void) +{ + s32 i; + u8 spriteId; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + for (i = 0; i < ARRAY_COUNT(gSpinningNavgearSpriteSheet); i++) + LoadCompressedSpriteSheet(&gSpinningNavgearSpriteSheet[i]); + + Pokenav_AllocAndLoadPalettes(gSpinningNavgearPalette); + structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); + spriteId = CreateSprite(&sSpinningNavgearSpriteTemplate, 220, 12, 0); + structPtr->spinningNavgear = &gSprites[spriteId]; +} + +void CleanupPokenavMainMenuResources(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + DestroySprite(structPtr->spinningNavgear); + FreeSpriteTilesByTag(0); + FreeSpritePaletteByTag(0); +} + +void SpriteCB_SpinningNavgear(struct Sprite *sprite) +{ + // If the background starts scrolling, follow it. + sprite->pos2.y = (GetBgY(0) / 256u) * -1; +} + +struct Sprite *PauseSpinningNavgearSprite(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + structPtr->spinningNavgear->callback = SpriteCallbackDummy; + return structPtr->spinningNavgear; +} + +void ResumeSpinningNavgearSprite(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + structPtr->spinningNavgear->pos1.x = 220; + structPtr->spinningNavgear->pos1.y = 12; + structPtr->spinningNavgear->callback = SpriteCB_SpinningNavgear; + structPtr->spinningNavgear->invisible = FALSE; + structPtr->spinningNavgear->oam.priority = 0; + structPtr->spinningNavgear->subpriority = 0; +} + +void InitHoenMapHeaderSprites(void) +{ + s32 i, spriteId; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + LoadCompressedSpriteSheet(&sPokenavHoenMapLeftHeaderSpriteSheet); + AllocSpritePalette(1); + AllocSpritePalette(2); + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + spriteId = CreateSprite(&sPokenavLeftHeaderHoenMapSpriteTemplate, 0, 0, 1); + structPtr->leftHeaderSprites[i] = &gSprites[spriteId]; + structPtr->leftHeaderSprites[i]->invisible = TRUE; + structPtr->leftHeaderSprites[i]->pos2.x = i * 64; + + spriteId = CreateSprite(&sUnknown_0861FB44, 0, 0, 2); + structPtr->submenuLeftHeaderSprites[i] = &gSprites[spriteId]; + structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; + structPtr->submenuLeftHeaderSprites[i]->pos2.x = i * 32; + structPtr->submenuLeftHeaderSprites[i]->pos2.y = 18; + structPtr->submenuLeftHeaderSprites[i]->oam.tileNum += (i * 8) + 64; + } +} + +void LoadLeftHeaderGfxForIndex(u32 arg0) +{ + if (arg0 < NAVGEAR_GFX_SUBMENUS_START) + LoadLeftHeaderGfxForMenu(arg0); + else + LoadLeftHeaderGfxForSubMenu(arg0 - NAVGEAR_GFX_SUBMENUS_START); +} + +void sub_81C7E14(u32 arg0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (arg0 == 4) + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; + else + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 64; +} + +void LoadLeftHeaderGfxForMenu(u32 index) +{ + struct PokenavMainMenuResources *structPtr; + u32 size, tag; + + if (index >= NAVGEAR_GFX_SUBMENUS_START) + return; + + structPtr = GetSubstructPtr(0); + tag = sPokenavMenuLeftHeaderSpriteSheets[index].tag; + size = GetDecompressedDataSize(sPokenavMenuLeftHeaderSpriteSheets[index].data); + LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); + LZ77UnCompWram(sPokenavMenuLeftHeaderSpriteSheets[index].data, gDecompressionBuffer); + RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sPokenavMenuLeftHeaderSpriteSheets[index].size; + + if (index == NAVGEAR_GFX_MAP_MENU_UNK0 || index == NAVGEAR_GFX_MAP_MENU_UNK1) + structPtr->leftHeaderSprites[1]->pos2.x = 56; + else + structPtr->leftHeaderSprites[1]->pos2.x = 64; +} + +void LoadLeftHeaderGfxForSubMenu(u32 arg0) +{ + u32 size, tag; + + if (arg0 >= NAVGEAR_GFX_MENUS_END - NAVGEAR_GFX_SUBMENUS_START) + return; + + tag = sPokenavSubMenuLeftHeaderSpriteSheets[arg0].tag; + size = GetDecompressedDataSize(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data); + LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); + LZ77UnCompWram(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data, &gDecompressionBuffer[0x1000]); + RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)VRAM + 0x10800 + (GetSpriteTileStartByTag(2) * 32), size, 1); +} + +void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2) +{ + u32 var; + + if (!arg1) + var = 0x30; + else + var = 0x10; + + if (arg0 < 6) + ShowLeftHeaderSprites(var, arg2); + else + ShowLeftHeaderSubmenuSprites(var, arg2); +} + +void sub_81C7FC4(u32 arg0, bool32 arg1) +{ + if (arg0 < 6) + HideLeftHeaderSprites(arg1); + else + HideLeftHeaderSubmenuSprites(arg1); +} + +void sub_81C7FDC(void) +{ + s32 i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + structPtr->leftHeaderSprites[i]->invisible = TRUE; + structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; + } +} + +bool32 sub_81C8010(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (structPtr->leftHeaderSprites[0]->callback == SpriteCallbackDummy && structPtr->submenuLeftHeaderSprites[0]->callback == SpriteCallbackDummy) + return FALSE; + else + return TRUE; +} + +void ShowLeftHeaderSprites(u32 startY, bool32 isOnRightSide) +{ + s32 start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = -96, end = 32; + else + start = 256, end = 160; + + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + structPtr->leftHeaderSprites[i]->pos1.y = startY; + MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); + } +} + +void ShowLeftHeaderSubmenuSprites(u32 startY, bool32 isOnRightSide) +{ + s32 start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = -96, end = 16; + else + start = 256, end = 192; + + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) + { + structPtr->submenuLeftHeaderSprites[i]->pos1.y = startY; + MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); + } +} + +void HideLeftHeaderSprites(bool32 isOnRightSide) +{ + s32 start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = 32, end = -96; + else + start = 192, end = 256; + + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); + } +} + +void HideLeftHeaderSubmenuSprites(bool32 isOnRightSide) +{ + s32 start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = 16, end = -96; + else + start = 192, end = 256; + + for (i = 0; i < (s32)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) + { + MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); + } +} + +void MoveLeftHeader(struct Sprite *sprite, s32 startX, s32 endX, s32 duration) +{ + sprite->pos1.x = startX; + sprite->data[0] = startX * 16; + sprite->data[1] = (endX - startX) * 16 / duration; + sprite->data[2] = duration; + sprite->data[7] = endX; + sprite->callback = SpriteCB_MoveLeftHeader; +} + +void SpriteCB_MoveLeftHeader(struct Sprite *sprite) +{ + if (sprite->data[2] != 0) + { + sprite->data[2]--; + sprite->data[0] += sprite->data[1]; + sprite->pos1.x = sprite->data[0] >> 4; + if (sprite->pos1.x < -16 || sprite->pos1.x > 256) + sprite->invisible = TRUE; + else + sprite->invisible = FALSE; + } + else + { + sprite->pos1.x = sprite->data[7]; + sprite->callback = SpriteCallbackDummy; + } +} diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call_data.c similarity index 100% rename from src/pokenav_match_call.c rename to src/pokenav_match_call_data.c diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c new file mode 100644 index 0000000000..7443c0bdba --- /dev/null +++ b/src/pokenav_match_call_ui.c @@ -0,0 +1,1266 @@ +#include "global.h" +#include "pokenav.h" +#include "window.h" +#include "strings.h" +#include "text.h" +#include "bg.h" +#include "menu.h" +#include "decompress.h" + +struct UnknownSubSubStruct_0203CF40 { + u8 bg; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 fontId; + u16 unk6; + u16 windowId; + u16 unkA; + u16 unkC; + u16 unkE; +}; + +struct MatchCallWindowState { + // The index of the element at the top of the window. + u16 windowTopIndex; + u16 listLength; + u16 unk4; + // The index of the cursor, relative to the top of the window. + u16 selectedIndexOffset; + u16 visibleEntries; + u16 unkA; + u32 unkC; + u32 unk10; +}; + +struct UnknownInnerStruct_81C81D4 +{ + struct UnknownSubSubStruct_0203CF40 unk0; + u32 unk10; + u32 unk14; + u32 unk18; + u32 unk1C; + s32 unk20; + s32 unk24; + u32 unk28; + s32 unk2C; + u32 unk30; + void (*unk34)(u32, u8*); + void (*unk38)(u16, u32, u32); + struct Sprite *rightArrow; + struct Sprite *upArrow; + struct Sprite *downArrow; + u8 unkTextBuffer[0x40]; +}; + +// Generally at index 0x11 (17) +struct UnknownSubStruct_81C81D4 +{ + struct UnknownInnerStruct_81C81D4 unk0; + u8 tilemapBuffer[0x800]; + struct MatchCallWindowState unk888; + u32 unk89C; + u32 unk8A0; +}; + +struct MatchCallListTemplate +{ + u32 unk0; + u16 unk4; + u16 unk6; + u8 unk8; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + u8 unkE; + void (*unk10)(u32, u8 *a1); + void (*unk14)(u16 a0, u32 a1, u32 a2); +}; + +extern void sub_81CBD48(u16 windowId, u32 a1); +extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4); +extern u8 *sub_81CAFD8(u16 a0, u32 a1); + +void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3); +void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1); +void SpriteCB_MatchCallUpArrow(struct Sprite *sprite); +void SpriteCB_MatchCallDownArrow(struct Sprite *sprite); +void SpriteCB_MatchCallRightArrow(struct Sprite *sprite); +void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0); +void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8ED0(void); +void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); +void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); +void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5); +void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); +u32 LoopedTask_sub_81C8254(s32 a0); +bool32 sub_81C83E0(void); +u32 LoopedTask_sub_81C83F0(s32 a0); +u32 LoopedTask_sub_81C85A0(s32 a0); +u32 LoopedTask_sub_81C8870(s32 a0); +u32 LoopedTask_sub_81C8A28(s32 a0); +u32 LoopedTask_sub_81C8958(s32 a0); + +static const u16 sMatchcallArrowPaletteData[] = INCBIN_U16("graphics/pokenav/arrows_matchcall.gbapal"); +static const u32 sMatchcallArrowSpriteSheetData[] = INCBIN_U32("graphics/pokenav/arrows_matchcall.4bpp.lz"); + +static const u8 sPokenavColors_0861FBE4[] = +{ + 0, 2, 5 +}; + +static const u8 *const sMatchCallFieldNames[] = +{ + gText_NavgearMatchCall_Strategy, + gText_NavgearMatchCall_TrainerPokemon, + gText_NavgearMatchCall_SelfIntroduction +}; + +static const u8 sMatchCallFieldColors[] = +{ + 1, 4, 5 +}; + +static const u8 sUnknown_0861FBF7[] = +{ + 2, 4, 6, 7, 0 +}; + +static const struct CompressedSpriteSheet sMatchcallArrowSpriteSheet[] = +{ + { + .data = sMatchcallArrowSpriteSheetData, + .size = 192, + .tag = 0xA + } +}; + +static const struct SpritePalette sMatchcallArrowPalette[] = +{ + { + .data = sMatchcallArrowPaletteData, + .tag = 0x14 + }, + {} +}; + +static const struct OamData sMatchCallRightArrowSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = 2, //SPRITE_SHAPE(16x8), + .x = 0, + .size = 0, //SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sMatchCallRightArrowSprite = +{ + .tileTag = 0xA, + .paletteTag = 0x14, + .oam = &sMatchCallRightArrowSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_MatchCallRightArrow +}; + +static const struct OamData sMatchCallUpDownArrowSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = 1, //SPRITE_SHAPE(8x16), + .x = 0, + .size = 0, //SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sMatchCallUpDownArrowSprite = +{ + .tileTag = 0xA, + .paletteTag = 0x14, + .oam = &sMatchCallUpDownArrowSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +EWRAM_DATA u32 gUnknown_0203CF44 = 0; + +bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2) +{ + u32 v1; + struct UnknownSubStruct_81C81D4 *structPtr; + + structPtr = AllocSubstruct(0x11, sizeof(struct UnknownSubStruct_81C81D4)); + + if (structPtr == NULL) + return FALSE; + + sub_81C9160(&structPtr->unk888, arg1); + + v1 = sub_81C91AC(&structPtr->unk0, arg0, arg1, arg2); + if (v1 == 0) + return FALSE; + + CreateLoopedTask(LoopedTask_sub_81C8254, 6); + return TRUE; +} + +bool32 sub_81C8224(void) +{ + return FuncIsActiveLoopedTask(LoopedTask_sub_81C8254); +} + +void sub_81C8234(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + + structPtr = GetSubstructPtr(0x11); + sub_81C8FE0(&structPtr->unk0); + RemoveWindow(structPtr->unk0.unk0.windowId); + FreePokenavSubstruct(0x11); +} + +u32 LoopedTask_sub_81C8254(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + sub_81C82E4(structPtr); + return 0; + case 1: + sub_81C835C(&structPtr->unk0.unk0); + return 0; + case 2: + sub_81C837C(&structPtr->unk888, &structPtr->unk0); + return 0; + case 3: + if (sub_81C83E0()) + { + return 2; + } + else + { + sub_81C8ED0(); + return 1; + } + case 4: + sub_81C8EF8(&structPtr->unk888, &structPtr->unk0); + return 4; + default: + return 4; + } +} + +void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0) +{ + u16 v1 = (a0->unk0.unk0.unk1 << 12) | a0->unk0.unk0.unk6; + // TODO: When #553 is merged, use a PALETTE_NUM_TO_FILL_VALUE(1) macro here... + sub_8199DF0(a0->unk0.unk0.bg, 0x11, a0->unk0.unk0.unk6, 1); + // ...and PALETTE_NUM_TO_FILL_VALUE(4) here. + sub_8199DF0(a0->unk0.unk0.bg, 0x44, a0->unk0.unk0.unk6 + 1, 1); + SetBgTilemapBuffer(a0->unk0.unk0.bg, a0->tilemapBuffer); + FillBgTilemapBufferRect_Palette0(a0->unk0.unk0.bg, v1, 0, 0, 32, 32); + ChangeBgY(a0->unk0.unk0.bg, 0, 0); + ChangeBgX(a0->unk0.unk0.bg, 0, 0); + ChangeBgY(a0->unk0.unk0.bg, a0->unk0.unk0.unk3 << 11, 2); + CopyBgTilemapBufferToVram(a0->unk0.unk0.bg); +} + +void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0) +{ + FillWindowPixelBuffer(a0->windowId, PIXEL_FILL(1)); + PutWindowTilemap(a0->windowId); + CopyWindowToVram(a0->windowId, 1); +} + +void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + s32 v1; + s32 v2; + + // TODO: Clean this up. + v1 = a0->listLength - a0->windowTopIndex; + v2 = a0->visibleEntries; + if (v1 > a0->visibleEntries) + v1 = v2; + sub_81C83AC(a0->unk10, a0->windowTopIndex, v1, a0->unkC, 0, a1); +} + +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5) +{ + if (a2 == 0) + return; + + a5->unk1C = a0 + a1 * a3; + a5->unk18 = a3; + a5->unk0.unkC = 0; + a5->unk0.unkE = a2; + a5->unk14 = a1; + a5->unk10 = a4; + CreateLoopedTask(LoopedTask_sub_81C83F0, 5); +} + +bool32 sub_81C83E0(void) +{ + return FuncIsActiveLoopedTask(LoopedTask_sub_81C83F0); +} + +u32 LoopedTask_sub_81C83F0(s32 a0) +{ + struct UnknownInnerStruct_81C81D4 *structPtr; + u32 v1; + + structPtr = &((struct UnknownSubStruct_81C81D4*)GetSubstructPtr(0x11))->unk0; + switch (a0) + { + case 0: + v1 = (structPtr->unk0.unkA + structPtr->unk0.unkC + structPtr->unk10) & 0xF; + structPtr->unk34(structPtr->unk1C, structPtr->unkTextBuffer); + if (structPtr->unk38 != NULL) + // Accessing unk0.windowId as if it were a u16...? + // It's accessed as a u8 again in the very next line... + structPtr->unk38(*(u16*)(&structPtr->unk0.windowId), structPtr->unk14, v1); + + AddTextPrinterParameterized(structPtr->unk0.windowId, structPtr->unk0.fontId, structPtr->unkTextBuffer, 8, (v1 << 4) + 1, 255, NULL); + + if (++structPtr->unk0.unkC >= structPtr->unk0.unkE) + { + if (structPtr->unk38 != NULL) + CopyWindowToVram(structPtr->unk0.windowId, 3); + else + CopyWindowToVram(structPtr->unk0.windowId, 2); + return 0; + } + else + { + structPtr->unk1C += structPtr->unk18; + structPtr->unk14++; + return 3; + } + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + else + return 4; + default: + return 4; + } +} + +bool32 ShouldShowUpArrow(void) +{ + u16 v1; + s32 v2; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + + return structPtr->unk888.windowTopIndex != 0; +} + +bool32 ShouldShowDownArrow(void) +{ + struct MatchCallWindowState *subPtr; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + subPtr = &structPtr->unk888; + + return subPtr->windowTopIndex + subPtr->visibleEntries < subPtr->listLength; +} + + +#ifdef NONMATCHING +// This has some register renaming issues (r4, r5, and r6 are all switched around), and +// for some reason it's creating two copies of subPtr->unk0. +// TODO: Now I know why it's making two copies - one of them is UnknownInnerStruct_81C81D4. +void MatchCall_MoveWindow(s32 a0, bool32 a1) +{ + s32 v1; + struct MatchCallWindowState *subPtr; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + subPtr = &structPtr->unk888; + + if (a0 < 0) + { + // This is where the issue is. subPtr->windowTopIndex is being stored in r1 and then copied to + // r2... and then r2 is read for the if statement, r1 is read for the function call, + // and then both are clobbered as expected. Between those two uses, no writes to r1/r2 + // happen; it doesn't need to be duplicated/moved at all. + if (subPtr->windowTopIndex + a0 < 0) + v1 = -1 * subPtr->windowTopIndex; + else + v1 = a0; + if (a1) + sub_81C83AC(subPtr->unk10, subPtr->windowTopIndex + v1, v1 * -1, subPtr->unkC, v1, structPtr); + } + else if (a1) + { + + gUnknown_0203CF44 = subPtr->windowTopIndex + subPtr->visibleEntries; + if ((s32)(gUnknown_0203CF44) + a0 >= (s32)subPtr->listLength) + v1 = subPtr->listLength - gUnknown_0203CF44; + else + v1 = a0; + + sub_81C83AC(subPtr->unk10, gUnknown_0203CF44, v1, subPtr->unkC, subPtr->visibleEntries, structPtr); + // Needed to prevent GCC from combining the two sub_81C83AC calls. + asm(""); + } + else + { + v1 = a0; + } + + sub_81C8568(v1, structPtr); + subPtr->windowTopIndex++; +} +#else +NAKED +void MatchCall_MoveWindow(s32 a0, bool32 a1) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + sub sp, 0x8\n\ + adds r6, r0, 0\n\ + adds r4, r1, 0\n\ + movs r0, 0x11\n\ + bl GetSubstructPtr\n\ + adds r7, r0, 0\n\ + ldr r0, =0x00000888\n\ + adds r5, r7, r0\n\ + cmp r6, 0\n\ + bge _081C8524\n\ + ldrh r1, [r5]\n\ + adds r0, r1, r6\n\ + cmp r0, 0\n\ + bge _081C850A\n\ + negs r6, r1\n\ +_081C850A:\n\ + cmp r4, 0\n\ + beq _081C854E\n\ + ldr r0, [r5, 0x10]\n\ + adds r1, r6\n\ + negs r2, r6\n\ + ldr r3, [r5, 0xC]\n\ + str r6, [sp]\n\ + str r7, [sp, 0x4]\n\ + bl sub_81C83AC\n\ + b _081C854E\n\ + .pool\n\ +_081C8524:\n\ + cmp r4, 0\n\ + beq _081C854E\n\ + ldr r2, =gUnknown_0203CF44\n\ + ldrh r1, [r5]\n\ + ldrh r0, [r5, 0x8]\n\ + adds r4, r1, r0\n\ + str r4, [r2]\n\ + adds r0, r4, r6\n\ + ldrh r1, [r5, 0x2]\n\ + cmp r0, r1\n\ + blt _081C853C\n\ + subs r6, r1, r4\n\ +_081C853C:\n\ + ldr r0, [r5, 0x10]\n\ + ldr r3, [r5, 0xC]\n\ + ldrh r1, [r5, 0x8]\n\ + str r1, [sp]\n\ + str r7, [sp, 0x4]\n\ + adds r1, r4, 0\n\ + adds r2, r6, 0\n\ + bl sub_81C83AC\n\ +_081C854E:\n\ + adds r0, r6, 0\n\ + adds r1, r7, 0\n\ + bl sub_81C8568\n\ + ldrh r0, [r5]\n\ + adds r0, r6\n\ + strh r0, [r5]\n\ + add sp, 0x8\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n\ + .syntax divided"); +} +#endif + +void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + a1->unk20 = GetBgY(a1->unk0.bg); + a1->unk24 = a1->unk20 + (a0 << 12); + if (a0 > 0) + a1->unk30 = 1; + else + a1->unk30 = 2; + a1->unk2C = a0; + a1->unk28 = CreateLoopedTask(LoopedTask_sub_81C85A0, 6); +} + +u32 LoopedTask_sub_81C85A0(s32 a0) +{ + s32 y; + s32 v1; + bool32 flag; + struct UnknownInnerStruct_81C81D4 *structPtr; + structPtr = &((struct UnknownSubStruct_81C81D4 *)GetSubstructPtr(0x11))->unk0; + + switch (a0) + { + case 0: + if (sub_81C83E0() == FALSE) + return 1; + else + return 2; + case 1: + flag = FALSE; + y = GetBgY(structPtr->unk0.bg); + v1 = ChangeBgY(structPtr->unk0.bg, 0x1000, structPtr->unk30); + if (structPtr->unk30 == 2) + { + if ((y > structPtr->unk24 || y <= structPtr->unk20) && v1 <= structPtr->unk24) + { + flag = TRUE; + } + } + else + { + if ((y < structPtr->unk24 || y >= structPtr->unk20) && v1 >= structPtr->unk24) + { + flag = TRUE; + } + } + if (flag) + { + structPtr->unk0.unkA = (structPtr->unk0.unkA + structPtr->unk2C) & 0xF; + ChangeBgY(structPtr->unk0.bg, structPtr->unk24, 0); + return 4; + } + else + { + return 2; + } + default: + return 4; + } +} + +bool32 sub_81C8630(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return IsLoopedTaskActive(structPtr->unk0.unk28); +} + +struct MatchCallWindowState *GetMatchCallWindowStruct(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return &structPtr->unk888; +} + +u32 MatchCall_MoveCursorUp(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (structPtr->selectedIndexOffset != 0) + { + structPtr->selectedIndexOffset--; + return 1; + } + else + { + if (ShouldShowUpArrow()) + { + MatchCall_MoveWindow(-1, TRUE); + return 2; + } + else + { + return 0; + } + } +} + +u32 MatchCall_MoveCursorDown(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (structPtr->windowTopIndex + structPtr->selectedIndexOffset < structPtr->listLength - 1) + { + if (structPtr->selectedIndexOffset < structPtr->visibleEntries - 1) + { + structPtr->selectedIndexOffset++; + return 1; + } + else if (!ShouldShowDownArrow()) + { + return 0; + } + } + else + { + return 0; + } + MatchCall_MoveWindow(1, TRUE); + return 2; +} + +u32 MatchCall_PageUp(void) +{ + struct MatchCallWindowState *structPtr; + s32 scroll; + + structPtr = GetMatchCallWindowStruct(); + if (ShouldShowUpArrow()) + { + if (structPtr->windowTopIndex >= structPtr->visibleEntries) + scroll = structPtr->visibleEntries; + else + scroll = structPtr->windowTopIndex; + MatchCall_MoveWindow(scroll * -1, TRUE); + return 2; + } + else if (structPtr->selectedIndexOffset != 0) + { + structPtr->selectedIndexOffset = 0; + return 1; + } + else + { + return 0; + } +} + +u32 MatchCall_PageDown(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (ShouldShowDownArrow()) + { + s32 scroll; + s32 windowBottomIndex; + s32 v3; + windowBottomIndex = structPtr->windowTopIndex + structPtr->visibleEntries; + scroll = structPtr->unk4 - structPtr->windowTopIndex; + if (windowBottomIndex <= structPtr->unk4) + scroll = structPtr->visibleEntries; + MatchCall_MoveWindow(scroll, TRUE); + return 2; + } + else + { + s32 cursor; + s32 lastVisibleIndex; + if (structPtr->listLength >= structPtr->visibleEntries) + { + cursor = structPtr->selectedIndexOffset; + lastVisibleIndex = structPtr->visibleEntries; + } + else + { + cursor = structPtr->selectedIndexOffset; + lastVisibleIndex = structPtr->listLength; + } + lastVisibleIndex -= 1; + if (cursor >= lastVisibleIndex) + { + return 0; + } + else + { + structPtr->selectedIndexOffset = lastVisibleIndex; + return 1; + } + } +} + +u32 GetSelectedMatchCall(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + return structPtr->windowTopIndex + structPtr->selectedIndexOffset; +} + +u32 GetMatchCallListTopIndex(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + return structPtr->windowTopIndex; +} + +void sub_81C877C(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8870, 6); +} + +void sub_81C87AC(u16 a0) +{ + u16 temp; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + temp = structPtr->unk888.windowTopIndex; + temp += a0; + structPtr->unk888.windowTopIndex = temp; + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8958, 6); +} + +void sub_81C87F0(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8A28, 6); +} + +bool32 sub_81C8820(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return IsLoopedTaskActive(structPtr->unk8A0); +} + +void sub_81C8838(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + struct MatchCallWindowState *subStr; + structPtr = GetSubstructPtr(0x11); + subStr = &structPtr->unk888; + structPtr->unk0.unk38(structPtr->unk0.unk0.windowId, subStr->windowTopIndex + subStr->selectedIndexOffset, (structPtr->unk0.unk0.unkA + subStr->selectedIndexOffset) & 0xF); + CopyWindowToVram(structPtr->unk0.unk0.windowId, 1); +} + +u32 LoopedTask_sub_81C8870(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + u16 v1; + u32 v2; + + // Needed to fix a register renaming issue. + register u16* temp asm("r1"); + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + ToggleMatchCallArrows(&structPtr->unk0, 1); + // fall-through + case 1: + if (structPtr->unk89C != structPtr->unk888.selectedIndexOffset) + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, 1); + + structPtr->unk89C++; + return 0; + case 2: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + if (structPtr->unk89C != structPtr->unk888.visibleEntries) + return 6; + + if (structPtr->unk888.selectedIndexOffset != 0) + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, structPtr->unk888.selectedIndexOffset); + + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + temp = &structPtr->unk888.selectedIndexOffset; + v1 = *temp; + if (v1 == 0) + return 4; + + MatchCall_MoveWindow(v1, FALSE); + return 0; + case 4: + v2 = sub_81C8630(); + if (v2) + return 2; + + structPtr->unk888.selectedIndexOffset = v2; + return 4; + default: + return 4; + } +} + +u32 LoopedTask_sub_81C8958(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + switch (a0) + { + case 0: + sub_81C8CB4(&structPtr->unk888, &structPtr->unk0); + break; + case 1: + PrintMatchCallFieldNames(&structPtr->unk0, 0); + break; + case 2: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0); + break; + case 3: + PrintMatchCallFieldNames(&structPtr->unk0, 1); + break; + case 4: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1); + break; + case 5: + PrintMatchCallFieldNames(&structPtr->unk0, 2); + break; + case 6: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2); + break; + case 7: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3); + break; + default: + return 4; + } + return 0; +} + +u32 LoopedTask_sub_81C8A28(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + struct MatchCallWindowState *subPtr888; + register struct UnknownInnerStruct_81C81D4 *subPtr0 asm("r2"); + s32 v4; + + if (IsDma3ManagerBusyWithBgCopy()) + { + return 2; + } + + structPtr = GetSubstructPtr(0x11); + subPtr888 = &structPtr->unk888; + subPtr0 = &structPtr->unk0; + + switch (a0) + { + default: + return 4; + case 0: + sub_81C8D4C(subPtr888, subPtr0); + return 0; + case 1: + { + s32 v1; + s32 v2; + u32 *v3; + register s32 v4 asm("r5"); + + v3 = &structPtr->unk89C; + v1 = *v3 + 1; + *v3 = v1; + if (v1 < structPtr->unk888.visibleEntries) + { + sub_81C8B70(&subPtr0->unk0, v1, 1); + return 2; + } + + *v3 = 0; + if (subPtr888->listLength <= subPtr888->visibleEntries) + { + register u32 temp asm("r0"); + temp = subPtr888->windowTopIndex; + if (temp == 0) + return 9; + v2 = temp; + } + else + { + register s32 temp asm("r1"); + v2 = subPtr888->windowTopIndex + subPtr888->visibleEntries; + temp = (s32)subPtr888->listLength; + if (v2 <= temp) + return 9; + v2 -= temp; + } + v4 = v2 * -1; + sub_81C8B70(&subPtr0->unk0, v4, v2); + subPtr888->selectedIndexOffset = v2; + *v3 = v4; + return 0; + } + case 2: + MatchCall_MoveWindow(structPtr->unk89C, FALSE); + return 0; + case 3: + if (sub_81C8630()) + return 2; + + structPtr->unk89C = 0; + return 1; + case 4: + sub_81C83AC(subPtr888->unk10, subPtr888->windowTopIndex + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, &structPtr->unk0); + return 0; + case 5: + if (sub_81C83E0()) + return 2; + + v4 = ++structPtr->unk89C; + if (v4 >= subPtr888->listLength || v4 >= subPtr888->visibleEntries) + return 1; + return 9; + case 6: + ToggleMatchCallArrows(subPtr0, 0); + return 4; + } +} + +void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2) +{ + u8 *v1; + u32 v2; + + v1 = (u8*)GetWindowAttribute(a0->windowId, WINDOW_TILE_DATA); + v2 = a0->unk4 * 64; + + a1 = (a0->unkA + a1) & 0xF; + if ((s32)(a1 + a2) <= 16) + { + CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, a2 * v2); + CopyWindowToVram(a0->windowId, 2); + } + else + { + u32 v3; + u32 v4; + + v3 = 16 - a1; + v4 = a2 - v3; + + CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, v3 * v2); + CpuFastFill8(PIXEL_FILL(1), v1, v4 * v2); + CopyWindowToVram(a0->windowId, 2); + } + + a2 -= 1; + for (a2; a2 != -1; a1 = (a1 + 1) & 0xF, a2--) + { + sub_81CBD48(a0->windowId, a1); + } + + CopyWindowToVram(a0->windowId, 1); +} + +void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) +{ + u16 *v1; + register u32 v2 asm("r0"); + u32 v3; + + v1 = (u16*)GetBgTilemapBuffer(GetWindowAttribute(a0->windowId, WINDOW_BG)); + + v1 = &v1[(a0->unkA << 6) + a0->unk2 - 1]; + + if (a1 != 0) + { + v2 = a0->unk1 << 12; + v3 = a0->unk6 + 1; + } + else + { + v2 = a0->unk1 << 12; + v3 = a0->unk6; + } + { + register u16 v5 asm("r1"); + register u32 v6 asm("r0"); + v6 = (v3 | v2); + v6 = v6 << 16; + v5 = v6 >> 16; + v1[0] = v5; + v1[0x20] = v5; + } +} + +void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + u8 colors[3]; + + + memcpy(colors, sPokenavColors_0861FBE4, ARRAY_COUNT(sPokenavColors_0861FBE4)); + + a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); + a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA); + FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(4), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); + AddTextPrinterParameterized3(a1->unk0.windowId, a1->unk0.fontId, 8, (a1->unk0.unkA * 16) + 1, colors, TEXT_SPEED_FF, a1->unkTextBuffer); + sub_81C8C64(&a1->unk0, 1); + CopyWindowRectToVram(a1->unk0.windowId, 3, 0, a1->unk0.unkA * 2, a1->unk0.unk4, 2); +} + +void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); + FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(1), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); + AddTextPrinterParameterized(a1->unk0.windowId, a1->unk0.fontId, a1->unkTextBuffer, 8, a1->unk0.unkA * 16 + 1, TEXT_SPEED_FF, NULL); + sub_81C8C64(&a1->unk0, 0); + CopyWindowToVram(a1->unk0.windowId, 3); +} + +void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 fieldId) +{ + const u8 *fieldNames[3]; + u8 colors[3]; + u32 r4; + u32 r5; + u32 tmp; + u32 one; + + memcpy(fieldNames, sMatchCallFieldNames, sizeof(sMatchCallFieldNames)); + memcpy(colors, sMatchCallFieldColors, sizeof(sMatchCallFieldColors)); + + r4 = a0->unk0.unkA; + tmp = fieldId * 2 + 1; + r4 += tmp; + r4 &= 0xF; + FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, r4 << 4, a0->unk0.unk4, 16); + + // This is a fake match. It should be this: + // AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, r4 << 4 + 1, colors, TEXT_SPEED_FF, fieldNames[fieldId]); + // But the original GCC does some clever reuse of the `1` constant that the current GCC doesn't. + one = 1; + AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, (r4 << 4) + one, colors, one - 2, fieldNames[fieldId]); + CopyWindowRectToVram(a0->unk0.windowId, 2, 0, r4 << 1, a0->unk0.unk4, 2); +} + +void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2) +{ + const u8 *str; + u32 r6; + + r6 = (a1->unk0.unkA + sUnknown_0861FBF7[a2]) & 0xF; + + str = sub_81CAFD8(a0->windowTopIndex, a2); + if (str != NULL) { + sub_81DB620(a1->unk0.windowId, 1, r6 * 2, a1->unk0.unk4 - 1, 2); + AddTextPrinterParameterized(a1->unk0.windowId, 7, str, 2, (r6 << 4) + 1, TEXT_SPEED_FF, NULL); + CopyWindowRectToVram(a1->unk0.windowId, 2, 0, r6 * 2, a1->unk0.unk4, 2); + } +} + +void sub_81C8ED0(void) +{ + u32 i; + const struct CompressedSpriteSheet *ptr; + + for (i = 0, ptr = sMatchcallArrowSpriteSheet; i < ARRAY_COUNT(sMatchcallArrowSpriteSheet); ptr++, i++) + { + LoadCompressedSpriteSheet(ptr); + } + Pokenav_AllocAndLoadPalettes(sMatchcallArrowPalette); +} + +void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + register u32 spriteId asm("r3"); + s16 temp; + + spriteId = (u8)CreateSprite(&sMatchCallRightArrowSprite, a1->unk0.unk2 * 8 + 3, (a1->unk0.unk3 + 1) * 8, 7); + a1->rightArrow = &gSprites[spriteId]; + + temp = a1->unk0.unk2 * 8 + (a1->unk0.unk4 - 1) * 4; + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8 + a0->visibleEntries * 16, 7); + a1->downArrow = &gSprites[spriteId]; + a1->downArrow->oam.tileNum += 2; + a1->downArrow->callback = SpriteCB_MatchCallDownArrow; + + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8, 7); + a1->upArrow = &gSprites[spriteId]; + a1->upArrow->oam.tileNum += 4; + a1->upArrow->callback = SpriteCB_MatchCallUpArrow; +} + +void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0) +{ + DestroySprite(a0->rightArrow); + DestroySprite(a0->upArrow); + DestroySprite(a0->downArrow); + FreeSpriteTilesByTag(0xA); + FreeSpritePaletteByTag(0x14); +} + +void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, bool32 shouldHide) +{ + if (shouldHide) + { + a0->rightArrow->callback = SpriteCallbackDummy; + a0->upArrow->callback = SpriteCallbackDummy; + a0->downArrow->callback = SpriteCallbackDummy; + } + else + { + a0->rightArrow->callback = SpriteCB_MatchCallRightArrow; + a0->upArrow->callback = SpriteCB_MatchCallUpArrow; + a0->downArrow->callback = SpriteCB_MatchCallDownArrow; + } + a0->rightArrow->invisible = shouldHide; + a0->upArrow->invisible = shouldHide; + a0->downArrow->invisible = shouldHide; +} + +void SpriteCB_MatchCallRightArrow(struct Sprite *sprite) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + sprite->pos2.y = structPtr->unk888.selectedIndexOffset << 4; +} + +void SpriteCB_MatchCallDownArrow(struct Sprite *sprite) +{ + if (sprite->data[7] == 0 && ShouldShowDownArrow()) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (++sprite->data[0] > 3) + { + s16 offset; + + sprite->data[0] = 0; + offset = (sprite->data[1] + 1) & 7; + sprite->data[1] = offset; + sprite->pos2.y = offset; + } +} + +void SpriteCB_MatchCallUpArrow(struct Sprite *sprite) +{ + if (sprite->data[7] == 0 && ShouldShowUpArrow()) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (++sprite->data[0] > 3) + { + s16 offset; + + sprite->data[0] = 0; + offset = (sprite->data[1] + 1) & 7; + sprite->data[1] = offset; + sprite->pos2.y = -1 * offset; + } +} + +void ToggleMatchCallVerticalArrows(bool32 shouldHide) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk0.upArrow->data[7] = shouldHide; + structPtr->unk0.downArrow->data[7] = shouldHide; +} + +void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1) +{ + u32 unused1 = a0->unk10 = a1->unk0; + u32 v0 = a1->unk6; + u32 zero = 0; + u32 unused2 = a0->windowTopIndex = v0; + u32 v1 = a0->listLength = a1->unk4; + + a0->unkC = a1->unk8; + a0->visibleEntries = a1->unkC; + if (a0->visibleEntries >= (u16)v1) + { + a0->windowTopIndex = 0; + a0->unk4 = 0; + a0->selectedIndexOffset = v0; + } + else + { + s32 v2; + a0->unk4 = a0->listLength - a0->visibleEntries; + v2 = a0->windowTopIndex + a0->visibleEntries; + if (v2 > a0->listLength) { + a0->selectedIndexOffset = v2 - a0->listLength; + a0->windowTopIndex = v0 - a0->selectedIndexOffset; + } + else + { + a0->selectedIndexOffset = 0; + } + } +} + +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3) +{ + register u32 raw_bg asm("r4") = ((a1->bg) << 30); + u8 bg = raw_bg >> 30; + u32 unknown = 0; + struct WindowTemplate window; + u8 bg_again; + + a0->unk0.bg = bg; + a0->unk0.unk6 = a3; + a0->unk34 = a2->unk10; + a0->unk38 = a2->unk14; + a0->unk0.unk1 = a2->unkD; + a0->unk0.unk2 = a2->unk9; + a0->unk0.unk3 = a2->unkB; + a0->unk0.unk4 = a2->unkA; + a0->unk0.fontId = a2->unkE; + + window.bg = raw_bg >> 30; + window.tilemapLeft = a2->unk9; + window.tilemapTop = 0; + window.width = a2->unkA; + window.height = 32; + window.paletteNum = a2->unkD; + window.baseBlock = a3 + 2; + + a0->unk0.windowId = AddWindow(&window); + if (a0->unk0.windowId == 0xFF) + { + return 0; + } + else + { + a0->unk0.unkA = unknown; + a0->rightArrow = NULL; + a0->upArrow = NULL; + a0->downArrow = NULL; + return 1; + } +} \ No newline at end of file diff --git a/sym_ewram.txt b/sym_ewram.txt index 8ad36666aa..86602e89d6 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -169,7 +169,7 @@ gUnknown_02022D00: @ 2022D00 .include "src/unk_pokedex_area_screen_helper.o" .include "src/battle_pyramid_bag.o" .include "src/pokenav.o" - + .include "src/pokenav_match_call_ui.o" .include "src/menu_specialized.o" .include "src/faraway_island.o" .include "src/trainer_hill.o" From d352999cd804f5ab4db4d3628f5a76eb5ba2e9ca Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 7 Apr 2019 18:10:53 -0400 Subject: [PATCH 83/84] Change "navgear" to "pokenav" --- asm/pokenav_unk_4.s | 4 +- include/strings.h | 30 +++---- src/pokenav_main_menu.c | 158 ++++++++++++++++++------------------ src/pokenav_match_call_ui.c | 6 +- src/strings.c | 30 +++---- 5 files changed, 114 insertions(+), 114 deletions(-) diff --git a/asm/pokenav_unk_4.s b/asm/pokenav_unk_4.s index 14ab55ca9f..350609f7dd 100644 --- a/asm/pokenav_unk_4.s +++ b/asm/pokenav_unk_4.s @@ -1787,7 +1787,7 @@ sub_81CC058: @ 81CC058 ldrb r0, [r4, 0x14] movs r1, 0x3 bl CopyWindowToVram - bl PauseSpinningNavgearSprite + bl PauseSpinningPokenavSprite movs r2, 0 movs r1, 0x18 strh r1, [r0, 0x20] @@ -1971,7 +1971,7 @@ _081CC1C4: sub_81CC1DC: @ 81CC1DC push {lr} sub sp, 0x8 - bl ResumeSpinningNavgearSprite + bl ResumeSpinningPokenavSprite movs r0, 0x20 str r0, [sp] movs r0, 0x14 diff --git a/include/strings.h b/include/strings.h index c62835ca1a..3c141f2433 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1008,21 +1008,21 @@ extern const u8 gText_SomeonesPC[]; extern const u8 gText_PlayersPC[]; extern const u8 gText_WhichPCShouldBeAccessed[]; -extern const u8 gText_NavgearMatchCall_Strategy[]; -extern const u8 gText_NavgearMatchCall_TrainerPokemon[]; -extern const u8 gText_NavgearMatchCall_SelfIntroduction[]; -extern const u8 gText_Navgear_ClearButtonList[]; -extern const u8 gText_NavgearMap_ZoomedOutButtons[]; -extern const u8 gText_NavgearMap_ZoomedInButtons[]; -extern const u8 gText_NavgearCondition_MonListButtons[]; -extern const u8 gText_NavgearCondition_MonStatusButtons[]; -extern const u8 gText_NavgearCondition_MarkingButtons[]; -extern const u8 gText_NavgearMatchCall_TrainerListButtons[]; -extern const u8 gText_NavgearMatchCall_CallMenuButtons[]; -extern const u8 gText_NavgearMatchCall_CheckTrainerButtons[]; -extern const u8 gText_NavgearRibbons_MonListButtons[]; -extern const u8 gText_NavgearRibbons_RibbonListButtons[]; -extern const u8 gText_NavgearRibbons_RibbonCheckButtons[]; +extern const u8 gText_PokenavMatchCall_Strategy[]; +extern const u8 gText_PokenavMatchCall_TrainerPokemon[]; +extern const u8 gText_PokenavMatchCall_SelfIntroduction[]; +extern const u8 gText_Pokenav_ClearButtonList[]; +extern const u8 gText_PokenavMap_ZoomedOutButtons[]; +extern const u8 gText_PokenavMap_ZoomedInButtons[]; +extern const u8 gText_PokenavCondition_MonListButtons[]; +extern const u8 gText_PokenavCondition_MonStatusButtons[]; +extern const u8 gText_PokenavCondition_MarkingButtons[]; +extern const u8 gText_PokenavMatchCall_TrainerListButtons[]; +extern const u8 gText_PokenavMatchCall_CallMenuButtons[]; +extern const u8 gText_PokenavMatchCall_CheckTrainerButtons[]; +extern const u8 gText_PokenavRibbons_MonListButtons[]; +extern const u8 gText_PokenavRibbons_RibbonListButtons[]; +extern const u8 gText_PokenavRibbons_RibbonCheckButtons[]; extern const u8 gUnknown_085EAD37[]; extern const u8 gUnknown_085EAD41[]; diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c index a7ea1b7dc6..7a3b51c21b 100644 --- a/src/pokenav_main_menu.c +++ b/src/pokenav_main_menu.c @@ -15,28 +15,28 @@ enum { - NAVGEAR_GFX_MAIN_MENU, - NAVGEAR_GFX_CONDITION_MENU, - NAVGEAR_GFX_RIBBONS_MENU, - NAVGEAR_GFX_MATCH_CALL_MENU, + POKENAV_GFX_MAIN_MENU, + POKENAV_GFX_CONDITION_MENU, + POKENAV_GFX_RIBBONS_MENU, + POKENAV_GFX_MATCH_CALL_MENU, // One of these is for the zoomed-in map, and the other is for the // zoomed-out map. Don't know which is which yet. - NAVGEAR_GFX_MAP_MENU_UNK0, - NAVGEAR_GFX_MAP_MENU_UNK1, + POKENAV_GFX_MAP_MENU_UNK0, + POKENAV_GFX_MAP_MENU_UNK1, - NAVGEAR_GFX_PARTY_MENU, - NAVGEAR_GFX_SEARCH_MENU, - NAVGEAR_GFX_COOL_MENU, - NAVGEAR_GFX_BEAUTY_MENU, - NAVGEAR_GFX_CUTE_MENU, - NAVGEAR_GFX_SMART_MENU, - NAVGEAR_GFX_TOUGH_MENU, + POKENAV_GFX_PARTY_MENU, + POKENAV_GFX_SEARCH_MENU, + POKENAV_GFX_COOL_MENU, + POKENAV_GFX_BEAUTY_MENU, + POKENAV_GFX_CUTE_MENU, + POKENAV_GFX_SMART_MENU, + POKENAV_GFX_TOUGH_MENU, - NAVGEAR_GFX_MENUS_END + POKENAV_GFX_MENUS_END }; -#define NAVGEAR_GFX_SUBMENUS_START NAVGEAR_GFX_PARTY_MENU +#define POKENAV_GFX_SUBMENUS_START POKENAV_GFX_PARTY_MENU struct PokenavMainMenuResources { @@ -46,7 +46,7 @@ struct PokenavMainMenuResources u32 currentTaskId; u32 unk10; u32 unk14; - struct Sprite *spinningNavgear; + struct Sprite *spinningPokenav; struct Sprite *leftHeaderSprites[2]; struct Sprite *submenuLeftHeaderSprites[2]; u8 tilemapBuffer[0x800]; @@ -79,12 +79,12 @@ u32 LoopedTask_ScrollMenuHeaderUp(s32 a0); void sub_81C7BF8(u32 a0); -void SpriteCB_SpinningNavgear(struct Sprite* sprite); +void SpriteCB_SpinningPokenav(struct Sprite* sprite); u32 LoopedTask_InitPokenavMenu(s32 a0); -const u16 gSpinningNavgearPaletteData[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); -const u32 gSpinningNavgearGfx[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); -const u32 gUnused_SpinningNavgearGfx2[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); +const u16 gSpinningPokenavPaletteData[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); +const u32 gSpinningPokenavGfx[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); +const u32 gUnused_SpinningPokenavGfx2[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); const struct BgTemplate gPokenavMainMenuBgTemplates[] = { @@ -123,18 +123,18 @@ const struct WindowTemplate gUnknown_0861FA08[2] = const u8 *const (sMenuButtonReminders[12]) = { - gText_Navgear_ClearButtonList, - gText_NavgearMap_ZoomedOutButtons, - gText_NavgearMap_ZoomedInButtons, - gText_NavgearCondition_MonListButtons, - gText_NavgearCondition_MonStatusButtons, - gText_NavgearCondition_MarkingButtons, - gText_NavgearMatchCall_TrainerListButtons, - gText_NavgearMatchCall_CallMenuButtons, - gText_NavgearMatchCall_CheckTrainerButtons, - gText_NavgearRibbons_MonListButtons, - gText_NavgearRibbons_RibbonListButtons, - gText_NavgearRibbons_RibbonCheckButtons, + gText_Pokenav_ClearButtonList, + gText_PokenavMap_ZoomedOutButtons, + gText_PokenavMap_ZoomedInButtons, + gText_PokenavCondition_MonListButtons, + gText_PokenavCondition_MonStatusButtons, + gText_PokenavCondition_MarkingButtons, + gText_PokenavMatchCall_TrainerListButtons, + gText_PokenavMatchCall_CallMenuButtons, + gText_PokenavMatchCall_CheckTrainerButtons, + gText_PokenavRibbons_MonListButtons, + gText_PokenavRibbons_RibbonListButtons, + gText_PokenavRibbons_RibbonCheckButtons, }; const u8 gMenuButtonReminderColor[4] = @@ -142,19 +142,19 @@ const u8 gMenuButtonReminderColor[4] = 4, 1, 2, 0 }; -static const struct CompressedSpriteSheet gSpinningNavgearSpriteSheet[] = +static const struct CompressedSpriteSheet gSpinningPokenavSpriteSheet[] = { { - .data = gSpinningNavgearGfx, + .data = gSpinningPokenavGfx, .size = 0x1000, .tag = 0, } }; -static const struct SpritePalette gSpinningNavgearPalette[] = +static const struct SpritePalette gSpinningPokenavPalette[] = { { - .data = gSpinningNavgearPaletteData, + .data = gSpinningPokenavPaletteData, .tag = 0, }, {} @@ -169,32 +169,32 @@ static const struct CompressedSpriteSheet sPokenavHoenMapLeftHeaderSpriteSheet = static const struct CompressedSpriteSheet sPokenavMenuLeftHeaderSpriteSheets[] = { - [NAVGEAR_GFX_MAIN_MENU] = { + [POKENAV_GFX_MAIN_MENU] = { .data = gPokenavLeftHeaderMainMenu_Gfx, .size = 0x20, .tag = 3 }, - [NAVGEAR_GFX_CONDITION_MENU] = { + [POKENAV_GFX_CONDITION_MENU] = { .data = gPokenavLeftHeaderCondition_Gfx, .size = 0x20, .tag = 1 }, - [NAVGEAR_GFX_RIBBONS_MENU] = { + [POKENAV_GFX_RIBBONS_MENU] = { .data = gPokenavLeftHeaderRibbons_Gfx, .size = 0x20, .tag = 2 }, - [NAVGEAR_GFX_MATCH_CALL_MENU] = { + [POKENAV_GFX_MATCH_CALL_MENU] = { .data = gPokenavLeftHeaderMatchCall_Gfx, .size = 0x20, .tag = 4 }, - [NAVGEAR_GFX_MAP_MENU_UNK0] = { + [POKENAV_GFX_MAP_MENU_UNK0] = { .data = gPokenavLeftHeaderHoennMap_Gfx, .size = 0x20, .tag = 0 }, - [NAVGEAR_GFX_MAP_MENU_UNK1] = { + [POKENAV_GFX_MAP_MENU_UNK1] = { .data = gPokenavLeftHeaderHoennMap_Gfx, .size = 0x40, .tag = 0 @@ -203,37 +203,37 @@ static const struct CompressedSpriteSheet sPokenavMenuLeftHeaderSpriteSheets[] = static const struct CompressedSpriteSheetNoSize sPokenavSubMenuLeftHeaderSpriteSheets[] = { - [NAVGEAR_GFX_PARTY_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + [POKENAV_GFX_PARTY_MENU - POKENAV_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderParty_Gfx, .tag = 1 }, - [NAVGEAR_GFX_SEARCH_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + [POKENAV_GFX_SEARCH_MENU - POKENAV_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderSearch_Gfx, .tag = 1 }, - [NAVGEAR_GFX_COOL_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + [POKENAV_GFX_COOL_MENU - POKENAV_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderCool_Gfx, .tag = 4 }, - [NAVGEAR_GFX_BEAUTY_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + [POKENAV_GFX_BEAUTY_MENU - POKENAV_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderBeauty_Gfx, .tag = 1 }, - [NAVGEAR_GFX_CUTE_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + [POKENAV_GFX_CUTE_MENU - POKENAV_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderCute_Gfx, .tag = 2 }, - [NAVGEAR_GFX_SMART_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + [POKENAV_GFX_SMART_MENU - POKENAV_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderSmart_Gfx, .tag = 0 }, - [NAVGEAR_GFX_TOUGH_MENU - NAVGEAR_GFX_SUBMENUS_START] = { + [POKENAV_GFX_TOUGH_MENU - POKENAV_GFX_SUBMENUS_START] = { .data = gPokenavLeftHeaderTough_Gfx, .tag = 0 } }; -static const struct OamData sSpinningNavgearSpriteOam = +static const struct OamData sSpinningPokenavSpriteOam = { .y = 0, .affineMode = 0, @@ -250,7 +250,7 @@ static const struct OamData sSpinningNavgearSpriteOam = .affineParam = 0 }; -static const union AnimCmd sSpinningNavgearAnims[] = +static const union AnimCmd sSpinningPokenavAnims[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(16, 8), @@ -263,20 +263,20 @@ static const union AnimCmd sSpinningNavgearAnims[] = ANIMCMD_JUMP(0) }; -static const union AnimCmd *const sSpinningNavgearAnimTable[] = +static const union AnimCmd *const sSpinningPokenavAnimTable[] = { - sSpinningNavgearAnims + sSpinningPokenavAnims }; -static const struct SpriteTemplate sSpinningNavgearSpriteTemplate = +static const struct SpriteTemplate sSpinningPokenavSpriteTemplate = { .tileTag = 0, .paletteTag = 0, - .oam = &sSpinningNavgearSpriteOam, - .anims = sSpinningNavgearAnimTable, + .oam = &sSpinningPokenavSpriteOam, + .anims = sSpinningPokenavAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_SpinningNavgear + .callback = SpriteCB_SpinningPokenav }; static const struct OamData sPokenavLeftHeaderHoenMapSpriteOam = @@ -727,48 +727,48 @@ void InitPokenavMainMenuResources(void) u8 spriteId; struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - for (i = 0; i < ARRAY_COUNT(gSpinningNavgearSpriteSheet); i++) - LoadCompressedSpriteSheet(&gSpinningNavgearSpriteSheet[i]); + for (i = 0; i < ARRAY_COUNT(gSpinningPokenavSpriteSheet); i++) + LoadCompressedSpriteSheet(&gSpinningPokenavSpriteSheet[i]); - Pokenav_AllocAndLoadPalettes(gSpinningNavgearPalette); + Pokenav_AllocAndLoadPalettes(gSpinningPokenavPalette); structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); - spriteId = CreateSprite(&sSpinningNavgearSpriteTemplate, 220, 12, 0); - structPtr->spinningNavgear = &gSprites[spriteId]; + spriteId = CreateSprite(&sSpinningPokenavSpriteTemplate, 220, 12, 0); + structPtr->spinningPokenav = &gSprites[spriteId]; } void CleanupPokenavMainMenuResources(void) { struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - DestroySprite(structPtr->spinningNavgear); + DestroySprite(structPtr->spinningPokenav); FreeSpriteTilesByTag(0); FreeSpritePaletteByTag(0); } -void SpriteCB_SpinningNavgear(struct Sprite *sprite) +void SpriteCB_SpinningPokenav(struct Sprite *sprite) { // If the background starts scrolling, follow it. sprite->pos2.y = (GetBgY(0) / 256u) * -1; } -struct Sprite *PauseSpinningNavgearSprite(void) +struct Sprite *PauseSpinningPokenavSprite(void) { struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - structPtr->spinningNavgear->callback = SpriteCallbackDummy; - return structPtr->spinningNavgear; + structPtr->spinningPokenav->callback = SpriteCallbackDummy; + return structPtr->spinningPokenav; } -void ResumeSpinningNavgearSprite(void) +void ResumeSpinningPokenavSprite(void) { struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - structPtr->spinningNavgear->pos1.x = 220; - structPtr->spinningNavgear->pos1.y = 12; - structPtr->spinningNavgear->callback = SpriteCB_SpinningNavgear; - structPtr->spinningNavgear->invisible = FALSE; - structPtr->spinningNavgear->oam.priority = 0; - structPtr->spinningNavgear->subpriority = 0; + structPtr->spinningPokenav->pos1.x = 220; + structPtr->spinningPokenav->pos1.y = 12; + structPtr->spinningPokenav->callback = SpriteCB_SpinningPokenav; + structPtr->spinningPokenav->invisible = FALSE; + structPtr->spinningPokenav->oam.priority = 0; + structPtr->spinningPokenav->subpriority = 0; } void InitHoenMapHeaderSprites(void) @@ -797,10 +797,10 @@ void InitHoenMapHeaderSprites(void) void LoadLeftHeaderGfxForIndex(u32 arg0) { - if (arg0 < NAVGEAR_GFX_SUBMENUS_START) + if (arg0 < POKENAV_GFX_SUBMENUS_START) LoadLeftHeaderGfxForMenu(arg0); else - LoadLeftHeaderGfxForSubMenu(arg0 - NAVGEAR_GFX_SUBMENUS_START); + LoadLeftHeaderGfxForSubMenu(arg0 - POKENAV_GFX_SUBMENUS_START); } void sub_81C7E14(u32 arg0) @@ -818,7 +818,7 @@ void LoadLeftHeaderGfxForMenu(u32 index) struct PokenavMainMenuResources *structPtr; u32 size, tag; - if (index >= NAVGEAR_GFX_SUBMENUS_START) + if (index >= POKENAV_GFX_SUBMENUS_START) return; structPtr = GetSubstructPtr(0); @@ -829,7 +829,7 @@ void LoadLeftHeaderGfxForMenu(u32 index) RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sPokenavMenuLeftHeaderSpriteSheets[index].size; - if (index == NAVGEAR_GFX_MAP_MENU_UNK0 || index == NAVGEAR_GFX_MAP_MENU_UNK1) + if (index == POKENAV_GFX_MAP_MENU_UNK0 || index == POKENAV_GFX_MAP_MENU_UNK1) structPtr->leftHeaderSprites[1]->pos2.x = 56; else structPtr->leftHeaderSprites[1]->pos2.x = 64; @@ -839,7 +839,7 @@ void LoadLeftHeaderGfxForSubMenu(u32 arg0) { u32 size, tag; - if (arg0 >= NAVGEAR_GFX_MENUS_END - NAVGEAR_GFX_SUBMENUS_START) + if (arg0 >= POKENAV_GFX_MENUS_END - POKENAV_GFX_SUBMENUS_START) return; tag = sPokenavSubMenuLeftHeaderSpriteSheets[arg0].tag; diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c index 7443c0bdba..67d5d5cf91 100644 --- a/src/pokenav_match_call_ui.c +++ b/src/pokenav_match_call_ui.c @@ -121,9 +121,9 @@ static const u8 sPokenavColors_0861FBE4[] = static const u8 *const sMatchCallFieldNames[] = { - gText_NavgearMatchCall_Strategy, - gText_NavgearMatchCall_TrainerPokemon, - gText_NavgearMatchCall_SelfIntroduction + gText_PokenavMatchCall_Strategy, + gText_PokenavMatchCall_TrainerPokemon, + gText_PokenavMatchCall_SelfIntroduction }; static const u8 sMatchCallFieldColors[] = diff --git a/src/strings.c b/src/strings.c index 12cf9cacfa..ac7a327097 100644 --- a/src/strings.c +++ b/src/strings.c @@ -962,21 +962,21 @@ const u8 gUnknown_085EBE7D[] = _("DETAIL"); const u8 gUnknown_085EBE84[] = _("CALL"); const u8 gUnknown_085EBE89[] = _("EXIT"); const u8 gUnknown_085EBE8E[] = _("Can't call opponent here."); -const u8 gText_NavgearMatchCall_Strategy[] = _("STRATEGY"); -const u8 gText_NavgearMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON"); -const u8 gText_NavgearMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION"); -const u8 gText_Navgear_ClearButtonList[] = _("{CLEAR 0x80}"); -const u8 gText_NavgearMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); -const u8 gText_NavgearMap_ZoomedInButtons[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MonListButtons[] = _("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MonStatusButtons[] = _("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MarkingButtons[] = _("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_TrainerListButtons[] = _("{A_BUTTON}MENU {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_CallMenuButtons[] = _("{A_BUTTON}OK {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_CheckTrainerButtons[] = _("{B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_MonListButtons[] = _("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_RibbonListButtons[] = _("{A_BUTTON}CHECK {B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_RibbonCheckButtons[] = _("{B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_Strategy[] = _("STRATEGY"); +const u8 gText_PokenavMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON"); +const u8 gText_PokenavMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION"); +const u8 gText_Pokenav_ClearButtonList[] = _("{CLEAR 0x80}"); +const u8 gText_PokenavMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); +const u8 gText_PokenavMap_ZoomedInButtons[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MonListButtons[] = _("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MonStatusButtons[] = _("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MarkingButtons[] = _("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_TrainerListButtons[] = _("{A_BUTTON}MENU {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_CallMenuButtons[] = _("{A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_CheckTrainerButtons[] = _("{B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_MonListButtons[] = _("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_RibbonListButtons[] = _("{A_BUTTON}CHECK {B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_RibbonCheckButtons[] = _("{B_BUTTON}CANCEL"); const u8 gText_NatureSlash[] = _("NATURE/"); const u8 gText_TrainerCloseBy[] = _("That TRAINER is close by.\nTalk to the TRAINER in person!"); const u8 gText_InParty[] = _("IN PARTY"); From 8de9c2d91227a8e2b3684d6fa50844e9a4a89477 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 7 Apr 2019 18:31:01 -0400 Subject: [PATCH 84/84] First round of fixes --- src/field_screen_effect.c | 4 +-- src/pokenav.c | 1 - src/pokenav_main_menu.c | 64 +++++++++++++++-------------------- src/pokenav_match_call_data.c | 6 ++-- src/pokenav_match_call_ui.c | 22 ++++++------ sym_ewram.txt | 4 +-- 6 files changed, 45 insertions(+), 56 deletions(-) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 5769f44afa..9a5d471569 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1132,7 +1132,7 @@ static void sub_80B0318(u8 taskId) data[0] = 1; break; case 1: - sub_8199DF0(0, 17, 0, 1); + sub_8199DF0(0, PIXEL_FILL(1), 0, 1); sub_80B028C(data[1]); sub_80B003C(data[2], data[3], 1, 160, 1, 2); data[0] = 2; @@ -1179,7 +1179,7 @@ static void sub_80B0318(u8 taskId) if (sub_80B02C8(data[5]) == TRUE) { data[0] = 5; - sub_8199DF0(0, 0, 0, 1); + sub_8199DF0(0, PIXEL_FILL(0), 0, 1); } } break; diff --git a/src/pokenav.c b/src/pokenav.c index b70d665998..68cdb0e896 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -278,7 +278,6 @@ u32 (*const PokenavMenuCallbacks[15][7])(void) = }, }; - EWRAM_DATA u8 gNextLoopedTaskId = 0; EWRAM_DATA struct PokenavResources *gPokenavResources = NULL; diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c index 7a3b51c21b..a0d00f1e69 100644 --- a/src/pokenav_main_menu.c +++ b/src/pokenav_main_menu.c @@ -71,7 +71,7 @@ void ShowLeftHeaderSubmenuSprites(u32 arg0, bool32 arg1); void MoveLeftHeader(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3); void SpriteCB_MoveLeftHeader(struct Sprite *sprite); void InitPokenavMainMenuResources(void); -void InitHoenMapHeaderSprites(void); +void InitHoennMapHeaderSprites(void); void sub_81C7B74(void); void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 a1, u32 a2); u32 LoopedTask_ScrollMenuHeaderDown(s32 a0); @@ -121,7 +121,7 @@ const struct WindowTemplate gUnknown_0861FA08[2] = }, }; -const u8 *const (sMenuButtonReminders[12]) = +const u8 *const sMenuButtonReminders[12] = { gText_Pokenav_ClearButtonList, gText_PokenavMap_ZoomedOutButtons, @@ -137,9 +137,9 @@ const u8 *const (sMenuButtonReminders[12]) = gText_PokenavRibbons_RibbonCheckButtons, }; -const u8 gMenuButtonReminderColor[4] = +const u8 gMenuButtonReminderColor[3] = { - 4, 1, 2, 0 + 4, 1, 2 }; static const struct CompressedSpriteSheet gSpinningPokenavSpriteSheet[] = @@ -151,7 +151,7 @@ static const struct CompressedSpriteSheet gSpinningPokenavSpriteSheet[] = } }; -static const struct SpritePalette gSpinningPokenavPalette[] = +static const struct SpritePalette gSpinningNavgearPalettes[] = { { .data = gSpinningPokenavPaletteData, @@ -160,7 +160,7 @@ static const struct SpritePalette gSpinningPokenavPalette[] = {} }; -static const struct CompressedSpriteSheet sPokenavHoenMapLeftHeaderSpriteSheet = +static const struct CompressedSpriteSheet sPokenavHoennMapLeftHeaderSpriteSheet = { .data = gPokenavLeftHeaderHoennMap_Gfx, .size = 0xC00, @@ -236,18 +236,15 @@ static const struct CompressedSpriteSheetNoSize sPokenavSubMenuLeftHeaderSpriteS static const struct OamData sSpinningPokenavSpriteOam = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = 0, // FIXME: Use SPRITE_SHAPE + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), .x = 0, - .matrixNum = 0, - .size = 2, // FIXME: Use SPRITE_SIZE + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 0, .paletteNum = 0, - .affineParam = 0 }; static const union AnimCmd sSpinningPokenavAnims[] = @@ -279,45 +276,40 @@ static const struct SpriteTemplate sSpinningPokenavSpriteTemplate = .callback = SpriteCB_SpinningPokenav }; -static const struct OamData sPokenavLeftHeaderHoenMapSpriteOam = +static const struct OamData sPokenavLeftHeaderHoennMapSpriteOam = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = 1, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), .x = 0, - .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 1, .paletteNum = 0, - .affineParam = 0 }; static const struct OamData sUnknown_0861FB24 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 1, .paletteNum = 0, - .affineParam = 0 }; -static const struct SpriteTemplate sPokenavLeftHeaderHoenMapSpriteTemplate = +static const struct SpriteTemplate sPokenavLeftHeaderHoennMapSpriteTemplate = { .tileTag = 2, .paletteTag = 1, - .oam = &sPokenavLeftHeaderHoenMapSpriteOam, + .oam = &sPokenavLeftHeaderHoennMapSpriteOam, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -408,7 +400,7 @@ u32 LoopedTask_InitPokenavMenu(s32 a0) return LT_PAUSE; InitPokenavMainMenuResources(); - InitHoenMapHeaderSprites(); + InitHoennMapHeaderSprites(); ShowBg(0); return LT_FINISH; default: @@ -730,7 +722,7 @@ void InitPokenavMainMenuResources(void) for (i = 0; i < ARRAY_COUNT(gSpinningPokenavSpriteSheet); i++) LoadCompressedSpriteSheet(&gSpinningPokenavSpriteSheet[i]); - Pokenav_AllocAndLoadPalettes(gSpinningPokenavPalette); + Pokenav_AllocAndLoadPalettes(gSpinningNavgearPalettes); structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); spriteId = CreateSprite(&sSpinningPokenavSpriteTemplate, 220, 12, 0); structPtr->spinningPokenav = &gSprites[spriteId]; @@ -771,17 +763,17 @@ void ResumeSpinningPokenavSprite(void) structPtr->spinningPokenav->subpriority = 0; } -void InitHoenMapHeaderSprites(void) +void InitHoennMapHeaderSprites(void) { s32 i, spriteId; struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - LoadCompressedSpriteSheet(&sPokenavHoenMapLeftHeaderSpriteSheet); + LoadCompressedSpriteSheet(&sPokenavHoennMapLeftHeaderSpriteSheet); AllocSpritePalette(1); AllocSpritePalette(2); for (i = 0; i < (s32)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) { - spriteId = CreateSprite(&sPokenavLeftHeaderHoenMapSpriteTemplate, 0, 0, 1); + spriteId = CreateSprite(&sPokenavLeftHeaderHoennMapSpriteTemplate, 0, 0, 1); structPtr->leftHeaderSprites[i] = &gSprites[spriteId]; structPtr->leftHeaderSprites[i]->invisible = TRUE; structPtr->leftHeaderSprites[i]->pos2.x = i * 64; diff --git a/src/pokenav_match_call_data.c b/src/pokenav_match_call_data.c index 1f621922db..773a5be3a8 100644 --- a/src/pokenav_match_call_data.c +++ b/src/pokenav_match_call_data.c @@ -422,7 +422,7 @@ static const match_call_text_data_t sMayTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct4 sMayMatchCallHeader = +static const struct MatchCallStruct4 sBrendanMatchCallHeader = { .type = 4, .gender = MALE, @@ -451,7 +451,7 @@ static const match_call_text_data_t sBrendanTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct4 sBrendanMatchCallHeader = +static const struct MatchCallStruct4 sMayMatchCallHeader = { .type = 4, .gender = FEMALE, @@ -728,8 +728,8 @@ static const struct MatchCallStruct5 sWallaceMatchCallHeader = static const match_call_t sMatchCallHeaders[] = { {.type0 = &sMrStoneMatchCallHeader}, {.type3 = &sProfBirchMatchCallHeader}, - {.type4 = &sBrendanMatchCallHeader}, {.type4 = &sMayMatchCallHeader}, + {.type4 = &sBrendanMatchCallHeader}, {.type2 = &sWallyMatchCallHeader}, {.type5 = &sNormanMatchCallHeader}, {.type0 = &sMomMatchCallHeader}, diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c index 67d5d5cf91..c4591da373 100644 --- a/src/pokenav_match_call_ui.c +++ b/src/pokenav_match_call_ui.c @@ -136,7 +136,7 @@ static const u8 sUnknown_0861FBF7[] = 2, 4, 6, 7, 0 }; -static const struct CompressedSpriteSheet sMatchcallArrowSpriteSheet[] = +static const struct CompressedSpriteSheet sMatchcallArrowSpriteSheets[] = { { .data = sMatchcallArrowSpriteSheetData, @@ -145,7 +145,7 @@ static const struct CompressedSpriteSheet sMatchcallArrowSpriteSheet[] = } }; -static const struct SpritePalette sMatchcallArrowPalette[] = +static const struct SpritePalette sMatchcallArrowPalettes[] = { { .data = sMatchcallArrowPaletteData, @@ -160,9 +160,9 @@ static const struct OamData sMatchCallRightArrowSpriteOam = .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .bpp = ST_OAM_4BPP, - .shape = 2, //SPRITE_SHAPE(16x8), + .shape = SPRITE_SHAPE(8x16), .x = 0, - .size = 0, //SPRITE_SIZE(16x8), + .size = SPRITE_SIZE(8x16), .tileNum = 0, .priority = 2, .paletteNum = 0 @@ -185,9 +185,9 @@ static const struct OamData sMatchCallUpDownArrowSpriteOam = .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .bpp = ST_OAM_4BPP, - .shape = 1, //SPRITE_SHAPE(8x16), + .shape = SPRITE_SHAPE(16x8), .x = 0, - .size = 0, //SPRITE_SIZE(8x16), + .size = SPRITE_SIZE(16x8), .tileNum = 0, .priority = 2, .paletteNum = 0 @@ -282,10 +282,8 @@ u32 LoopedTask_sub_81C8254(s32 a0) void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0) { u16 v1 = (a0->unk0.unk0.unk1 << 12) | a0->unk0.unk0.unk6; - // TODO: When #553 is merged, use a PALETTE_NUM_TO_FILL_VALUE(1) macro here... - sub_8199DF0(a0->unk0.unk0.bg, 0x11, a0->unk0.unk0.unk6, 1); - // ...and PALETTE_NUM_TO_FILL_VALUE(4) here. - sub_8199DF0(a0->unk0.unk0.bg, 0x44, a0->unk0.unk0.unk6 + 1, 1); + sub_8199DF0(a0->unk0.unk0.bg, PIXEL_FILL(1), a0->unk0.unk0.unk6, 1); + sub_8199DF0(a0->unk0.unk0.bg, PIXEL_FILL(4), a0->unk0.unk0.unk6 + 1, 1); SetBgTilemapBuffer(a0->unk0.unk0.bg, a0->tilemapBuffer); FillBgTilemapBufferRect_Palette0(a0->unk0.unk0.bg, v1, 0, 0, 32, 32); ChangeBgY(a0->unk0.unk0.bg, 0, 0); @@ -1086,11 +1084,11 @@ void sub_81C8ED0(void) u32 i; const struct CompressedSpriteSheet *ptr; - for (i = 0, ptr = sMatchcallArrowSpriteSheet; i < ARRAY_COUNT(sMatchcallArrowSpriteSheet); ptr++, i++) + for (i = 0, ptr = sMatchcallArrowSpriteSheets; i < ARRAY_COUNT(sMatchcallArrowSpriteSheets); ptr++, i++) { LoadCompressedSpriteSheet(ptr); } - Pokenav_AllocAndLoadPalettes(sMatchcallArrowPalette); + Pokenav_AllocAndLoadPalettes(sMatchcallArrowPalettes); } void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) diff --git a/sym_ewram.txt b/sym_ewram.txt index 86602e89d6..acb0863c39 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -168,8 +168,8 @@ gUnknown_02022D00: @ 2022D00 .include "src/pokemon_summary_screen.o" .include "src/unk_pokedex_area_screen_helper.o" .include "src/battle_pyramid_bag.o" - .include "src/pokenav.o" - .include "src/pokenav_match_call_ui.o" + .include "src/pokenav.o" + .include "src/pokenav_match_call_ui.o" .include "src/menu_specialized.o" .include "src/faraway_island.o" .include "src/trainer_hill.o"